https://gcc.gnu.org/bugzilla/show_bug.cgi?id=13071
--- Comment #10 from Harald van Dijk <harald at gigawatt dot nl> --- (In reply to Jonathan Wakely from comment #9) > (In reply to Harald van Dijk from comment #8) > > (In reply to Andrew Pinski from comment #7) > > > Isn't doing the extern "C" around standard C++ headers declared by the C++ > > > standard as undefined behavior? > > > > It is (as is doing extern "C++" around standard C++ headers, for that > > matter), > > Where does it say that? It's the exact same rule as for extern "C", [using.headers]p3. (And yes, it does make a difference to not having extern "C++" around it and can cause breakage, this is not purely hypothetical, but it's much less likely to cause problems than extern "C".) > > but <complex.h> only became a standard C++ header in C++11. This > > bug is from 2003 and the comment before yours was from 2009, so I think > > <complex.h> was not a standard C++ header yet. > > Agreed. But there is no complex.h in the backward directory now. >[...] > Can we close this now? Testing with GCC 11 as provided by Ubuntu, including <complex.h> will cause GCC's c++/11/complex.h to be included, both in C++03 and in C++11 modes, but in C++03 it just delegates to glibc's <complex.h>. To me, that looks like it's fixed. -- You are receiving this mail because: You reported the bug.