qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: Markus Armbruster <armbru@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	qemu-devel@nongnu.org, Blue Swirl <blauwirbel@gmail.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH] pixman: remove -Wredundand-decls
Date: Tue, 16 Apr 2013 13:16:37 +1000	[thread overview]
Message-ID: <516CC295.8010505@ozlabs.ru> (raw)
In-Reply-To: <516C83AE.9040800@ozlabs.ru>

On 04/16/2013 08:48 AM, Alexey Kardashevskiy wrote:
> On 04/16/2013 01:55 AM, Markus Armbruster wrote:
>> Alexey Kardashevskiy <aik@ozlabs.ru> writes:
>>
>>> On 04/15/2013 10:57 PM, Markus Armbruster wrote:
>>>> Alexey Kardashevskiy <aik@ozlabs.ru> writes:
>>>>
>>>>> On 04/15/2013 08:01 PM, Peter Maydell wrote:
>>>>>> On 15 April 2013 10:50, Alexey Kardashevskiy <aik@ozlabs.ru> 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?



[aik@aik ~]$ cp /usr/include/assert.h ./
[aik@aik ~]$
[aik@aik ~]$ 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; }
[aik@aik ~]$
[aik@aik ~]$ gcc a.c -o a
[aik@aik ~]$ 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
[aik@aik ~]$




-- 
Alexey

  reply	other threads:[~2013-04-16  3:16 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-15  2:31 [Qemu-devel] [PATCH] pixman: remove -Wredundand-decls Alexey Kardashevskiy
2013-04-15  7:08 ` Markus Armbruster
2013-04-15  7:12   ` Alexey Kardashevskiy
2013-04-15  8:23     ` Markus Armbruster
2013-04-15  9:50       ` Alexey Kardashevskiy
2013-04-15 10:01         ` Peter Maydell
2013-04-15 10:40           ` Peter Maydell
2013-04-15 10:52           ` Alexey Kardashevskiy
2013-04-15 11:00             ` Peter Maydell
2013-04-15 11:08               ` Alexey Kardashevskiy
2013-04-15 11:14                 ` Peter Maydell
2013-04-15 11:20                   ` Alexey Kardashevskiy
2013-04-15 12:57             ` Markus Armbruster
2013-04-15 13:03               ` Alexey Kardashevskiy
2013-04-15 15:55                 ` Markus Armbruster
2013-04-15 22:48                   ` Alexey Kardashevskiy
2013-04-16  3:16                     ` Alexey Kardashevskiy [this message]
2013-04-16  7:57                       ` Markus Armbruster
2013-04-16  9:22                         ` Paolo Bonzini
2013-04-16 10:29                           ` Markus Armbruster
2013-04-16 10:54                           ` Alexey Kardashevskiy
2013-04-16 11:12                             ` Paolo Bonzini
2013-04-16 11:52                               ` Markus Armbruster
2013-04-16  9:00                     ` Markus Armbruster
2013-04-16 10:54                       ` Alexey Kardashevskiy
2013-04-16 11:51                       ` Kevin Wolf
2013-04-16 12:12                         ` Markus Armbruster
2013-04-15  7:18 ` Peter Maydell
2013-04-15  7:26   ` Alexey Kardashevskiy
2013-04-15  7:30     ` Peter Maydell
2013-04-15  7:45       ` Alexey Kardashevskiy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=516CC295.8010505@ozlabs.ru \
    --to=aik@ozlabs.ru \
    --cc=armbru@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=kraxel@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).