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

Reply via email to