/** @file\r
Processor or Compiler specific defines and types for AArch64.\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
Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>\r
\r
#pragma pack()\r
#endif\r
\r
-#if _MSC_EXTENSIONS\r
+#if defined(_MSC_EXTENSIONS)\r
+\r
+//\r
+// Disable some level 4 compilation warnings (same as IA32 and X64)\r
+//\r
+\r
+//\r
+// Disabling bitfield type checking warnings.\r
+//\r
+#pragma warning ( disable : 4214 )\r
+\r
+//\r
+// Disabling the unreferenced formal parameter warnings.\r
+//\r
+#pragma warning ( disable : 4100 )\r
+\r
+//\r
+// Disable slightly different base types warning as CHAR8 * can not be set\r
+// to a constant string.\r
+//\r
+#pragma warning ( disable : 4057 )\r
+\r
+//\r
+// ASSERT(FALSE) or while (TRUE) are legal constructs so suppress this warning\r
+//\r
+#pragma warning ( disable : 4127 )\r
+\r
+//\r
+// This warning is caused by functions defined but not used. For precompiled header only.\r
+//\r
+#pragma warning ( disable : 4505 )\r
+\r
+//\r
+// This warning is caused by empty (after preprocessing) source file. For precompiled header only.\r
+//\r
+#pragma warning ( disable : 4206 )\r
+\r
+//\r
+// Disable 'potentially uninitialized local variable X used' warnings\r
+//\r
+#pragma warning ( disable : 4701 )\r
+\r
+//\r
+// Disable 'potentially uninitialized local pointer variable X used' warnings\r
+//\r
+#pragma warning ( disable : 4703 )\r
+\r
//\r
// use Microsoft* C compiler dependent integer width types\r
//\r
typedef unsigned char UINT8;\r
typedef char CHAR8;\r
typedef signed char INT8;\r
+\r
#else\r
+\r
//\r
// Assume standard AARCH64 alignment.\r
//\r
typedef unsigned char UINT8;\r
typedef char CHAR8;\r
typedef signed char INT8;\r
+\r
#endif\r
\r
///\r