From 3a5501d168d75f0611e82ac7ba03d8a723a77a9f Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 12 May 2017 11:56:19 +0200 Subject: Use static assert in Clay engine to ensure struct alignment --- source/blender/blenlib/BLI_utildefines.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender/blenlib') diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h index 746eb922c65..72ac6bd0080 100644 --- a/source/blender/blenlib/BLI_utildefines.h +++ b/source/blender/blenlib/BLI_utildefines.h @@ -674,6 +674,9 @@ extern bool BLI_memory_is_zero(const void *arr, const size_t arr_size); # define BLI_STATIC_ASSERT(a, msg) #endif +#define BLI_STATIC_ASSERT_ALIGN(st, align) \ + BLI_STATIC_ASSERT((sizeof(st) % (align) == 0), "Structure must be strictly aligned") + /* hints for branch prediction, only use in code that runs a _lot_ where */ #ifdef __GNUC__ # define LIKELY(x) __builtin_expect(!!(x), 1) -- cgit v1.2.3