These incorrect messages have been appearing lately. The variables are always and only accessed in the save branch of the switch statements - so they will never and can never be used uninitialized.
[dranta:~/tests/gfortran-D] dir% gfortran -c -O2 -Wuninitialized module_files.f90 module_files.f90: In function 'my_sio_file_read_common': module_files.f90:36: warning: 'scratch_r8.dim[1].stride' may be used uninitialized in this function module_files.f90:36: warning: 'scratch_r8.offset' may be used uninitialized in this function module_files.f90:35: warning: 'scratch_i4.dim[1].stride' may be used uninitialized in this function module_files.f90:35: warning: 'scratch_i4.offset' may be used uninitialized in this function [dranta:~/tests/gfortran-D] dir% gfortran --v Using built-in specs. Target: powerpc-apple-darwin8.10.0 Configured with: ../gcc/configure --disable-bootstrap --enable-multilib --prefix=/usr/local/gfortran --enable-languages=c,fortran Thread model: posix gcc version 4.3.0 20070921 (experimental) (GCC) -- Summary: Incorrect warning messages about uninitialized variables Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dir at lanl dot gov GCC host triplet: powerpc-apple-darwin8.10.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33522