Mesa (master): configure: check if compiler supports -Werror=vla.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Mar 18 10:54:45 UTC 2015


Module: Mesa
Branch: master
Commit: 8475526a3842580f00a043bca8f821e14e9f5eb7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8475526a3842580f00a043bca8f821e14e9f5eb7

Author: Jonathan Gray <jsg at jsg.id.au>
Date:   Tue Mar 17 13:16:05 2015 +1100

configure: check if compiler supports -Werror=vla.

Check if the compiler supports -Werror=vla before using it.
-Wvla was introduced with GCC 4.3 and is not present in 4.2.
Fixes the build on OpenBSD.

v2: Fix statement order, and quote $save_CFLAGS.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89433
Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
Signed-off-by: Jose Fonseca <jfonseca at vmware.com>

---

 configure.ac |   16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index a3b0ebd..8c90b41 100644
--- a/configure.ac
+++ b/configure.ac
@@ -278,8 +278,20 @@ if test "x$GCC" = xyes; then
     # - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which
     #   supports most of C99)
     # - the rest has no compiler compiler restrictions
-    MSVC2013_COMPAT_CFLAGS="-Werror=vla -Werror=pointer-arith"
-    MSVC2013_COMPAT_CXXFLAGS="-Werror=vla -Werror=pointer-arith"
+    MSVC2013_COMPAT_CFLAGS="-Werror=pointer-arith"
+    MSVC2013_COMPAT_CXXFLAGS="-Werror=pointer-arith"
+
+    # Enable -Werror=vla if compiler supports it
+    save_CFLAGS="$CFLAGS"
+    AC_MSG_CHECKING([whether $CC supports -Werror=vla])
+    CFLAGS="$CFLAGS -Werror=vla"
+    AC_LINK_IFELSE([AC_LANG_PROGRAM()],
+		   [MSVC2013_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=vla";
+		    MSVC2013_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS -Werror=vla";
+		    AC_MSG_RESULT([yes])],
+		    AC_MSG_RESULT([no]));
+    CFLAGS="$save_CFLAGS"
+
     MSVC2008_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=declaration-after-statement"
     MSVC2008_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS"
 fi




More information about the mesa-commit mailing list