http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52729
Bug #: 52729 Summary: Symbol has no implicit type in SELECT TYPE block Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: aben...@caltech.edu The following fails to compile with the latest gfortran 4.8 (r185768): module testMod type testType end type testType contains subroutine testSub() implicit none procedure(double precision ), pointer :: r class (testType ), pointer :: testObject double precision :: testVal select type (testObject) class is (testType) testVal=testFunc() r => testFunc end select return end subroutine testSub double precision function testFunc() implicit none return end function testFunc end module testMod $ gfortran -v Using built-in specs. COLLECT_GCC=gfortran COLLECT_LTO_WRAPPER=/home/abenson/libexec/gcc/x86_64-unknown-linux- gnu/4.8.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.7/configure --prefix=/home/abenson --enable- languages=c,c++,fortran --disable-multilib --with-gmp=/home/abenson --with- mpc=/home/abenson --with-mpfr=/home/abenson Thread model: posix gcc version 4.8.0 20120324 (experimental) (GCC) $ gfortran -c test.F90 -o test.o test.F90:16.23: testVal=testFunc() 1 Error: Symbol 'testfunc' at (1) has no IMPLICIT type Removing the "r => ...." line, removing the "select type", "class is" and "end select" lines or moving testFunc before testSub in the file all allow the code to compile successfully.