Preprocessor statements (as if|else|endif|error|warning) must start in colum 1, otherwise gfortran tries to handle them itself?!
$> cat pp.F90 PROGRAM test_preprocessor #error "EEE" ! whitespace is significant END PROGRAM $> gfortran-4.3 -g -Wall pp.F90 In file pp.F90:3 #error "EEE" 1 Error: Unclassifiable statement at (1) $> cat pp.F90 PROGRAM test_preprocessor #error "EEE" END PROGRAM $> gfortran-4.3 -g -Wall pp.F90 pp.F90:3: error: #error "EEE" Filed this as fortran report since gcc bails out as expected and both run (afaik) the same preprocessor: $> cat pp.c int main() { #error "EEE" /* whitespaces are not significant */ return 0; } $> gcc-svn -g -Wall pp.c pp.c:2:4: error: #error "EEE" $> gfortran -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../../svn/gcc/configure --prefix=/home/daniel/nfs/packages/i686-pc-linux-gnu/gcc-svn --disable-nls --enable-threads=posix --enable-shared --enable-bootstrap --with-system-zlib --program-suffix=-svn --enable-languages=c,c++,fortran Thread model: posix gcc version 4.3.0 20061030 (experimental) -- Summary: preprocessor statements must start in column 1 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: franke dot daniel at gmail dot com GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29671