mirror of https://github.com/acidanthera/audk.git
When building OvmfPkg in RELEASE mode in the XCODE5 toolchain, the ASSERT_EFI_ERROR change prevents this error: .../MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c:141:15: error: variable 'Status' set but not used [-Werror,-Wunused-but-set-variable] EFI_STATUS Status; ^ which is currently stopping the build. When building in RELEASE mode in the CLANGPDB toolchain,the DEBUG macro change prevents this error: .../edk2/OvmfPkg/VirtioSerialDxe/VirtioSerial.c:28:22: error: variable 'EventNames' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] STATIC CONST CHAR8 *EventNames[] = { ^ which is currently stopping the build. CLANGDWARF produces the same error as CLANGPDB above, if -Wno-unneeded-internal-declaration is removed from its build flags. With the null DEBUG macro change, this warning suppression can be removed from CLANGDWARF, which is considered a benefit as it has the potential to catch real coding errors. This is done in a subsequent commit. This commit has the desirable side effect that we no longer require (and cannot use) explicit `#ifndef MDEPKG_NDEBUG` around items only used in DEBUG macros. This requires the ArmPkg change made here to be in the same commit as the MdePkg changes. Note: In common with existing macros in EDK II, including the pre-existing and unchanged DEBUG/NOOPT versions of the macros which are modified here, we use the standard approach of adding `do { ... } while (FALSE)` wrapping to ensure that the macros behave correctly with surrounding code (e.g. require a following ';' and do not combine in unexpected ways with nearby conditionals). Continuous-integration-options: PatchCheck.ignore-multi-package Co-authored-by: Mikhail Krichanov <krichanov@ispras.ru> Signed-off-by: Mike Beaton <mjsbeaton@gmail.com> |
||
---|---|---|
.. | ||
ArmArchTimerLib | ||
ArmCacheMaintenanceLib | ||
ArmDisassemblerLib | ||
ArmExceptionLib | ||
ArmGenericTimerPhyCounterLib | ||
ArmGenericTimerVirtCounterLib | ||
ArmGicArchLib | ||
ArmGicArchSecLib | ||
ArmHvcLib | ||
ArmHvcLibNull | ||
ArmLib | ||
ArmMmuLib | ||
ArmMonitorLib | ||
ArmMtlNullLib | ||
ArmPsciResetSystemLib | ||
ArmSmcLib | ||
ArmSmcLibNull | ||
ArmSoftFloatLib | ||
ArmSvcLib | ||
ArmTrngLib | ||
DebugAgentSymbolsBaseLib | ||
DebugPeCoffExtraActionLib | ||
DefaultExceptionHandlerLib | ||
LinuxBootBootManagerLib | ||
OpteeLib | ||
PeiServicesTablePointerLib | ||
PlatformBootManagerLib | ||
SemiHostingDebugLib | ||
SemiHostingSerialPortLib | ||
SemihostLib | ||
StandaloneMmMmuLib |