summaryrefslogtreecommitdiff
path: root/lib/birdlib.h
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2022-07-18 10:19:59 +0200
committerMaria Matejka <mq@ucw.cz>2022-07-18 10:19:59 +0200
commit636ab95f44efee774343f711ec46e69c6bea4e81 (patch)
tree6267dac5e8c14779f69d125c2a7ca7ee4907409c /lib/birdlib.h
parent05673b16a87792baf8734dfcbf12ac2fd867f80b (diff)
parenta845651bc50b75b2be41b4427e04857ce3c106a6 (diff)
Merge commit 'a845651b' into thread-next
Diffstat (limited to 'lib/birdlib.h')
-rw-r--r--lib/birdlib.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/birdlib.h b/lib/birdlib.h
index 25545fc3..bdf69309 100644
--- a/lib/birdlib.h
+++ b/lib/birdlib.h
@@ -15,7 +15,7 @@
/* Ugly structure offset handling macros */
#define OFFSETOF(s, i) ((size_t) &((s *)0)->i)
-#define SKIP_BACK(s, i, p) ((s *)((char *)p - OFFSETOF(s, i)))
+#define SKIP_BACK(s, i, p) ({ s *_ptr = ((s *)((char *)p - OFFSETOF(s, i))); ASSERT_DIE(&_ptr->i == p); _ptr; })
#define BIRD_ALIGN(s, a) (((s)+a-1)&~(a-1))
#define CPU_STRUCT_ALIGN (MAX_(_Alignof(void*), _Alignof(u64)))
#define BIRD_CPU_ALIGN(s) BIRD_ALIGN((s), CPU_STRUCT_ALIGN)