Message ID | 20220606061209.335709-3-ammarfaizi2@gnuweeb.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Ensure io_uring data structure consistentcy in liburing | expand |
diff --git a/src/lib.h b/src/lib.h index 5dabd28..40e2817 100644 --- a/src/lib.h +++ b/src/lib.h @@ -5,6 +5,7 @@ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <assert.h> #define __INTERNAL__LIBURING_LIB_H #if defined(__x86_64__) || defined(__i386__) @@ -21,6 +22,9 @@ #endif #undef __INTERNAL__LIBURING_LIB_H +#ifndef BUILD_BUG_ON +#define BUILD_BUG_ON(EXPR) static_assert(!(EXPR), "!(" #EXPR ") failed") +#endif #ifndef offsetof #define offsetof(TYPE, FIELD) ((size_t) &((TYPE *)0)->FIELD)
The first use case of this macro is for data structure assertion at compile time. It's like what we do in the io_uring.c in the kernel. Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org> --- src/lib.h | 4 ++++ 1 file changed, 4 insertions(+)