This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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]

Use -std=gnu11 instead of -std=gnu99


Now that GCC 4.7 or later is required to build glibc, this patch moves
the build from using -std=gnu99 to -std=gnu11 (option added in 4.7).
This allows use of C11 features from GCC's headers, such as new
float.h macros and max_align_t.

Tested for x86_64 and x86 (testsuite; installed stripped shared
libraries are unchanged by the patch on x86_64, while I see some
slight code reordering of no significance on x86).

2015-10-27  Joseph Myers  <joseph@codesourcery.com>

	* Makeconfig (CFLAGS): Use -std=gnu11 instead of -std=gnu99.
	* Makefile ($(objpfx)c++-types-check.out): Filter out -std=gnu11
	instead of -std=gnu99.
	* configure.ac (systemtap): Test with -std=gnu11 instead of
	-std=gnu99.
	* configure: Regenerated.
	* math/gen-auto-libm-tests.c: Use -std=gnu11 instead of -std=gnu99
	in compilation command in comment.

diff --git a/Makeconfig b/Makeconfig
index c0f5e64..3c5d71e 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -882,7 +882,7 @@ CPPFLAGS = $(config-extra-cppflags) $(CPPUNDEFS) $(CPPFLAGS-config) \
 	   $(foreach lib,$(libof-$(basename $(@F))) \
 			 $(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
 	   $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
-override CFLAGS	= -std=gnu99 -fgnu89-inline $(config-extra-cflags) \
+override CFLAGS	= -std=gnu11 -fgnu89-inline $(config-extra-cflags) \
 		  $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
 		  $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
 		  $(CFLAGS-$(@F)) $(tls-model) \
diff --git a/Makefile b/Makefile
index 8ab0dbc..1d800e3 100644
--- a/Makefile
+++ b/Makefile
@@ -256,7 +256,7 @@ ifneq ($(CXX),no)
 vpath c++-types.data $(+sysdep_dirs)
 
 $(objpfx)c++-types-check.out: c++-types.data scripts/check-c++-types.sh
-	scripts/check-c++-types.sh $< $(CXX) $(filter-out -std=gnu99 $(+gccwarn-c),$(CFLAGS)) $(CPPFLAGS) > $@; \
+	scripts/check-c++-types.sh $< $(CXX) $(filter-out -std=gnu11 $(+gccwarn-c),$(CFLAGS)) $(CPPFLAGS) > $@; \
 	$(evaluate-test)
 endif
 
diff --git a/configure b/configure
index 8f4bb72..49ea581 100755
--- a/configure
+++ b/configure
@@ -3580,7 +3580,7 @@ if ${libc_cv_sdt+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     old_CFLAGS="$CFLAGS"
-  CFLAGS="-std=gnu99 $CFLAGS"
+  CFLAGS="-std=gnu11 $CFLAGS"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/sdt.h>
diff --git a/configure.ac b/configure.ac
index ad5f3cc..e5c8d46 100644
--- a/configure.ac
+++ b/configure.ac
@@ -353,7 +353,7 @@ AC_ARG_ENABLE([systemtap],
 if test "x$systemtap" != xno; then
   AC_CACHE_CHECK([for systemtap static probe support], libc_cv_sdt, [dnl
   old_CFLAGS="$CFLAGS"
-  CFLAGS="-std=gnu99 $CFLAGS"
+  CFLAGS="-std=gnu11 $CFLAGS"
   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <sys/sdt.h>
 void foo (int i, void *p)
 {
diff --git a/math/gen-auto-libm-tests.c b/math/gen-auto-libm-tests.c
index 03ec6c4..2b7bb5a 100644
--- a/math/gen-auto-libm-tests.c
+++ b/math/gen-auto-libm-tests.c
@@ -18,7 +18,7 @@
 
 /* Compile this program as:
 
-   gcc -std=gnu99 -O2 -Wall -Wextra gen-auto-libm-tests.c -lmpc -lmpfr -lgmp \
+   gcc -std=gnu11 -O2 -Wall -Wextra gen-auto-libm-tests.c -lmpc -lmpfr -lgmp \
      -o gen-auto-libm-tests
 
    (use of current MPC and MPFR versions recommended) and run it as:

-- 
Joseph S. Myers
joseph@codesourcery.com


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