qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] configure: silence glib unknown attribute _


From: John Snow
Subject: Re: [Qemu-devel] [PATCH 2/2] configure: silence glib unknown attribute __alloc_size__
Date: Tue, 10 Mar 2015 13:12:11 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0



On 03/10/2015 08:23 AM, Stefan Hajnoczi wrote:
The glib headers use GCC attributes.  Unfortunately the __GNUC__ and
__GNUC_MINOR__ version macros are also defined by clang, but clang
doesn't support the same attributes as GCC.

clang 3.5.0 does not support the __alloc_size__ attribute:

   
https://github.com/llvm-mirror/clang/commit/c047507a9a79e89fc8339e074fa72822a7e7ea73

The following warning is produced:

   gstrfuncs.h:257:44: warning: unknown attribute '__alloc_size__' ignored 
[-Wunknown-attributes]
       G_GNUC_MALLOC G_GNUC_ALLOC_SIZE(2);
   gmacros.h:67:45: note: expanded from macro 'G_GNUC_ALLOC_SIZE'
       #define G_GNUC_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))

This patch checks whether glib headers cause warnings and disables
-Wunknown-attributes if that is the case.

Signed-off-by: Stefan Hajnoczi <address@hidden>
---
  configure | 10 ++++++++++
  1 file changed, 10 insertions(+)

diff --git a/configure b/configure
index 4f9f689..00740ad 100755
--- a/configure
+++ b/configure
@@ -2773,6 +2773,16 @@ if ! $pkg_config --atleast-version=2.38 glib-2.0; then
      glib_subprocess=no
  fi

+# Silence clang 3.5.0 warnings about glib attribute __alloc_size__ usage
+cat > $TMPC << EOF
+#include <glib.h>
+int main(void) { return 0; }
+EOF
+if ! compile_prog "-Werror" "" ; then
+  glib_cflags="-Wno-unknown-attributes $glib_cflags"
+  CFLAGS="-Wno-unknown-attributes $CFLAGS"
+fi
+
  ##########################################
  # SHA command probe for modules
  if test "$modules" = yes; then


Reviewed-by: John Snow <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]