Hi Rebecca,

 

GCC added -Wno-unused-but-set-variable back in 2016 for RELEASE builds to address this same issue

 

https://github.com/tianocore/edk2/commit/20d00edf21d2f2144921622891d8b59a1553cd83

 

Then later added -Wno-unused-const-variable

 

https://github.com/tianocore/edk2/commit/8b6366f8758426fd6710646574b9a7e583e0fe0d

 

Mike

 

From: Rebecca Cran <quic_rcran@quicinc.com>
Sent: Wednesday, February 2, 2022 12:52 PM
To: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; devel@edk2.groups.io
Subject: MdePkg fails to build in RELEASE mode with clang 13 (CLANG38 toolset)

 

With the CLANG38 toolset (clang version 13.0.0) MdePkg fails to build in RELEASE mode because Status is only used by an assert.
 

edk2/MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c:141:15: error: variable 'Status' set but not used [-Werror,-Wunused-but-set-variable]
 EFI_STATUS  Status;
             ^
edk2/MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c:347:15: error: variable 'Status' set but not used [-Werror,-Wunused-but-set-variable]
 EFI_STATUS  Status;
             ^
edk2/MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c:818:15: error: variable 'Status' set but not used [-Werror,-Wunused-but-set-variable]
 EFI_STATUS  Status;

--
Rebecca Cran