From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42883) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URg3p-0002vz-R9 for qemu-devel@nongnu.org; Mon, 15 Apr 2013 05:50:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1URg3m-0007us-DT for qemu-devel@nongnu.org; Mon, 15 Apr 2013 05:50:53 -0400 Received: from mail-da0-x230.google.com ([2607:f8b0:400e:c00::230]:61178) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1URg3m-0007uN-2F for qemu-devel@nongnu.org; Mon, 15 Apr 2013 05:50:50 -0400 Received: by mail-da0-f48.google.com with SMTP id p8so1986740dan.7 for ; Mon, 15 Apr 2013 02:50:48 -0700 (PDT) Message-ID: <516BCD71.9070905@ozlabs.ru> Date: Mon, 15 Apr 2013 19:50:41 +1000 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <1365993073-4659-1-git-send-email-aik@ozlabs.ru> <8761zofezy.fsf@blackfin.pond.sub.org> <516BA87A.2020107@ozlabs.ru> <874nf8cidj.fsf@blackfin.pond.sub.org> In-Reply-To: <874nf8cidj.fsf@blackfin.pond.sub.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] pixman: remove -Wredundand-decls List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Peter Maydell , qemu-devel@nongnu.org, Blue Swirl , Gerd Hoffmann , Stefan Hajnoczi , David Gibson On 04/15/2013 06:23 PM, Markus Armbruster wrote: > Alexey Kardashevskiy writes: > >> On 04/15/2013 05:08 PM, Markus Armbruster wrote: >>> Alexey Kardashevskiy writes: >>> >>>> 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. >>>> >>>> Signed-off-by: Alexey Kardashevskiy >>>> --- >>>> include/ui/qemu-pixman.h | 6 ------ >>>> 1 file changed, 6 deletions(-) >>>> >>>> diff --git a/include/ui/qemu-pixman.h b/include/ui/qemu-pixman.h >>>> index b032f52..6f473f9 100644 >>>> --- a/include/ui/qemu-pixman.h >>>> +++ b/include/ui/qemu-pixman.h >>>> @@ -7,13 +7,7 @@ >>>> #define QEMU_PIXMAN_H >>>> >>>> /* pixman-0.16.0 headers have a redundant declaration */ >>>> -#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE >>>> -#pragma GCC diagnostic ignored "-Wredundant-decls" >>>> -#endif >>>> #include >>>> -#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE >>>> -#pragma GCC diagnostic error "-Wredundant-decls" >>>> -#endif >>>> >>>> #include "qemu/typedefs.h" >>> >>> Patch description doesn't seem to fit the patch. The patch doesn't >>> remove -Wredundant-decls, it removes its suppression in one specific >>> place. Please advise. >> >> The patch removes both suppression AND enabling, the second chunk >> enabled this check back after #include, no matter if it was enabled or >> not. > > Trouble is there is no second chunk. The patch removes 3 lines twice. The second 3 lines contain: "#pragma GCC diagnostic error "-Wredundant-decls"" This enables the check. My bad, it is not "patch" chunk. Sorry for confusing. > > If you're proposing to remove -Wredundant-decls globally, you'll have to > explain what problems exactly it causes. Besides assert.h is just broken and should not be included twice when -Wredundant-decls, I got a lot of this when did cross compilation (for ppc64 on x86_64): CC hw/bt/sdp.o In file included from /home/alexey/pcipassthru/qemu-impreza/include/qapi/qmp/qobject.h:36:0, from /home/alexey/pcipassthru/qemu-impreza/include/qapi/qmp/qdict.h:16, from /home/alexey/pcipassthru/qemu-impreza/include/ui/console.h:5, from ui/qemu-pixman.c:7: /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] /home/alexey/pcipassthru/qemu-impreza/../lib4qemu/usr/include/assert.h:72:13: note: previous declaration of '__assert_perror_fail' was here /home/alexey/pcipassthru/qemu-impreza/../lib4qemu/usr/include/assert.h:79:13: error: redundant redeclaration of '__assert' [-Werror=redundant-decls] /home/alexey/pcipassthru/qemu-impreza/../lib4qemu/usr/include/assert.h:79:13: note: previous declaration of '__assert' was here In file included from /home/alexey/pcipassthru/qemu-impreza/include/qapi/qmp/qobject.h:36:0, from /home/alexey/pcipassthru/qemu-impreza/include/qapi/qmp/qdict.h:16, from /home/alexey/pcipassthru/qemu-impreza/include/ui/console.h:5, from ui/console.c:25: If we disable that warning, I do not what we loose. The "bug" above is not a bug at all. > >>> Oh, and use a spell-checker :) >> >> The one build into thunderbird does not show any spelling errors >> (except file names, of course) :) > > arounb > -Wredundand-decls Ah. My bad :( -- Alexey