[adding bug-gnulib] On 05/13/2013 06:17 AM, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > > 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 <berrange@xxxxxxxxxx> > --- > m4/virt-compile-warnings.m4 | 3 +++ > src/internal.h | 2 +- > 2 files changed, 4 insertions(+), 1 deletion(-) ACK. Hmm, I wonder if gnulib should use something similar, for the places where it uses pragma gcc push. > > diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4 > index e054913..fbeb3eb 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 d819aa3..03c2493 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\"") > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list