From: Alok Hota Date: Wed, 20 Jun 2018 17:16:36 +0000 (-0500) Subject: swr/rast: add SWR_STATIC_ASSERT() macro X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9d01f4d63137a87a55604409137df57fd0ca48b1;p=mesa.git swr/rast: add SWR_STATIC_ASSERT() macro Reviewed-by: Bruce Cherniak --- 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)