Laszlo: Could we separate the warning option topic? I think we still need more discussion on how to enable warning unused-but-set-variable when MDEPKG_NDEBUG is defined. One simple way is to disable this warning when MDEPKG_NDEBUG is set.
For the patch to add UNUSED notation to Base.h, I have no comment. Thanks Liming > -----Original Message----- > From: Laszlo Ersek [mailto:[email protected]] > Sent: Saturday, March 19, 2016 12:22 AM > To: Gao, Liming; Leif Lindholm > Cc: Ard Biesheuvel; [email protected]; Andrew Fish; Kinney, Michael D; > Qiu, Shumin > Subject: Re: [edk2] [PATCH] MdePkg: add UNUSED notation to Base.h > > On 03/18/16 15:48, Gao, Liming wrote: > > Laszlo: > > > > I understand the request to BaseTools is that AutoGen code can pass > > GCC or MSFT compiler without any warning. If so, EDKII module can enable > > non default warnings in itself. I will evaluate BaseTools. > > Thank you! > > > And, you raise one issue that the different ARCHs have the different > > warning setting. I suggest to keep them consistent to avoid the > > different build results. How about adding -Wno-unused-but-set-variable > > option to AARCH64 DEBUG. > > Can we move in the other direction perhaps? Can we remove > -Wno-unused-but-set-variable from the following settings: > > - GCC46_IA32_CC_FLAGS > - GCC46_X64_CC_FLAGS > > (these are inherited by the >= 4.6 GCC settings for IA32 and X64,) > > - RELEASE_GCC46_ARM_CC_FLAGS > - RELEASE_GCC47_ARM_CC_FLAGS > - RELEASE_GCC47_AARCH64_CC_FLAGS > - RELEASE_GCC48_ARM_CC_FLAGS > - RELEASE_GCC48_AARCH64_CC_FLAGS > - RELEASE_GCC49_ARM_CC_FLAGS > - RELEASE_GCC49_AARCH64_CC_FLAGS > > I believe all of the above settings include > "-Wno-unused-but-set-variable" only for the following reason: > > When GCC46 was enabled in BaseTools, the "-Wall" option (which we do > enable as a basis) suddenly started including > "-Wunused-but-set-variable" too. Namely, that warning option was new in > the gcc-4.6 release, and "-Wall" by default included it: > > https://gcc.gnu.org/gcc-4.6/changes.html > > The edk2 tree wouldn't build with "-Wunused-but-set-variable"; so, in > order to expedite GCC46 enablement, the "-Wno-unused-but-set-variable" > was set. See commit 2bcc713e74b94. > > However, in reality, the number of warnings triggered by this setting is > very low, in my testing -- just a handful. I listed them yesterday; the > following modules are affected (while building ArmVirtPkg and OvmfPkg): > > - MdeModulePkg/Bus/Pci/PciHostBridgeDxe > - UefiCpuPkg/Library/MtrrLib > - UefiCpuPkg/PiSmmCpuDxeSmm > > If I send a series that cleans up these warnings, would you agree (and > perhaps even test with your own platforms) to remove > "-Wno-unused-but-set-variable"? > > I agree that we should unify the warning flags, but I think we should > move towards stricter warnings, not laxer warnings -- provided we can > adapt the tree more or less easily. > > > Besides, Shumin is a young man. J > > Thanks, I'll keep it in mind. :) > > Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

