Mesa (main): amd/addrlib: Use alternative ADDR_C_ASSERT definition.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Nov 9 21:21:40 UTC 2021
Module: Mesa
Branch: main
Commit: 7b06b6288c76f36d7a2dc9c5f682891841c73cc3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b06b6288c76f36d7a2dc9c5f682891841c73cc3
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
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 <marek.olsak at amd.com>
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
More information about the mesa-commit
mailing list