[Bug bootstrap/51705] FreeBSD uses unsupported C++11 features when __cplusplus == 201103L

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Dec 29 22:30:00 GMT 2011


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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |*-*-freebsd
          Component|libstdc++                   |bootstrap
            Version|unknown                     |4.7.0
            Summary|Build infrastructure should |FreeBSD uses unsupported
                   |not use -std=c++0x until    |C++11 features when
                   |g++ properly supports it    |__cplusplus == 201103L

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-29 22:26:52 UTC ---
(In reply to comment #7)
> Thanks for the condescending email.  Testing with GCC is 
> exactly how the problem was found.  g++ is telling the
> FreeBSD libc++ developers, 'Yes, I support C++11'.  The
> FreeBSD libc++ developers are using C++11 features, and
> implementing the required C++11 library support.  g++ chokes.

Yep, the problem exists, the problem was found by testing, and the problem
needs to be fixed, but saying the problem is that libstdc++ uses C++11 features
is silly.  Suggesting that testing should be done before updating libc headers
is not condescending. Updating libc to use features supported by what? one,
maybe two compilers?  and not even testing the latest version of GCC? that's
just sloppy engineering.  Reporting failures caused by sloppy changes by saying
"C++11 support should not be used during its own compilation step" is silly.

If you're going to add support for bleeding edge language features then test
with a bleeding edge compiler. Not doing so is just silly.

Test the changes, report problems, resolve the problem, then commit the
changes.  Just making the changes and claiming there's a bug in libstdc++...
That's sloppy.

If your issue is with the value of __cplusplus, that's not set by libstdc++, so
I've set component=bootstrap.

Please follow the bug reporting guidelines at http://gcc.gnu.org/bugs/ and
describe the problem fully (e.g. version=4.7.0, target=*-*-freebsd), so a
FreeBSD maintainer has enough info to update fixincludes to fix it.



More information about the Gcc-bugs mailing list