http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56748
Bug #: 56748 Summary: STOP statement + array optional variable causes bogus uninitialized warning Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: towns...@astro.wisc.edu Created attachment 29736 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29736 Sample code producing bogus warning In the attached code, compilation with the following args: gfortran -O2 -fcheck=all -Wall -c test_uninit.f90 ...produces the following warning: test_uninit.f90: In function ‘mysub’: test_uninit.f90:13:0: warning: ‘b.0’ may be used uninitialized in this function [-Wmaybe-uninitialized] print *, b ^ The warning goes away if any of the following modifications are made: *) any of the compilation flags is omitted *) the stop statement in the code is commented out *) the variable 'b' is made non-optional (and the PRESENT check is removed) *) the variable 'b' is made a scalar gfortran -v: Using built-in specs. COLLECT_GCC=/Applications/madsdk/bin/gfortran.exec COLLECT_LTO_WRAPPER=/Applications/madsdk/libexec/gcc/x86_64-apple-darwin11.4.2/4.8.0/lto-wrapper Target: x86_64-apple-darwin11.4.2 Configured with: ./configure CC='gcc -D_FORTIFY_SOURCE=0' --build=x86_64-apple-darwin11.4.2 --prefix=/Applications/madsdk --with-gmp=/Applications/madsdk --with-mpfr=/Applications/madsdk --with-mpc=/Applications/madsdk --enable-languages=c,c++,fortran --disable-multilib Thread model: posix gcc version 4.8.0 20130314 (experimental) (GCC)