1, Use #if defined() to judge the switching macro such as compiler macro.
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 23 Feb 2009 05:51:02 +0000 (05:51 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 23 Feb 2009 05:51:02 +0000 (05:51 +0000)
Original, some code directly judge the value of these macros, but linux ICC compiler will report error as "zero used for undefined preprocessing identifier". So it is better judge whether these macros are defined before accessing their value.
2, Use #if defined() style to replace #ifdef style.
It is good to keep consistent style for this case.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7596 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Ia32/ProcessorBind.h
MdePkg/Include/Ipf/ProcessorBind.h
MdePkg/Include/X64/ProcessorBind.h

index 5f29bb3e096ba6bc8a87574fc9a14eb959d82433..e6d1a7da90125261c7b3a70973862356a2f7315b 100644 (file)
 //\r
 // Make sure we are using the correct packing rules per EFI specification\r
 //\r
-#ifndef __GNUC__\r
+#if !defined(__GNUC__)\r
 #pragma pack()\r
 #endif\r
 \r
-#if __INTEL_COMPILER\r
+#if defined(__INTEL_COMPILER)\r
 //\r
 // Disable ICC's remark #869: "Parameter" was never referenced warning.\r
 // This is legal ANSI C code so we disable the remark that is turned on with -Wall\r
@@ -49,7 +49,7 @@
 #endif\r
 \r
 \r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\r
 \r
 //\r
 // Disable warning that make it impossible to compile at /W4\r
@@ -95,7 +95,7 @@
   // No ANSI C 2000 stdint.h integer width declarations, so define equivalents\r
   //\r
  \r
-  #if _MSC_EXTENSIONS \r
+  #if defined(_MSC_EXTENSIONS)\r
 \r
     //\r
     // use Microsoft C complier dependent integer width types \r
@@ -295,13 +295,13 @@ typedef INT32   INTN;
 // use the correct C calling convention. All protocol member functions and\r
 // EFI intrinsics are required to modify their member functions with EFIAPI.\r
 //\r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\r
   ///\r
   /// Microsoft* compiler specific method for EFIAPI calling convension\r
   /// \r
   #define EFIAPI __cdecl  \r
 #else\r
-  #if __GNUC__\r
+  #if defined(__GNUC__)\r
     ///\r
     /// GCC specific method for EFIAPI calling convension\r
     /// \r
@@ -314,7 +314,7 @@ typedef INT32   INTN;
 //  if the /OPT:REF linker option is used. We defined a macro as this is a \r
 //  a non standard extension\r
 //\r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\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
@@ -331,7 +331,7 @@ typedef INT32   INTN;
 //\r
 // For symbol name in GNU assembly code, an extra "_" is necessary\r
 //\r
-#if __GNUC__\r
+#if defined(__GNUC__)\r
   #if defined(linux)\r
     #define ASM_PFX(name) name\r
   #else\r
index d92f16ca27532614662ee2df872b1bea22f2b11c..eb31c3f7bdb31b4eed26250964cfa49396576180 100644 (file)
@@ -28,7 +28,7 @@
 #pragma pack()\r
 \r
 \r
-#if __INTEL_COMPILER\r
+#if defined(__INTEL_COMPILER)\r
 //\r
 // Disable ICC's remark #869: "Parameter" was never referenced warning.\r
 // This is legal ANSI C code so we disable the remark that is turned on with -Wall\r
@@ -50,7 +50,7 @@
 #endif\r
 \r
 \r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\r
 //\r
 // Disable warning that make it impossible to compile at /W4\r
 // This only works for Microsoft* tools\r
 #endif\r
 \r
 \r
-#if (__STDC_VERSION__ < 199901L)\r
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ < 199901L)\r
   //\r
   // No ANSI C 2000 stdint.h integer width declarations, so define equivalents\r
   //\r
 \r
-  #if _MSC_EXTENSIONS\r
+  #if defined(_MSC_EXTENSIONS)\r
     //\r
     // use Microsoft C complier dependent integer width types\r
     //\r
     ///\r
     typedef char                INT8;\r
   #else\r
-    #ifdef _EFI_P64\r
+    #if defined(_EFI_P64)\r
       //\r
       // P64 - pointers being 64-bit and longs and ints are 32-bits.\r
       //\r
@@ -358,7 +358,7 @@ typedef INT64   INTN;
 // use the correct C calling convention. All protocol member functions and\r
 // EFI intrinsics are required to modify their member functions with EFIAPI.\r
 //\r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\r
   ///\r
   /// Microsoft* compiler specific method for EFIAPI calling convension\r
   /// \r
@@ -372,7 +372,7 @@ typedef INT64   INTN;
 //  if the /OPT:REF linker option is used. We defined a macro as this is a\r
 //  a non standard extension\r
 //\r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\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
index f1b0339a12ee92db26b0b9e9c7919640f765c71e..71f5277538bde0afe2e66cb36b7f2919fea95cd8 100644 (file)
 //\r
 // Make sure we are using the correct packing rules per EFI specification\r
 //\r
-#ifndef __GNUC__\r
+#if !defined(__GNUC__)\r
 #pragma pack()\r
 #endif\r
 \r
 \r
-#if __INTEL_COMPILER\r
+#if defined(__INTEL_COMPILER)\r
 //\r
 // Disable ICC's remark #869: "Parameter" was never referenced warning.\r
 // This is legal ANSI C code so we disable the remark that is turned on with -Wall\r
@@ -51,7 +51,7 @@
 #endif\r
 \r
 \r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\r
 \r
 //\r
 // Disable warning that make it impossible to compile at /W4\r
@@ -97,7 +97,7 @@
   // No ANSI C 2000 stdint.h integer width declarations, so define equivalents\r
   //\r
  \r
-  #if _MSC_EXTENSIONS \r
+  #if defined(_MSC_EXTENSIONS)\r
     //\r
     // use Microsoft C complier dependent integer width types \r
     //\r
     ///\r
     typedef char                INT8;\r
   #else\r
-    #ifdef _EFI_P64 \r
+    #if defined(_EFI_P64)\r
       //\r
       // P64 - pointers being 64-bit and longs and ints are 32-bits.\r
       //\r
@@ -348,12 +348,12 @@ typedef INT64   INTN;
 // use the correct C calling convention. All protocol member functions and\r
 // EFI intrinsics are required to modify their member functions with EFIAPI.\r
 //\r
-#if _MSC_EXTENSIONS \r
+#if defined(_MSC_EXTENSIONS)\r
   ///\r
   /// Microsoft* compiler specific method for EFIAPI calling convension\r
   /// \r
   #define EFIAPI __cdecl  \r
-#elif __GNUC__\r
+#elif defined(__GNUC__)\r
   ///\r
   /// Define the standard calling convention reguardless of optimization level.\r
   /// The GCC support assumes a GCC compiler that supports the EFI ABI. The EFI\r
@@ -376,7 +376,7 @@ typedef INT64   INTN;
 //  if the /OPT:REF linker option is used. We defined a macro as this is a \r
 //  a non standard extension\r
 //\r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\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
@@ -395,7 +395,7 @@ typedef INT64   INTN;
 //\r
 // For symbol name in GNU assembly code, an extra "_" is necessary\r
 //\r
-#if __GNUC__\r
+#if defined(__GNUC__)\r
   #if defined(linux)\r
     #define ASM_PFX(name) name\r
   #else\r