Fix and clean code which tests the gcc version

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>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Stefan Weil 2011-09-16 22:03:08 +02:00 committed by Anthony Liguori
parent f8b72754c2
commit 87751797c7
2 changed files with 1 additions and 21 deletions

View File

@ -18,7 +18,7 @@
#define QEMU_NORETURN __attribute__ ((__noreturn__)) #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)) #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else #else
#define QEMU_WARN_UNUSED_RESULT #define QEMU_WARN_UNUSED_RESULT

20
configure vendored
View File

@ -2359,23 +2359,6 @@ if compile_prog "" "" ; then
need_offsetof=no need_offsetof=no
fi 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 # spice probe
if test "$spice" != "no" ; then if test "$spice" != "no" ; then
cat > $TMPC << EOF cat > $TMPC << EOF
@ -2998,9 +2981,6 @@ fi
if test "$need_offsetof" = "yes" ; then if test "$need_offsetof" = "yes" ; then
echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak
fi 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 if test "$fdatasync" = "yes" ; then
echo "CONFIG_FDATASYNC=y" >> $config_host_mak echo "CONFIG_FDATASYNC=y" >> $config_host_mak
fi fi