https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103418
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #3 from kargl at gcc dot gnu.org --- (In reply to anlauf from comment #2) > The nearly obvious fix: > > diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c > index 837eb0912c0..3859e18c6c3 100644 > --- a/gcc/fortran/check.c > +++ b/gcc/fortran/check.c > @@ -1031,7 +1031,7 @@ variable_check (gfc_expr *e, int n, bool allow_proc) > break; > } > > - if (!ref) > + if (!ref && !pointer) > { > gfc_error ("%qs argument of %qs intrinsic at %L cannot be " > "INTENT(IN)", gfc_current_intrinsic_arg[n]->name, > > regresses for gfortran.dg/move_alloc_8.f90, thus needs additional > investigation. Did you try the patch posted in Fortran Discourse?