http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56111
--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> 2013-01-26 11:35:52 UTC --- (In reply to comment #5) > Ok, I understand. Looks like, however, we are back to my original observation > in PR54112 that in C++03 mode we have less constraints and with more leeway we > could manage to keep on supporting this? I think submitter has a point that > it's weird that we don't support anymore in C++03 mode the very simple and old > kind of code attached here. I have no idea how complex it would be and whether > it's worth it, I would like to ear from the Release managers too. What I said in comment #1 should take about 3-5 lines of macros and support this in C++03 mode, I hope. Or we could partially revert my change and only undef complex in C++11, leaving complex.h and complex as incompatible in C++03. Or even never undef complex, though it doesn't seem very conforming. Note while we are talking about this that I think it was a very bad decision from the committee to make <complex.h> an alias for <complex>. A few minor changes like in string.h are acceptable (they already cause trouble), but complex.h is a C header, and C++ has no business replacing it with something that doesn't define the same interface at all. It would have been better to not mention complex.h at all, or only as not supported, leaving it up to implementors to decide how to handle it.