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