------- Comment #1 from jakub at gcc dot gnu dot org 2007-06-20 16:23 ------- There is nothing special about ST_OMP_THREADPRIVATE here, the Fortran parser as whole behaves this way. You get the same if you write say subroutine test integer :: i i = 1 common /myi/ i end subroutine test etc. Handling just ST_OMP_THREADPRIVATE specially would be IMHO a mistake, what perhaps could be done is e.g. adding something like case_decl: gfc_error ("%s statement can't appear after the first executable statement at %C", gfc_ascii_statement (st)); reject_statement (); break; into parse_executable before default: return st; in there.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32365