X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=compiler%2Fcompiler.h;h=e1afcb424b8efa06380311cd1e865df3fb6f0d64;hb=b32709219cd352ff96fb50f274597b78f3602eb7;hp=0a08bb12a238703ed252b62c451beac6406f695e;hpb=ed80ddf66943dc2654a92eb77b57c3d68613e9d6;p=fio.git diff --git a/compiler/compiler.h b/compiler/compiler.h index 0a08bb12..e1afcb42 100644 --- a/compiler/compiler.h +++ b/compiler/compiler.h @@ -13,8 +13,24 @@ #define __must_check #endif -#define uninitialized_var(x) x = x +/* + * Mark unused variables passed to ops functions as unused, to silence gcc + */ +#define fio_unused __attribute__((__unused__)) +#define fio_init __attribute__((constructor)) +#define fio_exit __attribute__((destructor)) -#define __weak __attribute__((weak)) +#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