mirror of https://github.com/acidanthera/audk.git
MdePkg: Disable some Level 4 warnings for VS2017/ARM
We disable the exact same warnings as IA32 and X64. Also create a dummy macro for PRESERVE8, as this is not supported by the Microsoft ARM assembler. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
4344a788c4
commit
987363c9ce
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
Processor or Compiler specific defines and types for ARM.
|
Processor or Compiler specific defines and types for ARM.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||||
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
@ -28,14 +28,63 @@
|
||||||
#pragma pack()
|
#pragma pack()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(_MSC_EXTENSIONS)
|
||||||
|
|
||||||
//
|
//
|
||||||
// RVCT does not support the __builtin_unreachable() macro
|
// Disable some level 4 compilation warnings (same as IA32 and X64)
|
||||||
//
|
//
|
||||||
#ifdef __ARMCC_VERSION
|
|
||||||
|
//
|
||||||
|
// Disabling bitfield type checking warnings.
|
||||||
|
//
|
||||||
|
#pragma warning ( disable : 4214 )
|
||||||
|
|
||||||
|
//
|
||||||
|
// Disabling the unreferenced formal parameter warnings.
|
||||||
|
//
|
||||||
|
#pragma warning ( disable : 4100 )
|
||||||
|
|
||||||
|
//
|
||||||
|
// Disable slightly different base types warning as CHAR8 * can not be set
|
||||||
|
// to a constant string.
|
||||||
|
//
|
||||||
|
#pragma warning ( disable : 4057 )
|
||||||
|
|
||||||
|
//
|
||||||
|
// ASSERT(FALSE) or while (TRUE) are legal constructs so suppress this warning
|
||||||
|
//
|
||||||
|
#pragma warning ( disable : 4127 )
|
||||||
|
|
||||||
|
//
|
||||||
|
// This warning is caused by functions defined but not used. For precompiled header only.
|
||||||
|
//
|
||||||
|
#pragma warning ( disable : 4505 )
|
||||||
|
|
||||||
|
//
|
||||||
|
// This warning is caused by empty (after preprocessing) source file. For precompiled header only.
|
||||||
|
//
|
||||||
|
#pragma warning ( disable : 4206 )
|
||||||
|
|
||||||
|
//
|
||||||
|
// Disable 'potentially uninitialized local variable X used' warnings
|
||||||
|
//
|
||||||
|
#pragma warning ( disable : 4701 )
|
||||||
|
|
||||||
|
//
|
||||||
|
// Disable 'potentially uninitialized local pointer variable X used' warnings
|
||||||
|
//
|
||||||
|
#pragma warning ( disable : 4703 )
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// RVCT and MSFT don't support the __builtin_unreachable() macro
|
||||||
|
//
|
||||||
|
#if defined(__ARMCC_VERSION) || defined(_MSC_EXTENSIONS)
|
||||||
#define UNREACHABLE()
|
#define UNREACHABLE()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if _MSC_EXTENSIONS
|
#if defined(_MSC_EXTENSIONS)
|
||||||
//
|
//
|
||||||
// use Microsoft* C compiler dependent integer width types
|
// use Microsoft* C compiler dependent integer width types
|
||||||
//
|
//
|
||||||
|
@ -164,6 +213,11 @@ typedef INT32 INTN;
|
||||||
#define GCC_ASM_IMPORT(name)
|
#define GCC_ASM_IMPORT(name)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
#elif defined(_MSC_EXTENSIONS)
|
||||||
|
//
|
||||||
|
// PRESERVE8 is not supported by the MSFT assembler.
|
||||||
|
//
|
||||||
|
#define PRESERVE8
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue