[Bug libstdc++/79178] Configuration tests for ISO-C99 support use invalid standards compliance specs
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jan 22 16:30:00 GMT 2017
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 ***
More information about the Gcc-bugs
mailing list