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: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH] pixman: remove -Wredundand-decls
Date: Tue, 16 Apr 2013 09:57:14 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux)

Gcc issue, perhaps Paolo [cc'ed] got an idea.

Alexey Kardashevskiy <address@hidden> writes:

> 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 ~]$



reply via email to

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