http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56081
--- Comment #4 from janus at gcc dot gnu.org 2013-01-23 09:09:56 UTC --- On the 4.6 branch, one finds the following check in resolve.c (resolve_select, line 7426): if (case_expr->rank != 0) { gfc_error ("Argument of SELECT statement at %L must be a scalar " "expression", &case_expr->where); /* Punt. */ return; } On the 4.7 branch it is simply gone. I don't directly see where it went.