about summary refs log tree commit diff
path: root/math/Makefile
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2017-10-09 14:58:34 +0100
committerFlorian Weimer <fweimer@redhat.com>2017-10-09 16:18:11 +0200
commitd6c064e914cba3277d852c9fa27db53f0059ff8c (patch)
treee8ce891a1960979738c5a262475b7487b5881883 /math/Makefile
parent645ac9aaf89e3311949828546df6334322f48933 (diff)
downloadglibc-d6c064e914cba3277d852c9fa27db53f0059ff8c.tar.gz
glibc-d6c064e914cba3277d852c9fa27db53f0059ff8c.tar.xz
glibc-d6c064e914cba3277d852c9fa27db53f0059ff8c.zip
Ensure C99 and C11 interfaces are available for C++ [BZ #21326]
This patch ensures that the C99 and C11 features required by C++ are
defined according to the value of the __cplusplus macro, and not just
because G++ always defines _GNU_SOURCE.  This will allow G++ to stop
defining _GNU_SOURCE some day, without causing the C99 and C11
interfaces to disappear for C++ programs.

	[BZ #21326]
	* include/features.h [__cplusplus >= 201103] (__USE_ISOC99): Define.
	[__cplusplus >= 201703] (__USE_ISOCXX17, __USE_ISOC11): Define.
	* math/Makefile (test-math-cxx11): New test.
	* math/test-math-cxx11.cc: New file.
Diffstat (limited to 'math/Makefile')
-rw-r--r--math/Makefile4
1 files changed, 3 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile
index 008eeb2d18..d4f9e6b6e9 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -209,7 +209,7 @@ tests-static += atest-exp atest-sincos atest-exp2
 
 ifneq (,$(CXX))
 tests += test-math-isinff test-math-iszero test-math-issignaling \
-	 test-math-iscanonical
+	 test-math-iscanonical test-math-cxx11
 endif
 
 ifneq (no,$(PERL))
@@ -354,6 +354,8 @@ CFLAGS-test-signgam-ullong-init.c = -std=c99
 CFLAGS-test-signgam-ullong-static.c = -std=c99
 CFLAGS-test-signgam-ullong-init-static.c = -std=c99
 
+CFLAGS-test-math-cxx11.cc = -std=c++11
+
 CFLAGS-test-math-isinff.cc = -std=gnu++11
 CFLAGS-test-math-iszero.cc = -std=gnu++11
 CFLAGS-test-math-issignaling.cc = -std=gnu++11