* [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test
@ 2011-09-16 20:03 Stefan Weil
2011-09-16 20:03 ` [Qemu-devel] [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h Stefan Weil
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Stefan Weil @ 2011-09-16 20:03 UTC (permalink / raw)
To: qemu-devel
These two patches fix a wrong gcc version test.
[PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h
[PATCH 2/2] Fix and clean code which tests the gcc version
^ permalink raw reply [flat|nested] 8+ messages in thread* [Qemu-devel] [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h 2011-09-16 20:03 [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test Stefan Weil @ 2011-09-16 20:03 ` Stefan Weil 2011-09-16 20:03 ` [Qemu-devel] [PATCH 2/2] Fix and clean code which tests the gcc version Stefan Weil ` (2 subsequent siblings) 3 siblings, 0 replies; 8+ messages in thread From: Stefan Weil @ 2011-09-16 20:03 UTC (permalink / raw) To: qemu-devel The macro is compiler specific and does not depend on the operating system. Move macro QEMU_GNUC_PREREQ from osdep.h to compiler.h and use it to simplify existing code. host-utils.h uses this macro, so it now needs compiler.h instead of osdep.h. Signed-off-by: Stefan Weil <weil@mail.berlios.de> --- compiler.h | 15 +++++++++++++-- host-utils.h | 2 +- osdep.h | 7 ------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/compiler.h b/compiler.h index a2d5959..3a9b8a1 100644 --- a/compiler.h +++ b/compiler.h @@ -5,7 +5,19 @@ #include "config-host.h" +/*---------------------------------------------------------------------------- +| The macro QEMU_GNUC_PREREQ tests for minimum version of the GNU C compiler. +| The code is a copy of SOFTFLOAT_GNUC_PREREQ, see softfloat-macros.h. +*----------------------------------------------------------------------------*/ +#if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define QEMU_GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +# define QEMU_GNUC_PREREQ(maj, min) 0 +#endif + #define QEMU_NORETURN __attribute__ ((__noreturn__)) + #ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) #else @@ -22,8 +34,7 @@ typedef char qemu_build_bug_on__##__LINE__[(x)?-1:1]; #if defined __GNUC__ -# if (__GNUC__ < 4) || \ - defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4) +# if !QEMU_GNUC_PREREQ(4, 4) /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */ # define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2))) # define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m))) diff --git a/host-utils.h b/host-utils.h index 0ddc176..821db93 100644 --- a/host-utils.h +++ b/host-utils.h @@ -23,7 +23,7 @@ * THE SOFTWARE. */ -#include "osdep.h" +#include "compiler.h" /* QEMU_GNUC_PREREQ */ #if defined(__x86_64__) #define __HAVE_FAST_MULU64__ diff --git a/osdep.h b/osdep.h index 252d050..432b91e 100644 --- a/osdep.h +++ b/osdep.h @@ -81,13 +81,6 @@ #define qemu_printf printf -#if defined (__GNUC__) && defined (__GNUC_MINOR__) -# define QEMU_GNUC_PREREQ(maj, min) \ - ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -#else -# define QEMU_GNUC_PREREQ(maj, min) 0 -#endif - int qemu_daemon(int nochdir, int noclose); void *qemu_memalign(size_t alignment, size_t size); void *qemu_vmalloc(size_t size); -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH 2/2] Fix and clean code which tests the gcc version 2011-09-16 20:03 [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test Stefan Weil 2011-09-16 20:03 ` [Qemu-devel] [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h Stefan Weil @ 2011-09-16 20:03 ` Stefan Weil 2011-09-23 18:50 ` [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test Anthony Liguori 2011-10-03 20:05 ` Stefan Weil 3 siblings, 0 replies; 8+ messages in thread From: Stefan Weil @ 2011-09-16 20:03 UTC (permalink / raw) To: qemu-devel The code which tests whether gcc supports warn_unused_result was wrong. Remove the wrong test from configure and replace it by code using macro QEMU_GNUC_PREREQ in compiler.h. Signed-off-by: Stefan Weil <weil@mail.berlios.de> --- compiler.h | 2 +- configure | 20 -------------------- 2 files changed, 1 insertions(+), 21 deletions(-) diff --git a/compiler.h b/compiler.h index 3a9b8a1..a1c0794 100644 --- a/compiler.h +++ b/compiler.h @@ -18,7 +18,7 @@ #define QEMU_NORETURN __attribute__ ((__noreturn__)) -#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT +#if QEMU_GNUC_PREREQ(3, 4) #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) #else #define QEMU_WARN_UNUSED_RESULT diff --git a/configure b/configure index ad924c4..129c427 100755 --- a/configure +++ b/configure @@ -2358,23 +2358,6 @@ if compile_prog "" "" ; then need_offsetof=no fi -########################################## -# check if the compiler understands attribute warn_unused_result -# -# This could be smarter, but gcc -Werror does not error out even when warning -# about attribute warn_unused_result - -gcc_attribute_warn_unused_result=no -cat > $TMPC << EOF -#if defined(__GNUC__) && (__GNUC__ < 4) && defined(__GNUC_MINOR__) && (__GNUC__ < 4) -#error gcc 3.3 or older -#endif -int main(void) { return 0;} -EOF -if compile_prog "" ""; then - gcc_attribute_warn_unused_result=yes -fi - # spice probe if test "$spice" != "no" ; then cat > $TMPC << EOF @@ -2997,9 +2980,6 @@ fi if test "$need_offsetof" = "yes" ; then echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak fi -if test "$gcc_attribute_warn_unused_result" = "yes" ; then - echo "CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT=y" >> $config_host_mak -fi if test "$fdatasync" = "yes" ; then echo "CONFIG_FDATASYNC=y" >> $config_host_mak fi -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test 2011-09-16 20:03 [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test Stefan Weil 2011-09-16 20:03 ` [Qemu-devel] [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h Stefan Weil 2011-09-16 20:03 ` [Qemu-devel] [PATCH 2/2] Fix and clean code which tests the gcc version Stefan Weil @ 2011-09-23 18:50 ` Anthony Liguori 2011-10-03 20:05 ` Stefan Weil 3 siblings, 0 replies; 8+ messages in thread From: Anthony Liguori @ 2011-09-23 18:50 UTC (permalink / raw) To: Stefan Weil; +Cc: qemu-devel On 09/16/2011 03:03 PM, Stefan Weil wrote: > These two patches fix a wrong gcc version test. > > [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h > [PATCH 2/2] Fix and clean code which tests the gcc version > > Applied all. Thanks. Regards, Anthony Liguori ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-trivial] [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test 2011-09-16 20:03 [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test Stefan Weil @ 2011-10-03 20:05 ` Stefan Weil 2011-09-16 20:03 ` [Qemu-devel] [PATCH 2/2] Fix and clean code which tests the gcc version Stefan Weil ` (2 subsequent siblings) 3 siblings, 0 replies; 8+ messages in thread From: Stefan Weil @ 2011-10-03 20:05 UTC (permalink / raw) To: qemu-trivial; +Cc: qemu-devel Am 16.09.2011 22:03, schrieb Stefan Weil: > These two patches fix a wrong gcc version test. > > [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h > [PATCH 2/2] Fix and clean code which tests the gcc version Ping? Maybe these patches can be applied via qemu-trivial. http://patchwork.ozlabs.org/patch/115027/ http://patchwork.ozlabs.org/patch/115030/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test @ 2011-10-03 20:05 ` Stefan Weil 0 siblings, 0 replies; 8+ messages in thread From: Stefan Weil @ 2011-10-03 20:05 UTC (permalink / raw) To: qemu-trivial; +Cc: qemu-devel Am 16.09.2011 22:03, schrieb Stefan Weil: > These two patches fix a wrong gcc version test. > > [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h > [PATCH 2/2] Fix and clean code which tests the gcc version Ping? Maybe these patches can be applied via qemu-trivial. http://patchwork.ozlabs.org/patch/115027/ http://patchwork.ozlabs.org/patch/115030/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-trivial] [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test 2011-10-03 20:05 ` Stefan Weil @ 2011-10-03 20:20 ` Stefan Weil -1 siblings, 0 replies; 8+ messages in thread From: Stefan Weil @ 2011-10-03 20:20 UTC (permalink / raw) To: qemu-trivial; +Cc: qemu-devel Am 03.10.2011 22:05, schrieb Stefan Weil: > Am 16.09.2011 22:03, schrieb Stefan Weil: >> These two patches fix a wrong gcc version test. >> >> [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h >> [PATCH 2/2] Fix and clean code which tests the gcc version > > Ping? Maybe these patches can be applied via qemu-trivial. > > http://patchwork.ozlabs.org/patch/115027/ > http://patchwork.ozlabs.org/patch/115030/ Sorry, my mistake: both patches were already applied. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test @ 2011-10-03 20:20 ` Stefan Weil 0 siblings, 0 replies; 8+ messages in thread From: Stefan Weil @ 2011-10-03 20:20 UTC (permalink / raw) To: qemu-trivial; +Cc: qemu-devel Am 03.10.2011 22:05, schrieb Stefan Weil: > Am 16.09.2011 22:03, schrieb Stefan Weil: >> These two patches fix a wrong gcc version test. >> >> [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h >> [PATCH 2/2] Fix and clean code which tests the gcc version > > Ping? Maybe these patches can be applied via qemu-trivial. > > http://patchwork.ozlabs.org/patch/115027/ > http://patchwork.ozlabs.org/patch/115030/ Sorry, my mistake: both patches were already applied. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-10-03 20:21 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-09-16 20:03 [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test Stefan Weil 2011-09-16 20:03 ` [Qemu-devel] [PATCH 1/2] Move macro QEMU_GNUC_PREREQ to compiler.h Stefan Weil 2011-09-16 20:03 ` [Qemu-devel] [PATCH 2/2] Fix and clean code which tests the gcc version Stefan Weil 2011-09-23 18:50 ` [Qemu-devel] [PATCH 0/2] Use QEMU_GNUC_PREREQ to fix wrong gcc version test Anthony Liguori 2011-10-03 20:05 ` [Qemu-trivial] " Stefan Weil 2011-10-03 20:05 ` Stefan Weil 2011-10-03 20:20 ` [Qemu-trivial] " Stefan Weil 2011-10-03 20:20 ` Stefan Weil
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.