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