From 7b06b6288c76f36d7a2dc9c5f682891841c73cc3 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Tue, 5 Oct 2021 00:08:56 +0200 Subject: [PATCH] amd/addrlib: Use alternative ADDR_C_ASSERT definition. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copied from mesa util/macros.h Avoids unused-local-typedef warnings. Reviewed-by: Marek Olšák Part-of: --- 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