qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] pixman: remove -Wredundand-decls


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH] pixman: remove -Wredundand-decls
Date: Tue, 16 Apr 2013 13:51:07 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 16.04.2013 um 11:00 hat Markus Armbruster geschrieben:
> Alexey Kardashevskiy <address@hidden> writes:
> 
> > On 04/16/2013 01:55 AM, Markus Armbruster wrote:
> >> Alexey Kardashevskiy <address@hidden> writes:
> >>
> >>> On 04/15/2013 10:57 PM, Markus Armbruster wrote:
> >>>> Alexey Kardashevskiy <address@hidden> writes:
> >>>>
> >>>>> On 04/15/2013 08:01 PM, Peter Maydell wrote:
> >>>>>> On 15 April 2013 10:50, Alexey Kardashevskiy <address@hidden> wrote:
> >>>>>>> /home/alexey/pcipassthru/qemu-impreza/../lib4qemu/usr/include/assert.h:67:13:
> >>>>>>> error: redundant redeclaration of '__assert_fail'
> >>>>>>> [-Werror=redundant-decls]
> >>>>>>> /home/alexey/pcipassthru/qemu-impreza/../lib4qemu/usr/include/assert.h:67:13:
> >>>>>>> note: previous declaration of '__assert_fail' was here
> >>>>>>> /home/alexey/pcipassthru/qemu-impreza/../lib4qemu/usr/include/assert.h:72:13:
> >>>>>>> error: redundant redeclaration of '__assert_perror_fail'
> >>>>>>> [-Werror=redundant-decls]
> >>>>>>
> >>>>>> This copy of assert.h seems to be broken. The declarations
> >>>>>> should be guarded (by _ASSERT_H_DECLS in my system's copy).
> >>>>>
> >>>>> Debian? It uses eglibc which is fork (or clone?) of glibc.
> >>>>>
> >>>>>> If it's widespread we might have to work around this.
> >>>>>
> >>>>> It is in fedora 18 and glibc's git master branch. Why "if"?
> >>>>
> >>>> It's in Fedora 17, too, but I *don't* get a warning.  Suspecting your
> >>>> compiler.  --version?
> >>>
> >>>
> >>> powerpc64-linux-gcc 4.6.3, 4.7.2, 4.8.0, all the same. I'll try to
> >>> track it down tomorrow why it all works when host and target are the
> >>> same (pretty sure this is the cse) but I just do not get it... It is
> >>> just me who sees obvious error in assert.h which is caused by
> >>> -Wno-redundant-decls? Even if you do not hit this now, you will get
> >>> there eventually.
> >>
> >> I don't doubt your gcc+libc is in error.  I just don't want to lose a
> >> useful warning because of that.
> >>
> >> Workaround: configure --disable-werror
> >
> > This workaround does NOT work if pragmas used. "#pragma GCC diagnostic
> > error "-Wredundant-decls"" re-enables warnings as errors.
> 
> Bummer.  Could you try the appended patch?
> 
> diff --git a/configure b/configure
> index 0788e27..41097a2 100755
> --- a/configure
> +++ b/configure
> @@ -3244,8 +3244,10 @@ fi
>  
>  pragma_disable_unused_but_set=no
>  cat > $TMPC << EOF
> +#pragma GCC diagnostic push
>  #pragma GCC diagnostic ignored "-Wunused-but-set-variable"
>  #pragma GCC diagnostic ignored "-Wstrict-prototypes"
> +#pragma GCC diagnostic pop

Breaks gcc < 4.6, which doesn't have push/pop yet.

Kevin



reply via email to

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