From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47555) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVNhc-0003Tz-Rb for qemu-devel@nongnu.org; Tue, 10 Mar 2015 13:12:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YVNhY-0005HB-QC for qemu-devel@nongnu.org; Tue, 10 Mar 2015 13:12:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42095) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVNhY-0005H5-I2 for qemu-devel@nongnu.org; Tue, 10 Mar 2015 13:12:16 -0400 Message-ID: <54FF25EB.4030705@redhat.com> Date: Tue, 10 Mar 2015 13:12:11 -0400 From: John Snow MIME-Version: 1.0 References: <1425990225-7539-1-git-send-email-stefanha@redhat.com> <1425990225-7539-3-git-send-email-stefanha@redhat.com> In-Reply-To: <1425990225-7539-3-git-send-email-stefanha@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] configure: silence glib unknown attribute __alloc_size__ List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Kevin Wolf , Peter Maydell , Stefan Weil 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 > --- > 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 > +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