Right. Just initialize them. They are not reported in VS2013&VS2015, because VS2013 and VS2015 disables this warning in ProcessorBind.h. If they are all false warning messages, I think we can propose to disable this warning for all VS tool chain.
For GCC, if this warning is also false, could we add compiler to disable it, like -Wno-unused-but-set-variable. > -----Original Message----- > From: Zeng, Star > Sent: Thursday, September 14, 2017 9:21 AM > To: Ard Biesheuvel <[email protected]>; Laszlo Ersek > <[email protected]>; Gao, Liming <[email protected]>; Bi, Dandan > <[email protected]>; Wu, Hao A <[email protected]> > Cc: Ni, Ruiyu <[email protected]>; Dong, Eric <[email protected]>; > edk2-devel-01 <[email protected]> > Subject: RE: [edk2] [PATCH 2/2] MdeModulePkg/UdfDxe: suppress incorrect > compiler warning in ReadFile() > > Seemingly, VS has similar issue with GCC. > > VS2010/VS2012 still have the building failures below after this patch. :( > edk2\mdemodulepkg\universal\disk\udfdxe\filesystemoperations.c(1083) : error > C2220: warning treated as error - no 'executable' file > generated > edk2\mdemodulepkg\universal\disk\udfdxe\filesystemoperations.c(1083) : > warning C4701: potentially uninitialized local variable > 'FilePosition' used > edk2\mdemodulepkg\universal\disk\udfdxe\filesystemoperations.c(1078) : > warning C4701: potentially uninitialized local variable > 'FinishedSeeking' used > edk2\mdemodulepkg\universal\disk\udfdxe\filesystemoperations.c(1167) : > warning C4701: potentially uninitialized local variable > 'Data' used > edk2\mdemodulepkg\universal\disk\udfdxe\filesystemoperations.c(1167) : > warning C4703: potentially uninitialized local pointer > variable 'Data' used > > > Liming, Dandan and Hao, > Do you remember how we fix this kind of false alarm before? > Just initialize the variable at the beginning of the function? > > > > Thanks, > Star > -----Original Message----- > From: Zeng, Star > Sent: Thursday, September 14, 2017 8:43 AM > To: Ard Biesheuvel <[email protected]>; Laszlo Ersek > <[email protected]> > Cc: Ni, Ruiyu <[email protected]>; Dong, Eric <[email protected]>; > edk2-devel-01 <[email protected]>; Gao, Liming > <[email protected]>; Zeng, Star <[email protected]> > Subject: RE: [edk2] [PATCH 2/2] MdeModulePkg/UdfDxe: suppress incorrect > compiler warning in ReadFile() > > Comparing adding workaround in code with suppressing it in *OLD* version > GCCs, I prefer the latter personally. > > > Thanks, > Star > -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of Ard > Biesheuvel > Sent: Thursday, September 14, 2017 2:52 AM > To: Laszlo Ersek <[email protected]> > Cc: Ni, Ruiyu <[email protected]>; Dong, Eric <[email protected]>; > edk2-devel-01 <[email protected]>; Gao, Liming > <[email protected]>; Zeng, Star <[email protected]> > Subject: Re: [edk2] [PATCH 2/2] MdeModulePkg/UdfDxe: suppress incorrect > compiler warning in ReadFile() > > On 13 September 2017 at 11:49, Laszlo Ersek <[email protected]> wrote: > > On 09/13/17 08:43, Zeng, Star wrote: > >> 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 > > > > I think starting with gcc-4.6, gcc supports the "diagnostics" pragma, > > which can be used to suppress warnings. > > > > Unfortunately, there's no pragma to suppress *only* the incorrect > > warnings :) So if we set the pragma, we could lose even those warnings > > that point out real bugs. > > > > That applies to the VS case as well. But I think doing this for older GCCs is > fine, most EDK2 developers use a newer version anyway, so > we will not lose any coverage by doing so. > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

