I just added handcrafted toolchain (ELFCLANG) to Conf/tools_def.txt. And tried to compile DuetPkg -- DEBUG & IA32. Command lines follows
"clang" -ffreestanding -m32 -fshort-wchar -fno-strict-aliasing -Wall -c -include /tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/AutoGen.h -D STRING_ARRAY_NAME=DxeCoreStrings -o /tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/OUTPUT/Mem/Pool.obj -I/tiano/edk2/MdeModulePkg/Core/Dxe/DxeMain -I/tiano/edk2/MdeModulePkg/Core/Dxe/Dispatcher -I/tiano/edk2/MdeModulePkg/Core/Dxe/Event -I/tiano/edk2/MdeModulePkg/Core/Dxe/FwVol -I/tiano/edk2/MdeModulePkg/Core/Dxe/FwVolBlock -I/tiano/edk2/MdeModulePkg/Core/Dxe/Mem -I/tiano/edk2/MdeModulePkg/Core/Dxe/Gcd -I/tiano/edk2/MdeModulePkg/Core/Dxe/Hand -I/tiano/edk2/MdeModulePkg/Core/Dxe/Library -I/tiano/edk2/ MdeModulePkg/Core/Dxe/Misc -I/tiano/edk2/MdeModulePkg/Core/Dxe/Image -I/tiano/edk2/MdeModulePkg/Core/Dxe/SectionExtraction -I/tiano/edk2/MdeModulePkg/Core/Dxe -I/tiano/edk2/Build/ DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/DEBUG -I/tiano/edk2/MdePkg -I/tiano/edk2/MdePkg/Include -I/tiano/edk2/MdePkg/Include/Ia32 -I/tiano/edk2/MdeModulePkg -I/tiano/edk2/MdeModulePkg/Include /tiano/edk2/MdeModulePkg/Core/Dxe/Mem/Pool.c /tiano/edk2/MdeModulePkg/Core/Dxe/Mem/Pool.c:188:49: warning: comparison of constant 2147483647 with expression of type 'EFI_MEMORY_TYPE' is always true [-Wtautological-constant-o ut-of-range-compare] if ((PoolType >= EfiMaxMemoryType && PoolType <= 0x7fffffff) || ~~~~~~~~ ^ ~~~~~~~~~~ 1 warning generated. "echo" Symbol renaming not needed for /tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/OUTPUT/Mem/Pool.obj Symbol renaming not needed for /tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/OUTPUT/Mem/Pool.obj "clang" -ffreestanding -m32 -fshort-wchar -fno-strict-aliasing -Wall -c -include /tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/AutoGen.h -DSTRING_ARRAY_NAME=DxeCoreStrings -o /tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/OUTPUT/Mem/Page.obj -I/tiano/edk2/MdeModulePkg/Core/Dxe/DxeMain -I/tiano/edk2/MdeModulePkg/Core/Dxe/Dispatcher -I/tiano/edk2/MdeModulePkg/Core/Dxe/Event -I/tiano/edk2/MdeModulePkg/Core/Dxe/FwVol -I/tiano/edk2/MdeModulePkg/Core/Dxe/FwVolBlock -I/tiano/edk2/MdeModulePkg/Core/Dxe/Mem -I/tiano/edk2/MdeModulePkg/Core/Dxe/Gcd -I/tiano/edk2/MdeModulePkg/Core/Dxe/Hand -I/tiano/edk2/MdeModulePkg/Core/Dxe/Library -I/tiano/edk2/MdeModulePkg/Core/Dxe/Misc -I/tiano/edk2/MdeModulePkg/Core/Dxe/Image -I/tiano/edk2/MdeModulePkg/Core/Dxe/SectionExtraction -I/tiano/edk2/MdeModulePkg/Core/Dxe -I/tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/DEBUG -I/tiano/edk2/MdePkg -I/tiano/edk2/MdePkg/Include -I/tiano/edk2/MdePkg/Include/Ia32 -I/tiano/edk2/MdeModulePkg -I/tiano/edk2/MdeModulePkg/Include /tiano/edk2/MdeModulePkg/Core/Dxe/Mem/Page.c /tiano/edk2/MdeModulePkg/Core/Dxe/Mem/Page.c:528:40: warning: comparison of constant 2147483647 with expression of type 'EFI_MEMORY_TYPE' is always true [-Wtautological-constant-out-of-range-compare] if (Type >= EfiMaxMemoryType && Type <= 0x7fffffff) { ~~~~ ^ ~~~~~~~~~~ /tiano/edk2/MdeModulePkg/Core/Dxe/Mem/Page.c:1101:53: warning: comparison of constant 2147483647 with expression of type 'EFI_MEMORY_TYPE' is always true [-Wtautological-constant-out-of-range-compare] if ((MemoryType >= EfiMaxMemoryType && MemoryType <= 0x7fffffff) || ~~~~~~~~~~ ^ ~~~~~~~~~~ 2 warnings generated. "echo" Symbol renaming not needed for /tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/OUTPUT/Mem/Page.obj Symbol renaming not needed for /tiano/edk2/Build/DuetPkgIA32/DEBUG_ELFCLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/OUTPUT/Mem/Page.obj On Wed, Jan 16, 2013 at 6:21 AM, Tian, Feng <feng.t...@intel.com> wrote: > Hi, Saoukh > > > > What tool-chain and build option are you using? Are you changing > tools_def.txt in Conf directory? > > Could you paste the entire command line of building this .c file to us? > > > > Thanks > > Feng > > > > From: Nikolai Saoukh [mailto:n...@otdel-1.org] > Sent: Tuesday, January 15, 2013 22:27 > > > To: edk2-devel@lists.sourceforge.net > Subject: [edk2] tautological-constant-out-of-range-compare > > > > This particular case was discussed already > > > > /tiano/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) || > > ~~~~~~~~ ^ ~~~~~~~~~~ > > > > /tiano/edk2/MdeModulePkg/Core/Dxe/Mem/Page.c:528:40: error: comparison of > constant 2147483647 with expression of type 'EFI_MEMORY_TYPE' is always true > [-Werror,-Wtautological-constant-out-of-range-compare] > > if (Type >= EfiMaxMemoryType && Type <= 0x7fffffff) { > > ~~~~ ^ ~~~~~~~~~~ > > > > ................. > > > > "i686-pc-mingw32-objcopy" --redefine-sym _memcpy=_CopyMem --redefine-sym > _memset=_SetMem > /tiano/edk2/Build/DuetPkgIA32/DEBUG_PECLANG/IA32/MdeModulePkg/Core/Dxe/DxeMain/OUTPUT/Mem/Pool.obj > > /tiano/edk2/MdeModulePkg/Core/Dxe/Mem/Page.c:1101:53: error: comparison of > constant 2147483647 with expression of type 'EFI_MEMORY_TYPE' is always true > [-Werror,-Wtautological-constant-out-of-range-compare] > > if ((MemoryType >= EfiMaxMemoryType && MemoryType <= 0x7fffffff) || > > ~~~~~~~~~~ ^ ~~~~~~~~~~ > > > > > > I guess it should be written like this > > > > if ((PoolType >= EfiMaxMemoryType && ((UINT32)PoolType <= 0x7fffffff)) ... > > > ------------------------------------------------------------------------------ > Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery > and much more. Keep your Java skills current with LearnJavaNow - > 200+ hours of step-by-step video tutorials by Java experts. > SALE $49.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122612 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 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_122912 _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel