/*++\r
\r
-Copyright (c) 2004 - 2008, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
+Copyright (c) 2004 - 2008, Intel Corporation. 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
which accompanies this distribution. The full text of the license may be found at \r
http://opensource.org/licenses/bsd-license.php \r
//\r
// Make sure we are useing the correct packing rules per EFI specification\r
//\r
+#ifndef __GNUC__\r
#pragma pack()\r
+#endif\r
\r
#if __INTEL_COMPILER\r
//\r
//\r
#pragma warning ( disable : 1419 )\r
\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
+//\r
+#pragma warning ( disable : 869 )\r
+\r
#endif\r
\r
\r
//\r
// For symbol name in GNU assembly code, an extra "_" is necessary\r
//\r
-#if __GNUC__\r
- #if defined(linux)\r
- #define ASM_PFX(name) name\r
- #else\r
- #define ASM_PFX(name) _##name\r
- #endif \r
+#if defined(__GNUC__)\r
+ ///\r
+ /// Private worker functions for ASM_PFX()\r
+ ///\r
+ #define _CONCATENATE(a, b) __CONCATENATE(a, b)\r
+ #define __CONCATENATE(a, b) a ## b\r
+\r
+ ///\r
+ /// The __USER_LABEL_PREFIX__ macro predefined by GNUC represents the prefix\r
+ /// on symbols in assembly language.\r
+ ///\r
+ #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)\r
+\r
#endif\r
\r
#endif\r