]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Base.h
PcAtChipsetPkg/PcatChipsetPkg.dsc: Add a driver to build
[mirror_edk2.git] / MdePkg / Include / Base.h
index 4f7bd4449c3642688e5b514ba5fde15cb9f93791..d6b04baeaf8ba8447eb70969e9b937cde642cbd3 100644 (file)
@@ -6,7 +6,7 @@
   environment. There are a set of base libraries in the Mde Package that can\r
   be used to implement base modules.\r
 \r
-Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
 Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
@@ -65,8 +65,8 @@ VERIFY_SIZE_OF (CHAR16, 2);
 \r
 //\r
 // The following three enum types are used to verify that the compiler\r
-// configuration for enum types is compliant with Section 2.3.1 of the \r
-// UEFI 2.3 Specification. These enum types and enum values are not \r
+// configuration for enum types is compliant with Section 2.3.1 of the\r
+// UEFI 2.3 Specification. These enum types and enum values are not\r
 // intended to be used. A prefix of '__' is used avoid conflicts with\r
 // other types.\r
 //\r
@@ -112,11 +112,10 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
 // warnings.\r
 //\r
 #ifndef UNREACHABLE\r
-  #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)\r
+  #ifdef __GNUC__\r
     ///\r
     /// Signal compilers and analyzers that this call is not reachable.  It is\r
     /// up to the compiler to remove any code past that point.\r
-    /// Not implemented by GCC 4.4 or earlier.\r
     ///\r
     #define UNREACHABLE()  __builtin_unreachable ()\r
   #elif defined (__has_feature)\r
@@ -785,7 +784,7 @@ typedef CHAR8 *VA_LIST;
 \r
   This macro initializes Dest as a copy of Start, as if the VA_START macro had been applied to Dest\r
   followed by the same sequence of uses of the VA_ARG macro as had previously been used to reach\r
-  the present state of Start. \r
+  the present state of Start.\r
 \r
   @param   Dest   VA_LIST used to traverse the list of arguments.\r
   @param   Start  VA_LIST used to traverse the list of arguments.\r
@@ -869,7 +868,7 @@ typedef UINTN  *BASE_LIST;
   @return  A pointer to the structure from one of it's elements.\r
 \r
 **/\r
-#define BASE_CR(Record, TYPE, Field)  ((TYPE *) ((CHAR8 *) (Record) - (CHAR8 *) &(((TYPE *) 0)->Field)))\r
+#define BASE_CR(Record, TYPE, Field)  ((TYPE *) ((CHAR8 *) (Record) - OFFSET_OF (TYPE, Field)))\r
 \r
 /**\r
   Rounds a value up to the next boundary using a specified alignment.\r