Beyond the Rb (I do not want to block this patch series), I am curious about one question.
There may be more this kind of workarounds to fix the build failure. Is it possible to disable the warning (like below example for VS) for specific version of GCC for this kind of false alarm? ProcessorBind.h: #if defined(_MSC_EXTENSIONS) ... #if _MSC_VER == 1800 || _MSC_VER == 1900 // // Disable these warnings for VS2013. // // // This warning is for potentially uninitialized local variable, and it may cause false // positive issues in VS2013 and VS2015 build // #pragma warning ( disable : 4701 ) // // This warning is for potentially uninitialized local pointer variable, and it may cause // false positive issues in VS2013 and VS2015 build // #pragma warning ( disable : 4703 ) #endif #endif Thanks, Star -----Original Message----- From: Zeng, Star Sent: Wednesday, September 13, 2017 2:34 PM To: Laszlo Ersek <[email protected]>; edk2-devel-01 <[email protected]> Cc: Ard Biesheuvel <[email protected]>; Dong, Eric <[email protected]>; Paulo Alcantara <[email protected]>; Ni, Ruiyu <[email protected]>; Zeng, Star <[email protected]> Subject: RE: [PATCH 2/2] MdeModulePkg/UdfDxe: suppress incorrect compiler warning in ReadFile() Reviewed-by: Star Zeng <[email protected]> -----Original Message----- From: Laszlo Ersek [mailto:[email protected]] Sent: Wednesday, September 13, 2017 6:26 AM To: edk2-devel-01 <[email protected]> Cc: Ard Biesheuvel <[email protected]>; Dong, Eric <[email protected]>; Paulo Alcantara <[email protected]>; Ni, Ruiyu <[email protected]>; Zeng, Star <[email protected]> Subject: [PATCH 2/2] MdeModulePkg/UdfDxe: suppress incorrect compiler warning in ReadFile() When building the driver for DEBUG/RELEASE, GCC48/GCC49 warn about ReadFile() possibly using "BytesLeft" without initializing it first. This is not the case. The reads of "BytesLeft" are only reachable if (ReadFileInfo->Flags == READ_FILE_SEEK_AND_READ). But, in that case, we also set "BytesLeft" to "ReadFileInfo->FileDataSize", near the top of the function. Assign "BytesLeft" zero at the top, and add a comment that conforms to the pending Coding Style Spec feature request at <https://bugzilla.tianocore.org/show_bug.cgi?id=607>. This issue was reported by Ard's and Gerd's CI systems independently. Cc: Ard Biesheuvel <[email protected]> Cc: Eric Dong <[email protected]> Cc: Paulo Alcantara <[email protected]> Cc: Ruiyu Ni <[email protected]> Cc: Star Zeng <[email protected]> Reported-by: Ard Biesheuvel <[email protected]> Reported-by: Gerd Hoffmann <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <[email protected]> --- MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c index 096fbb4452cb..392494b2eb3f 100644 --- a/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c +++ b/MdeModulePkg/Universal/Disk/UdfDxe/FileSystemOperations.c @@ -893,6 +893,11 @@ ReadFile ( LogicalBlockSize = LV_BLOCK_SIZE (Volume, UDF_DEFAULT_LV_NUM); DoFreeAed = FALSE; + // + // set BytesLeft to suppress incorrect compiler/analyzer warnings // + BytesLeft = 0; + switch (ReadFileInfo->Flags) { case READ_FILE_GET_FILESIZE: case READ_FILE_ALLOCATE_AND_READ: -- 2.14.1.3.gb7cf6e02401b _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

