This is the mail archive of the
libstdc++-cvs@gcc.gnu.org
mailing list for the libstdc++ project.
r253581 - in /trunk/libstdc++-v3: ChangeLog inc...
- From: redi at gcc dot gnu dot org
- To: libstdc++-cvs at gcc dot gnu dot org
- Date: Tue, 10 Oct 2017 11:25:45 -0000
- Subject: r253581 - in /trunk/libstdc++-v3: ChangeLog inc...
Author: redi
Date: Tue Oct 10 11:25:45 2017
New Revision: 253581
URL: https://gcc.gnu.org/viewcvs?rev=253581&root=gcc&view=rev
Log:
PR libstdc++/82417 do not include C99 <complex.h> in strict modes
As an extension the C++ version of <complex.h> includes the C version,
but that defines macros with non-reserved names that should not be
defined in ISO C++. Only include the C header for non-strict modes, or
for pre-C++11 (because C++98 doesn't mention <complex.h> at all).
PR libstdc++/59087
PR libstdc++/82417
* include/c_compatibility/complex.h [!C++98 && __STRICT_ANSI__]: Do
not include C library's <complex.h>.
* testsuite/26_numerics/complex/c99.cc: Depend on __STRICT_ANSI__.
* testsuite/26_numerics/headers/complex.h/std_c++11.h: New test.
* testsuite/26_numerics/headers/complex.h/std_gnu++11.h: New test.
* testsuite/26_numerics/headers/complex.h/std_c++98.h: New test.
Added:
trunk/libstdc++-v3/testsuite/26_numerics/headers/complex.h/
trunk/libstdc++-v3/testsuite/26_numerics/headers/complex.h/std_c++11.h
- copied, changed from r253550, trunk/libstdc++-v3/testsuite/26_numerics/complex/c99.cc
trunk/libstdc++-v3/testsuite/26_numerics/headers/complex.h/std_c++98.h
- copied, changed from r253550, trunk/libstdc++-v3/testsuite/26_numerics/complex/c99.cc
trunk/libstdc++-v3/testsuite/26_numerics/headers/complex.h/std_gnu++11.h
- copied, changed from r253550, trunk/libstdc++-v3/testsuite/26_numerics/complex/c99.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/c_compatibility/complex.h
trunk/libstdc++-v3/testsuite/26_numerics/complex/c99.cc