This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/79178] Configuration tests for ISO-C99 support use invalid standards compliance specs
- From: "redi at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 22 Jan 2017 16:29:43 +0000
- Subject: [Bug libstdc++/79178] Configuration tests for ISO-C99 support use invalid standards compliance specs
- Auto-submitted: auto-generated
- References: <bug-79178-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79178
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |DUPLICATE
Target Milestone|--- |6.0
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The whole point of the test is to see if those functions are available in C++98
mode. On some targets they are, and so the macro gets set. Using -std=c++11 for
the configure tests would completely break things, because we would detect the
functions are available, and then when someone compiles with -std=c++98 the
functions would be missing and it would fail to compile. At least what happens
today is some features are just not supported on MinGW, rather than -std=c++98
being completely unusable.
If you look at GCC 6 you'll see separate tests for those functions using
-std=c++98 and -std=c++11, defining separate macros _GLIBCXX98_USE_C99_STDLIB
and _GLIBCXX11_USE_C99_STDLIB indicating whether the functions are available
always, or only for C++11 and higher.
So the solution for MinGW would be to use a newer GCC that already works much
better for MinGW (and Cygwin too).
*** This bug has been marked as a duplicate of bug 61580 ***