]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Base.h
MdePkg: Add new CPER Notification types
[mirror_edk2.git] / MdePkg / Include / Base.h
index 4680e64136314d1d7c2b5eaa7d25e5daaa3739e0..85a091b9d564af20b62101239beb9e1a1a2decd7 100644 (file)
@@ -33,7 +33,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //  if the /OPT:REF linker option is used. We defined a macro as this is a\r
 //  a non standard extension\r
 //\r
-#if defined(_MSC_EXTENSIONS) && _MSC_VER < 1800 && !defined (MDE_CPU_EBC)\r
+#if defined(_MSC_VER) && _MSC_VER < 1800 && !defined (MDE_CPU_EBC)\r
   ///\r
   /// Remove global variable from the linked image if there are no references to\r
   /// it after all compiler and linker optimizations have been performed.\r
@@ -195,7 +195,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 ///\r
 #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)\r
 \r
-#if __APPLE__\r
+#ifdef __APPLE__\r
   //\r
   // Apple extension that is used by the linker to optimize code size\r
   // with assembly functions. Put at the end of your .S files\r
@@ -623,7 +623,7 @@ typedef char* VA_LIST;
 \r
 #elif defined(__GNUC__) || defined(__clang__)\r
 \r
-#if defined(MDE_CPU_X64) && !defined(NO_MSABI_VA_FUNCS) && !defined(__clang__)\r
+#if defined(MDE_CPU_X64) && !defined(NO_MSABI_VA_FUNCS)\r
 //\r
 // X64 only. Use MS ABI version of GCC built-in macros for variable argument lists.\r
 //\r
@@ -781,11 +781,9 @@ typedef UINTN  *BASE_LIST;
   @return  Offset, in bytes, of field.\r
 \r
 **/\r
-#ifdef __GNUC__\r
-#if __GNUC__ >= 4\r
+#if (defined(__GNUC__) && __GNUC__ >= 4) || defined(__clang__)\r
 #define OFFSET_OF(TYPE, Field) ((UINTN) __builtin_offsetof(TYPE, Field))\r
 #endif\r
-#endif\r
 \r
 #ifndef OFFSET_OF\r
 #define OFFSET_OF(TYPE, Field) ((UINTN) &(((TYPE *)0)->Field))\r
@@ -801,7 +799,7 @@ typedef UINTN  *BASE_LIST;
 **/\r
 #ifdef MDE_CPU_EBC\r
   #define STATIC_ASSERT(Expression, Message)\r
-#elif _MSC_EXTENSIONS\r
+#elif defined(_MSC_EXTENSIONS)\r
   #define STATIC_ASSERT static_assert\r
 #else\r
   #define STATIC_ASSERT _Static_assert\r