[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

marc.glisse at normalesup dot org gcc-bugzilla@gcc.gnu.org
Wed Sep 28 15:03:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773

--- Comment #121 from Marc Glisse <marc.glisse at normalesup dot org> 2011-09-28 14:20:09 UTC ---
(In reply to comment #120)
> Last plea for Standards conformance: What about only setting the correct define
> if -std=c++89/03/0x/11 is passed and keeping the old behavior for -std=gnu++*?

I don't think so. First, that would be weird. And this isn't just about
switching a #define, it comes with a lot of other changes. Besides, it wouldn't
help you at all. The only thing that the value of __cplusplus can be good for
now is distinguishing between C++03 and C++11, but even trunk doesn't set the
C++11 value, and my hope is that it won't set it until C++11 support is
essentially complete.



More information about the Gcc-bugs mailing list