[Info-vax] Error Messages in Basic - %BASIC-E-PARMODNOT, mode for parameter <n> of routine <procedure-name> not as declared

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Jun 12 13:06:27 EDT 2019


On 2019-06-10 05:24:51 +0000, Simon Clubley said:

> I was initially amused that you used the words "strongly typed" to 
> describe C (and was going to say as much), but thinking about it I 
> suppose, compared to Basic, you are probably right to say that provided 
> you think of it as a relative, not absolute, definition.

Crank up the C settings on your compilation, if you've not already done so...

CC 
/WARN=(VERBOSE,ENABLE=(LEVEL4,QUESTCODE))/STANDARD=PORTABLE/ACCEPT=NOVAXC_KEYWORDS 
  etc...

With /STANDARD=C99 lit, depending on the requirements.  Having the rest 
of the headers and the APIs will be handy.

The analogous clang diagnostics are really quite good, and I routinely 
run with those enabled.  The default source code fixes that get 
suggested are quite good, too.

Depending on what's going on and the intent of the code...

...Use -Wall and add a few specific flags such as -pedantic and -Wextra

...Or use the kitchen-sink -Weverything and then use -Wno{whatever} or 
other approaches to remove or to suppress specific "expected" 
diagnostics.

The former gets a known set of diagnostics.  The latter also gets a 
known set of diagnostics, and new diagnostics as they are implemented.  
This akin to the ripples that /STANDARD=LATEST use will eventually 
cause for some folks, as C11 and C18 support arrives. I don't usually 
use -Weverything on every build.  Typically during specific app 
build-related testing, such as testing or troubleshooting an app in a 
new or changed environment. Or when there's a weird bug that's not 
being surfaced through other means.

There was a recent discussion on app crashes and crash-related 
debugging and some comments around the OpenVMS tooling here, and here's 
an example from another clang-using platform:

https://developer.apple.com/library/archive/technotes/tn2151/_index.html
https://developer.apple.com/support/debugging/

The crash collection mechanisms—telemetry—are very handy, whether for 
isolated crashes or for detecting other and potentially malicious 
activities.



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list