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: Tue, 16 Apr 2013 13:16:37 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130402 Thunderbird/17.0.5

On 04/16/2013 08:48 AM, Alexey Kardashevskiy wrote:
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.


Kind of offtopic but still...

I think this is just beautiful. Fedora18, x86_64, NO cross compiler. gcc does not apply -Wredundant-decls to /usr/include/* but does it for all other headers and in the case of cross compilation I hit this case.

Does anyone know the way to tell gcc that libc headers are not at /usr/include but somewhere else?



address@hidden ~]$ cp /usr/include/assert.h ./
address@hidden ~]$
address@hidden ~]$ cat a.c
#pragma GCC diagnostic error "-Wredundant-decls"

#ifdef USEMINE
#include "assert.h"
#include "assert.h"
#else
#include <assert.h>
#include <assert.h>
#endif

int main(int argc, char **argv){ return 0; }
address@hidden ~]$
address@hidden ~]$ gcc a.c -o a
address@hidden ~]$ gcc a.c -o a -DUSEMINE
In file included from a.c:5:0:
assert.h:68:13: error: redundant redeclaration of ‘__assert_fail’ [-Werror=redundant-decls]
In file included from a.c:4:0:
assert.h:68:13: note: previous declaration of ‘__assert_fail’ was here
In file included from a.c:5:0:
assert.h:73:13: error: redundant redeclaration of ‘__assert_perror_fail’ [-Werror=redundant-decls]
In file included from a.c:4:0:
assert.h:73:13: note: previous declaration of ‘__assert_perror_fail’ was here
In file included from a.c:5:0:
assert.h:80:13: error: redundant redeclaration of ‘__assert’ [-Werror=redundant-decls]
In file included from a.c:4:0:
assert.h:80:13: note: previous declaration of ‘__assert’ was here
cc1: some warnings being treated as errors
address@hidden ~]$




--
Alexey



reply via email to

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