Implements https://bugzilla.tianocore.org/show_bug.cgi?id=3D2048. Things to note: - _Static_assert is a standard C11 keyword and thus is available on every modern compiler (including Apple Clang, Clang, and GCC). See: https://en.cppreference.com/w/c/keyword/_Static_assert - static_assert is a hack to support MSVC, which implements static assertions with this vendor-specific keyword starting from at least VS 2010 to date. - V3 of the patch addresses the confusion with doxygen, which I expected to not be able to handle @param for a macro with no arguments. - The replacement of VERIFY_SIZE_OF will be submitted in a separate patch series, and I request the colleagues to test this on their setups. As for myself I can report that it works for me with CLANG38, GCC5, VS2017, and XCODE5. Vitaly Cheptsov (1): MdePkg: Add STATIC_ASSERT macro MdePkg/Include/Base.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) -- 2.20.1 (Apple Git-117)