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?

Reply via email to