[Info-vax] C99 updates to CRTL

John E. Malmberg wb8tyw at qsl.net_work
Mon Jul 29 20:45:43 EDT 2019


On 7/29/2019 1:20 PM, Craig A. Berry wrote:
> On Monday, July 29, 2019 at 12:50:56 PM UTC-5, John Reagan wrote:
>> 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.
> 
> 
>> 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.

There seems to be something preventing the decc$ feature logicals from 
fully impacting the C compiler.  Possibly something setting some 
defaults somewhere?  I can not remember all the experiments that I tried 
a little while ago for specifics.

The only two issues with include files that are impacting me that I 
currently remember are:

1. GNU software expects "../foobar.h" to work.
2. If Decnet IV is installed include <net/if.h> does not work.

The only work around to those two issues that I know of is to patch the 
source.

> That was going to be my guess, e.g., you might have to have
> DECC$EFS_CHARSET in order to do #include <foo.bar.h> or something
> like  that.
Does not seem to need to be set.  DEC C finds foo.bar.h in the current 
directory with both parse style settings and without DECC$EFS_CHARSET 
enabled.

Regards,
-John
wb8tyw at qsl.net_work



More information about the Info-vax mailing list