From 9d01f4d63137a87a55604409137df57fd0ca48b1 Mon Sep 17 00:00:00 2001 From: Alok Hota Date: Wed, 20 Jun 2018 12:16:36 -0500 Subject: [PATCH] swr/rast: add SWR_STATIC_ASSERT() macro Reviewed-by: Bruce Cherniak --- src/gallium/drivers/swr/rasterizer/common/swr_assert.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/swr/rasterizer/common/swr_assert.h b/src/gallium/drivers/swr/rasterizer/common/swr_assert.h index d74b7981255..7e90e21e12f 100644 --- a/src/gallium/drivers/swr/rasterizer/common/swr_assert.h +++ b/src/gallium/drivers/swr/rasterizer/common/swr_assert.h @@ -192,7 +192,11 @@ void SwrTrace( #define SWR_INVALID(...) \ _SWR_INVALID_CONCAT(_SWR_INVALID_, _SWR_INVALID_VARGS(_SWR_INVALID_VARGS_0 __VA_ARGS__())) \ (__VA_ARGS__) -#endif + +#define SWR_STATIC_ASSERT(expression, ...) \ + static_assert((expression), "Failed:\n " #expression "\n " __VA_ARGS__); + +#endif // SWR_ENABLE_REL_ASSERTS #endif // C++ @@ -226,6 +230,9 @@ static bool SwrSizeofWorkaround(T) #define SWR_REL_TRACE(_fmtstr, ...) \ _SWR_MACRO_START(void)(0); \ _SWR_MACRO_END +#define SWR_STATIC_ASSERT(e, ...) \ + _SWR_MACRO_START(void) sizeof(SwrSizeofWorkaround(e)); \ + _SWR_MACRO_END #endif #if defined(_MSC_VER) -- 2.30.2