[Info-vax] C99 updates to CRTL

John Reagan xyzzy1959 at gmail.com
Mon Jul 29 13:50:54 EDT 2019


On Monday, July 29, 2019 at 12:21:28 PM UTC-4, Stephen Hoffman wrote:
> On 2019-07-27 20:45:09 +0000, Simon Clubley said:
> 
> > Arne, are you _trying_ to trigger Stephen ? :-)
> > 
> > It's bad enough using logicals to alter behaviour at runtime, but at 
> > compile time as well ? :-)
> 
> There's already at least one logical name around that effects the 
> compile-time behavior.
> 
> One existing logical name effects the compile-time resolution of the 
> external references within the compiler.
> 
> Yes.  Really.
> 
> I'd prefer that C99—or whatever the latest standard supported by the 
> compiler in use—be the default behavior for the compiler, and anybody 
> that needs older behavior be required to modify their build 
> environments accordingly.  Whether that's adding /STANDARD=C90, or 
> adding to the forest of logical names that's already widely misused as 
> a configuration mechanism, or whatever...   Or updating their code.  
> The /STANDARD=VAXC K&R source code will undoubtedly live on in some 
> realms, but at least the workaround is overtly flagged.
> 
> OpenVMS has long reversed this approach, unfortunately.  Making newer 
> code and newer work more complex.  Which is absolutely the wrong 
> direction for any platform that's intended to be around and updated.
> 
> -- 
> Pure Personal Opinion | HoffmanLabs LLC

Do you have a reference?  I just searched the frontend(s) and driver(s) looking for uses of "getenv".  I see many to provide fine control over certain optimizations, lots looking for things like "TMPDIR", etc.  The only one that looks even remotely VMS'ish (ie, has a prefix) is a DECCXX$MACH_LIST_NODEMANGLE logical.

I also looked for "$TRNLNM" and only see it used for things like DECC$USER_INCLUDE, DECC$SYSTEM_INCLUDE, DECC$LIBRARY_INCLUDE, DECC$TEXT_LIBRARY, and the like.  See "$HELP CC /INCLUDE" for the full list.

That said, since the C compiler calls DECC$TO_VMS/DECC$FROM_VMS to deal with #include directives that use Unix-style filenames, any DECC$ feature logicals that would impact those filename translations will change the behavior.



More information about the Info-vax mailing list