Encountered in LLNL DLSODES.F - execreable stuff, obsolete too, but accepted by other brands. The fix is easy and looks cleaner.
IS THIS A BUG OR AN ABOMINATION? program ifif_test integer i , j i = 1 j = 2 if ( i.EQ.1 ) if ( j -2 ) 10 , 20 , 30 10 PRINT *, 'thuuunk! j<2' stop 20 print *, 'Hello 1,2 world' STOP 30 PRINT *, 'uuurkk! j>2' end program ifif_test $ /irun/bin/gfortran -x f77 ifif_test.f90 In file ifif_test.f90:5 if ( i.EQ.1 ) if ( j -2 ) 10 , 20 , 30 1 Error: Unclassifiable statement in IF-clause at (1) -- Summary: IF (logical ) IF (arith) lab1 , lab 2 lab 3 is unclassifiable Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: paul dot richard dot thomas at cea dot fr CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18561