From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51840) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URdsi-0007Vw-QN for qemu-devel@nongnu.org; Mon, 15 Apr 2013 03:31:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1URdsh-0003zz-8A for qemu-devel@nongnu.org; Mon, 15 Apr 2013 03:31:16 -0400 Received: from mail-wi0-x22f.google.com ([2a00:1450:400c:c05::22f]:35693) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URdsh-0003zp-2N for qemu-devel@nongnu.org; Mon, 15 Apr 2013 03:31:15 -0400 Received: by mail-wi0-f175.google.com with SMTP id c10so1218328wiw.14 for ; Mon, 15 Apr 2013 00:31:14 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <516BABA1.8030205@ozlabs.ru> References: <1365993073-4659-1-git-send-email-aik@ozlabs.ru> <516BABA1.8030205@ozlabs.ru> From: Peter Maydell Date: Mon, 15 Apr 2013 08:30:54 +0100 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH] pixman: remove -Wredundand-decls List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy Cc: Blue Swirl , David Gibson , qemu-devel@nongnu.org, Stefan Hajnoczi , Gerd Hoffmann On 15 April 2013 08:26, Alexey Kardashevskiy wrote: > On 04/15/2013 05:18 PM, Peter Maydell wrote: >> >> On 15 April 2013 03:31, Alexey Kardashevskiy 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. 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 :-( -- PMM