On 7/3/2017 7:07 PM, Bruno Haible wrote:
> Hello John,
>
>> * Config.h
>>     OpenVMS needs __UNIX_PUTC macro defined for putc_unlocked
>>     and friends to be visible.
>
> The right place to do this (for a macro that affects multiple
> gnulib modules) is the 'extensions' module.

This makes it visible to the modules being built, but not to the tests in the configure script.

Which means that configure does not detect that OpenVMS provides declarations and macros for "fputc_unlocked", "putc_unlocked", and "putchar_unlocked"

Since configure did not detect them, this causes unlocked-io.h to redefine the macros above for them with different enough definitions that the OpenVMS C compiler emits a diagnostic.

Also on OpenVMS __UNIX_PUTC macro can not be used currently with the C++ compiler which defines "__cplusplus) due to an issue in that compiler according to the stdio.h header file comments.

So would the fix be to just put all the logic in unlocked-io.h for it to make visible the OpenVMS unlocked IO routines for C only?

Then it mostly does not matter if configure detects them, since they are not available to the OpenVMS c++ compiler.

Regards,
-John

Reply via email to