diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2009-09-12 09:58:46 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2009-09-12 09:58:46 +0000 |
commit | de5071c5515234cddbeaf1e6b794e1893f460b8a (patch) | |
tree | 473f3526679357d55f0034fa8ebe3f9dea1a534d | |
parent | 72cf2d4f0e181d0d3a3122e04129c58a95da713e (diff) |
Fix a Sparse warning about redefinition of offsetof()
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rwxr-xr-x | configure | 15 | ||||
-rw-r--r-- | osdep.h | 3 |
2 files changed, 17 insertions, 1 deletions
@@ -1602,6 +1602,18 @@ if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaries" != yes -a \ libs_softmmu="-lutil $libs_softmmu" fi +########################################## +# check if the compiler defines offsetof + +need_offsetof=yes +cat > $TMPC << EOF +#include <stddef.h> +int main(void) { struct s { int f; }; return offsetof(struct s, f); } +EOF +if compile_prog "" "" ; then + need_offsetof=no +fi + # End of CC checks # After here, no more $cc or $ld runs @@ -1901,6 +1913,9 @@ fi if test "$fdt" = "yes" ; then echo "CONFIG_FDT=y" >> $config_host_mak fi +if test "$need_offsetof" = "yes" ; then + echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak +fi # XXX: suppress that if [ "$bsd" = "yes" ] ; then @@ -2,6 +2,7 @@ #define QEMU_OSDEP_H #include <stdarg.h> +#include <stddef.h> #ifdef __OpenBSD__ #include <sys/types.h> #include <sys/signal.h> @@ -27,7 +28,7 @@ #define unlikely(x) __builtin_expect(!!(x), 0) #endif -#ifndef offsetof +#ifdef CONFIG_NEED_OFFSETOF #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER) #endif #ifndef container_of |