X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=compiler%2Fcompiler.h;h=e1afcb424b8efa06380311cd1e865df3fb6f0d64;hp=0a0213b60fca5204cb9d0294ffb01139baa23083;hb=ff8039b745d59ede0ce9245ed24da14ecf2d3f38;hpb=225ba9e3433cf27d8ff7b213d9f78b7ef2776c70 diff --git a/compiler/compiler.h b/compiler/compiler.h index 0a0213b6..e1afcb42 100644 --- a/compiler/compiler.h +++ b/compiler/compiler.h @@ -22,4 +22,15 @@ #define fio_unlikely(x) __builtin_expect(!!(x), 0) +/* + * Check at compile time that something is of a particular type. + * Always evaluates to 1 so you may use it easily in comparisons. + */ +#define typecheck(type,x) \ +({ type __dummy; \ + typeof(x) __dummy2; \ + (void)(&__dummy == &__dummy2); \ + 1; \ +}) + #endif