Hi Paul,

Paul Eggert <egg...@cs.ucla.edu> writes:

> As the stdckdint.h bug in question is fixed in GCC 15.1, wouldn't it
> be better if the Gnulib workaround is used only if the bug is present
> (GCC 15.0)?

Sorry if I phrased it poorly in my previous messages. But it is not a
GCC bug.

Apparently the C++26 standard added the <stdchkint.h> header to match
C23 [1]. In accordance with this change, the
libstdc++-v3/include/c_compatibility/stdckdint.h in GCC has template
functions behind:

    #if __cplusplus > 202302L
    /* Definitions for 'ckd_*'  */
    #endif

The definitions are fine, but Autoconf does not yet support the latest
C++ standards. So we have no way of portably setting the compiler flags
if available.

Also, the C++ standards are not backwards-compatible like the C
standards generally are. Therefore, my solution allows <stdckdint.h> to
be included even in groff which uses an older C++ standard.

Collin

[1] https://en.cppreference.com/w/cpp/26

Reply via email to