[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