https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100154
--- Comment #2 from anlauf at gcc dot gnu.org --- Untested patch: diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index 82db8e4e1b2..df4409840d5 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -5730,6 +5731,15 @@ gfc_check_fgetput_sub (gfc_expr *c, gfc_expr *status) if (!kind_value_check (c, 0, gfc_default_character_kind)) return false; + if (c->expr_type != EXPR_VARIABLE + && strcmp (gfc_current_intrinsic, "fget") == 0) + { + gfc_error ("%qs argument of %qs intrinsic at %L must be a variable", + gfc_current_intrinsic_arg[0]->name, + gfc_current_intrinsic, &c->where); + return false; + } + if (status == NULL) return true;