This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/79178] Configuration tests for ISO-C99 support use invalid standards compliance specs


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 ***

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]