http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56081
--- Comment #6 from janus at gcc dot gnu.org 2013-01-23 09:21:02 UTC --- The obvious fix is certainly to re-insert that piece of code: Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 195310) +++ gcc/fortran/resolve.c (working copy) @@ -7976,6 +7976,15 @@ resolve_select (gfc_code *code) return; } + if (case_expr->rank != 0) + { + gfc_error ("Argument of SELECT statement at %L must be a scalar " + "expression", &case_expr->where); + + /* Punt. */ + return; + } + /* Raise a warning if an INTEGER case value exceeds the range of the case-expr. Later, all expressions will be promoted to the largest kind of all case-labels. */ Will check for regressions now.