I choose to disable this warning first, because there are other cases in edk2 project. One is PI S3SaveState protocol EFI_S3_SAVE_STATE_WRITE API. This case needs to update PI spec. It may take more time.
typedef EFI_STATUS (EFIAPI *EFI_S3_SAVE_STATE_WRITE)( IN CONST EFI_S3_SAVE_STATE_PROTOCOL *This, IN UINT16 OpCode, ... ); Thanks Liming > -----Original Message----- > From: Zenith432 [mailto:zenith...@users.sourceforge.net] > Sent: Sunday, December 10, 2017 5:33 AM > To: edk2-devel@lists.01.org; Marvin Häuser <marvin.haeu...@outlook.com> > Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Gao, Liming > <liming....@intel.com> > Subject: RE: [edk2] [PATCH] MdePkg: resolve bug 741 > > It's the package maintainer's choice. As a practical matter, silencing the > warning also works because... > > 1. clang is the only compiler that complains. Even though it complains, it > generates correct code because it has __builtin > implementation of va_start that takes register argument and stack granularity > into account. > 2. In MdePkg/Include/Base.h there are __builtin implementations of VA_START > for __CC_ARM, GCC and clang which should all work > despite the argument promotion. > 3. For the other architectures (i.e. Windows) there's an implementation of > VA_START in Base.h that uses _INT_SIZE_OF for the > parameter always a multiple of UINTN. The Windows compilers also have > builtin forms of va_start, but this non-builtin > implementation looks ok for all arguments actually passed as variadic in EDK2. > > -------------------------------------------- > On Sat, 12/9/17, Marvin Häuser <marvin.haeu...@outlook.com> wrote: > > ... > It's your choice of course. > ... > > Regards, > Marvin. > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel