Patchwork [2/2] pixman: fix warning

login
register
mail settings
Submitter Gerd Hoffmann
Date Jan. 9, 2013, 9:17 a.m.
Message ID <1357723028-12929-2-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/210642/
State New
Headers show

Comments

Gerd Hoffmann - Jan. 9, 2013, 9:17 a.m.
Cc: afaerber@suse.de
Cc: agraf@suse.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/ui/qemu-pixman.h |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
Blue Swirl - Jan. 12, 2013, 4:10 p.m.
Thanks, applied.

On Wed, Jan 9, 2013 at 9:17 AM, Gerd Hoffmann <kraxel@redhat.com> wrote:
> Cc: afaerber@suse.de
> Cc: agraf@suse.de
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  include/ui/qemu-pixman.h |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/include/ui/qemu-pixman.h b/include/ui/qemu-pixman.h
> index 3c05c83..016fd87 100644
> --- a/include/ui/qemu-pixman.h
> +++ b/include/ui/qemu-pixman.h
> @@ -6,7 +6,14 @@
>  #ifndef QEMU_PIXMAN_H
>  #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 <pixman.h>
> +#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
> +#pragma GCC diagnostic error "-Wredundant-decls"
> +#endif
>
>  #include "console.h"
>
> --
> 1.7.1
>
>
Andreas Färber - Jan. 15, 2013, 4:53 a.m.
Am 09.01.2013 10:17, schrieb Gerd Hoffmann:
> Cc: afaerber@suse.de
> Cc: agraf@suse.de
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  include/ui/qemu-pixman.h |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/include/ui/qemu-pixman.h b/include/ui/qemu-pixman.h
> index 3c05c83..016fd87 100644
> --- a/include/ui/qemu-pixman.h
> +++ b/include/ui/qemu-pixman.h
> @@ -6,7 +6,14 @@
>  #ifndef QEMU_PIXMAN_H
>  #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 <pixman.h>
> +#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
> +#pragma GCC diagnostic error "-Wredundant-decls"
> +#endif
>  
>  #include "console.h"
>  

Unfortunately this did not help on SLES11 SP2. I don't spot any typo in
your patches, it looked neat; CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE does
not get defined in config-host.h it seems.

Using the pragmas unconditionally results in change from:

  CC    qemu-timer.o
cc1: warnings being treated as errors
In file included from
/home/andreas/QEMU/qemu-s390/include/ui/qemu-pixman.h:13,
                 from /home/andreas/QEMU/qemu-s390/include/ui/console.h:4,
                 from /home/andreas/QEMU/qemu-s390/qemu-timer.c:27:
/usr/include/pixman-1/pixman.h:225: error: redundant redeclaration of
‘pixman_transform_from_pixman_f_transform’
/usr/include/pixman-1/pixman.h:221: error: previous declaration of
‘pixman_transform_from_pixman_f_transform’ was here
make: *** [qemu-timer.o] Fehler 1

to:

  CC    qemu-timer.o
cc1: warnings being treated as errors
In file included from
/home/andreas/QEMU/qemu-s390/include/ui/qemu-pixman.h:13,
                 from /home/andreas/QEMU/qemu-s390/include/ui/console.h:4,
                 from /home/andreas/QEMU/qemu-s390/qemu-timer.c:27:
/usr/include/pixman-1/pixman.h:221: error: previous declaration of
‘pixman_transform_from_pixman_f_transform’ was here
make: *** [qemu-timer.o] Fehler 1

gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]

Regards,
Andreas
Gerd Hoffmann - Jan. 15, 2013, 2:29 p.m.
Hi,

> Unfortunately this did not help on SLES11 SP2. I don't spot any typo in
> your patches, it looked neat; CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE does
> not get defined in config-host.h it seems.

Hmm, anything in config.log?  Maybe the sles11 gcc doesn't support the
-Wunused-but-set-variable used in the configure test?

> Using the pragmas unconditionally results in change from:
> 
>   CC    qemu-timer.o
> cc1: warnings being treated as errors
> In file included from
> /home/andreas/QEMU/qemu-s390/include/ui/qemu-pixman.h:13,
>                  from /home/andreas/QEMU/qemu-s390/include/ui/console.h:4,
>                  from /home/andreas/QEMU/qemu-s390/qemu-timer.c:27:
> /usr/include/pixman-1/pixman.h:225: error: redundant redeclaration of
> ‘pixman_transform_from_pixman_f_transform’
> /usr/include/pixman-1/pixman.h:221: error: previous declaration of
> ‘pixman_transform_from_pixman_f_transform’ was here
> make: *** [qemu-timer.o] Fehler 1
> 
> to:
> 
>   CC    qemu-timer.o
> cc1: warnings being treated as errors
> In file included from
> /home/andreas/QEMU/qemu-s390/include/ui/qemu-pixman.h:13,
>                  from /home/andreas/QEMU/qemu-s390/include/ui/console.h:4,
>                  from /home/andreas/QEMU/qemu-s390/qemu-timer.c:27:
> /usr/include/pixman-1/pixman.h:221: error: previous declaration of
> ‘pixman_transform_from_pixman_f_transform’ was here
> make: *** [qemu-timer.o] Fehler 1

That looks like a gcc bug to me.

cheers,
  Gerd
Paolo Bonzini - Jan. 15, 2013, 3:15 p.m.
Il 15/01/2013 15:29, Gerd Hoffmann ha scritto:
>> > Using the pragmas unconditionally results in change from:
>> > 
>> >   CC    qemu-timer.o
>> > cc1: warnings being treated as errors
>> > In file included from
>> > /home/andreas/QEMU/qemu-s390/include/ui/qemu-pixman.h:13,
>> >                  from /home/andreas/QEMU/qemu-s390/include/ui/console.h:4,
>> >                  from /home/andreas/QEMU/qemu-s390/qemu-timer.c:27:
>> > /usr/include/pixman-1/pixman.h:225: error: redundant redeclaration of
>> > ‘pixman_transform_from_pixman_f_transform’
>> > /usr/include/pixman-1/pixman.h:221: error: previous declaration of
>> > ‘pixman_transform_from_pixman_f_transform’ was here
>> > make: *** [qemu-timer.o] Fehler 1
>> > 
>> > to:
>> > 
>> >   CC    qemu-timer.o
>> > cc1: warnings being treated as errors
>> > In file included from
>> > /home/andreas/QEMU/qemu-s390/include/ui/qemu-pixman.h:13,
>> >                  from /home/andreas/QEMU/qemu-s390/include/ui/console.h:4,
>> >                  from /home/andreas/QEMU/qemu-s390/qemu-timer.c:27:
>> > /usr/include/pixman-1/pixman.h:221: error: previous declaration of
>> > ‘pixman_transform_from_pixman_f_transform’ was here
>> > make: *** [qemu-timer.o] Fehler 1
> That looks like a gcc bug to me.

Me too.  CCing Richard Guenther, or whatever his surname is now :), from
SuSE.

Paolo

Patch

diff --git a/include/ui/qemu-pixman.h b/include/ui/qemu-pixman.h
index 3c05c83..016fd87 100644
--- a/include/ui/qemu-pixman.h
+++ b/include/ui/qemu-pixman.h
@@ -6,7 +6,14 @@ 
 #ifndef QEMU_PIXMAN_H
 #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 <pixman.h>
+#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
+#pragma GCC diagnostic error "-Wredundant-decls"
+#endif
 
 #include "console.h"