https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117151
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to vincenzo Innocente from comment #0) > Not sure if it is intended or not but > if _GLIBCXX_USE_C99_COMPLEX is defined to be "0" (say on the command line) That's undefined behaviour, it's an internal macro for internal use. > 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... Don't do that, it's undefined.