On Aug 26, 2014, at 7:41 PM, Gao, Liming <[email protected]> wrote:
> Andrew: > BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c is LZMA code. > BaseTools/Source/C/LzmaCompress/LzmaCompress.c is BaseTools wrap code. > Maybe it is better to fix it with the compiler flag then? Thanks, Andrew Fish > Thanks > Liming > -----Original Message----- > From: Andrew Fish [mailto:[email protected]] > Sent: Wednesday, August 27, 2014 8:06 AM > To: [email protected] > Subject: Re: [edk2] [BaseTools][PATCH 3/5] Fix clang warnings about asigning > a void * to its self. > > > On Aug 26, 2014, at 4:52 PM, Bruce Cran <[email protected]> wrote: > >> On 8/26/2014 5:37 PM, Andrew Fish wrote: >>> -static void *SzAlloc(void *p, size_t size) { p = p; return >>> MyAlloc(size); } -static void SzFree(void *p, void *address) { p = p; >>> MyFree(address); } >>> +static void *SzAlloc(void *p, size_t size) { return MyAlloc(size); } >>> +static void SzFree(void *p, void *address) { MyFree(address); } >> >> I guess some compiler was (is?) warning about 'p' being unused, so >> should there instead be a cast to void? i.e. (void)p; > > The error is: > > LzmaCompress.c:46:49: error: explicitly assigning a variable of type 'void *' > to itself [-Werror,-Wself-assign] static void *SzAlloc(void *p, size_t size) > { p = p; return MyAlloc(size); } > > I'm not sure if any of our tools warn. It probably came from the original > LZMA code? > > It looks like I can turn on the -Wno-self-assign compiler flag and suppress > the warning. > > Which brings up a good point about this patch set. Assuming I remove patch 3 > and replace it with a compiler flag change the only risk change is to the > compiler flags. > > I'm going to need help testing changing the compiler flags, in > BaseTools/Source/C/Makefiles/header.makefile > , with all the flavors of gcc: > -CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants > -nostdlib -Wall -Werror -c -g > +CFLAGS = -MD -fshort-wchar -fno-strict-aliasing > +-Wno-deprecated-declarations -Wno-self-assign -nostdlib -Wall -Werror > +-c -g > > Basically clang does not support -fno-merge-constants, and > -Wno-deprecated-declarations -Wno-self-assign are needed to suppress default > warning as errors, errors in the code for clang. > > Thanks, > > Andrew Fish > > > > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
