X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=compiler%2Fcompiler.h;h=ddfbcc124e77ac2b1a5d7aea1640ccbc4577a331;hb=4d2707ef027cc5b2418ab5de622318e0f70c096a;hp=4d92ac4949c4a5111df6ae5ba0fd36325281be49;hpb=c473a9bd8fadf0b8e7521edcabb2204d87f35b04;p=fio.git diff --git a/compiler/compiler.h b/compiler/compiler.h index 4d92ac49..ddfbcc12 100644 --- a/compiler/compiler.h +++ b/compiler/compiler.h @@ -2,12 +2,10 @@ #define FIO_COMPILER_H /* IWYU pragma: begin_exports */ -#if __GNUC__ >= 4 +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) #include "compiler-gcc4.h" -#elif __GNUC__ == 3 -#include "compiler-gcc3.h" #else -#error Compiler too old, need gcc at least gcc 3.x +#error Compiler too old, need at least gcc 4.1.0 #endif /* IWYU pragma: end_exports */ @@ -30,7 +28,7 @@ */ #define typecheck(type,x) \ ({ type __dummy; \ - typeof(x) __dummy2; \ + __typeof__(x) __dummy2; \ (void)(&__dummy == &__dummy2); \ 1; \ }) @@ -72,7 +70,7 @@ #ifdef FIO_INTERNAL #define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0]))) -#define FIELD_SIZE(s, f) (sizeof(((typeof(s))0)->f)) +#define FIELD_SIZE(s, f) (sizeof(((__typeof__(s))0)->f)) #endif #endif