From 8b2256fbf22c07c7f3505a374458ab53c3fcfff3 Mon Sep 17 00:00:00 2001 From: Michael D Kinney Date: Mon, 6 Jan 2025 12:42:07 -0800 Subject: [PATCH] MdePkg/Include: Use _Static_assert for clang and GNUC The clang compiler generates the following error error: use of 'static_assert' without inclusion of This is due to the use of the MSC Extension static_assert. Use _Static_assert instead for clang and GNUC compilers. Signed-off-by: Michael D Kinney --- MdePkg/Include/Base.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h index 554f827fd1..a6fb59205e 100644 --- a/MdePkg/Include/Base.h +++ b/MdePkg/Include/Base.h @@ -800,12 +800,14 @@ typedef UINTN *BASE_LIST; @param Message Raised compiler diagnostic message when expression is false. **/ -#ifdef MDE_CPU_EBC -#define STATIC_ASSERT(Expression, Message) -#elif defined (_MSC_EXTENSIONS) || defined (__cplusplus) +#if defined (__cplusplus) +#define STATIC_ASSERT static_assert +#elif defined (__GNUC__) || defined (__clang__) +#define STATIC_ASSERT _Static_assert +#elif defined (_MSC_EXTENSIONS) #define STATIC_ASSERT static_assert #else -#define STATIC_ASSERT _Static_assert + #error STATIC_ASSERT() definiton not available #endif //