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 <ard.biesheu...@linaro.org>; Laszlo Ersek > <ler...@redhat.com>; Gao, Liming <liming....@intel.com>; Bi, Dandan > <dandan...@intel.com>; Wu, Hao A <hao.a...@intel.com> > Cc: Ni, Ruiyu <ruiyu...@intel.com>; Dong, Eric <eric.d...@intel.com>; > edk2-devel-01 <edk2-devel@lists.01.org> > 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 <ard.biesheu...@linaro.org>; Laszlo Ersek > <ler...@redhat.com> > Cc: Ni, Ruiyu <ruiyu...@intel.com>; Dong, Eric <eric.d...@intel.com>; > edk2-devel-01 <edk2-devel@lists.01.org>; Gao, Liming > <liming....@intel.com>; Zeng, Star <star.z...@intel.com> > 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:edk2-devel-boun...@lists.01.org] On Behalf Of Ard > Biesheuvel > Sent: Thursday, September 14, 2017 2:52 AM > To: Laszlo Ersek <ler...@redhat.com> > Cc: Ni, Ruiyu <ruiyu...@intel.com>; Dong, Eric <eric.d...@intel.com>; > edk2-devel-01 <edk2-devel@lists.01.org>; Gao, Liming > <liming....@intel.com>; Zeng, Star <star.z...@intel.com> > Subject: Re: [edk2] [PATCH 2/2] MdeModulePkg/UdfDxe: suppress incorrect > compiler warning in ReadFile() > > On 13 September 2017 at 11:49, Laszlo Ersek <ler...@redhat.com> 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 > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel