]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Base.h
MdePkg/Include: Update Base.h to improve C++ compatibility
[mirror_edk2.git] / MdePkg / Include / Base.h
index d19ddfe4bba78465d69edd96aa9696c339875a6b..d209e6de280a0bb7a730b3c4f2ce515fd06b1fcc 100644 (file)
@@ -309,7 +309,15 @@ struct _LIST_ENTRY {
 ///\r
 /// NULL pointer (VOID *)\r
 ///\r
+#if defined (__cplusplus)\r
+  #if defined (_MSC_EXTENSIONS)\r
+#define NULL  nullptr\r
+  #else\r
+#define NULL  __null\r
+  #endif\r
+#else\r
 #define NULL  ((VOID *) 0)\r
+#endif\r
 \r
 //\r
 // Null character\r
@@ -760,7 +768,7 @@ typedef UINTN *BASE_LIST;
 **/\r
 #ifdef MDE_CPU_EBC\r
 #define STATIC_ASSERT(Expression, Message)\r
-#elif defined (_MSC_EXTENSIONS)\r
+#elif defined (_MSC_EXTENSIONS) || defined (__cplusplus)\r
 #define STATIC_ASSERT  static_assert\r
 #else\r
 #define STATIC_ASSERT  _Static_assert\r
@@ -959,7 +967,7 @@ typedef UINTN RETURN_STATUS;
 ///\r
 /// The operation completed successfully.\r
 ///\r
-#define RETURN_SUCCESS  0\r
+#define RETURN_SUCCESS  (RETURN_STATUS)(0)\r
 \r
 ///\r
 /// The image failed to load.\r