r253581 - in /trunk/libstdc++-v3: ChangeLog inc...

redi@gcc.gnu.org redi@gcc.gnu.org
Tue Oct 10 11:25:00 GMT 2017


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



More information about the Libstdc++-cvs mailing list