Module: Mesa Branch: main Commit: 7b06b6288c76f36d7a2dc9c5f682891841c73cc3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b06b6288c76f36d7a2dc9c5f682891841c73cc3
Author: Bas Nieuwenhuizen <[email protected]> Date: Tue Oct 5 00:08:56 2021 +0200 amd/addrlib: Use alternative ADDR_C_ASSERT definition. Copied from mesa util/macros.h Avoids unused-local-typedef warnings. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13164> --- src/amd/addrlib/src/core/addrcommon.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/amd/addrlib/src/core/addrcommon.h b/src/amd/addrlib/src/core/addrcommon.h index 83f40ff2eb4..dc00057f891 100644 --- a/src/amd/addrlib/src/core/addrcommon.h +++ b/src/amd/addrlib/src/core/addrcommon.h @@ -184,7 +184,13 @@ #if defined(static_assert) #define ADDR_C_ASSERT(__e) static_assert(__e, "") #else -#define ADDR_C_ASSERT(__e) typedef char __ADDR_C_ASSERT__[(__e) ? 1 : -1] + /* This version of STATIC_ASSERT() relies on VLAs. If COND is + * false/zero, the array size will be -1 and we'll get a compile + * error + */ +# define ADDR_C_ASSERT(__e) do { \ + (void) sizeof(char [1 - 2*!(__e)]); \ + } while (0) #endif namespace Addr
