From c43b685a1d3d1742a4db98950f5947c44143343f Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Mon, 13 May 2013 12:41:07 +0100 Subject: [PATCH] Ensure consistent enablement of gcc 'diagnostic' pragma The virt-compile-warnings.m4 file would do an explicit check for whether the compile could use the 'diagnostic' pragma push/pop feature. The src/internal.h file would then only enable it for GCC >= 4.6 This breaks with clang which supports the pragma but does not claim GCC 4.6 compat. Export a variable from the m4 check to the header file so they are consistent. Signed-off-by: Daniel P. Berrange --- m4/virt-compile-warnings.m4 | 3 +++ src/internal.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4 index e05491308c..fbeb3eb5e1 100644 --- a/m4/virt-compile-warnings.m4 +++ b/m4/virt-compile-warnings.m4 @@ -94,6 +94,9 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[ dontwarn="$dontwarn -Wmissing-prototypes" dontwarn="$dontwarn -Wmissing-declarations" dontwarn="$dontwarn -Wcast-align" + else + AC_DEFINE_UNQUOTED([WORKING_PRAGMA_PUSH], 1, + [Define to 1 if gcc supports pragma push/pop]) fi dnl Check whether strchr(s, char variable) causes a bogus compile diff --git a/src/internal.h b/src/internal.h index d819aa39a2..03c2493c7d 100644 --- a/src/internal.h +++ b/src/internal.h @@ -215,7 +215,7 @@ # endif /* __GNUC__ */ -# if __GNUC_PREREQ (4, 6) +# if WORKING_PRAGMA_PUSH # define VIR_WARNINGS_NO_CAST_ALIGN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wcast-align\"") -- GitLab