https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117151
Bug ID: 117151 Summary: _GLIBCXX_USE_C99_COMPLEX_ARC and _GLIBCXX_USE_C99_COMPLEX are not defined in a consistent way Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: vincenzo.innocente at cern dot ch Target Milestone: --- Not sure if it is intended or not but if _GLIBCXX_USE_C99_COMPLEX is defined to be "0" (say on the command line) it will not be redifined in x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/c++config.h while _GLIBCXX_USE_C99_COMPLEX_ARC is defined "1" unconditionally (I would have expected that _GLIBCXX_USE_C99_COMPLEX_ARC to have the same value of _GLIBCXX_USE_C99_COMPLEX ) so "c++ -D_GLIBCXX_USE_C99_COMPLEX=0 -D_GLIBCXX_USE_C99_COMPLEX_ARC=0" will use C99 functions for arc and the inline definitions for the others... see https://godbolt.org/z/oYqWW5Kqz