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: Alexey Kardashevskiy
Subject: Re: [Qemu-devel] [PATCH] pixman: remove -Wredundand-decls
Date: Mon, 15 Apr 2013 17:45:02 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130402 Thunderbird/17.0.5

On 04/15/2013 05:30 PM, Peter Maydell wrote:
On 15 April 2013 08:26, Alexey Kardashevskiy <address@hidden> wrote:
On 04/15/2013 05:18 PM, Peter Maydell wrote:

On 15 April 2013 03:31, Alexey Kardashevskiy <address@hidden> wrote:

The assert.h header file from Fedora18 does not have #ifdef-#endif
brackets around __assertXXXX function so it cannot compile with
the -Wredundant-decls switch on.

Some Linux distributions (such as Debian Wheezy) still do have those
brackets arounb __assertXXXX functions (#ifndef _ASSERT_H_DECLS) but
the version of assert.h on http://sourceware.org/git/?p=glibc.git does
not
so we should not be using -Wredundant-decls.

The patch removes it.


This commit message seems to be missing any mention of
which versions of pixman this change breaks and why
it's OK now to break compiling against them...



The change does not _break_ anything.

The change breaks the fix that the code was put in to deal with,
ie that pixman-0.16's header files generate warnings, which the
default development qemu will turn into errors with -Werror, which
means we won't compile.

The second removed chunk in the patch is the problem as it:
1) enables -Wredundant-decls even if it was not enabled before;
2) makes -Wredundant-decls an error, not just a warning.

This is because not all versions of gcc have the push/pop warning
pragma.

Default assert.h shipped with Fedora Core 18 (pretty recent and popular
distribution, I would say) cannot compile with -Wredundant-decls as an error

This appears to be a bug in Fedora.


Rather glibc as it is still in glibc's master branch:
http://sourceware.org/git/?p=glibc.git;a=blob;f=assert/assert.h;h=1bb9b2d50f92da3b17cc0b937ecd6141a87dc196;hb=HEAD

Or am I looking at wrong git?

I guess the correct workaround for that bug is going to be either:

  * wrap assert.h the same way we wrap pixman.h
  * drop -Wredundant-decls :-(


The second option seems less ugly.


--
Alexey



reply via email to

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