Sergey -
It is an enum in the UEFI specification.
Why not just remove the second comparison? Since the enum is an int (for UEFI
cases), if it is more than or equal to EfiMaxMemoryType, it must be less than
0x7fffffff (if it is an int). Otherwise it would be less than 0.
Tim
From: Sergey Isakov [mailto:isakov...@bk.ru]
Sent: Thursday, January 10, 2013 11:54 PM
To: edk2-devel@lists.sourceforge.net
Subject: [edk2] clang compilation error
Hi,
with clang 3.3 one has the follow
----------
/edk2/MdeModulePkg/Core/Dxe/Mem/Pool.c:188:49: error: comparison of constant
2147483647 with expression of type 'EFI_MEMORY_TYPE' is always true
[-Werror,-Wtautological-constant-out-of-range-compare]
if ((PoolType >= EfiMaxMemoryType && PoolType <= 0x7fffffff) ||
~~~~~~~~ ^ ~~~~~~~~~~
1 error generated.
----------
Again, it is enum and sholud not be compared.
I will propose to make this as UINT32 and change enum list by a set of
definitions like
#define EfiACPIMemoryNVS 0x0A
It will be better then mix enum and integer.
------------------------------------------------------------------------------
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel