John E. Malmberg
2017-07-06 12:47:09 UTC
Hello John,
gnulib modules) is the 'extensions' module.
This makes it visible to the modules being built, but not to the tests* 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 multipleOpenVMS needs __UNIX_PUTC macro defined for putc_unlocked
and friends to be visible.
gnulib modules) is the 'extensions' module.
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