PR fortran/24790
* trans-decl.c (create_function_arglist): Set DECL_BY_REFERENCE on
PARM_DECLs with pointer or reference type.
From-SVN: r139777
2008-08-29 Jakub Jelinek <jakub@redhat.com>
+ PR fortran/24790
+ * trans-decl.c (create_function_arglist): Set DECL_BY_REFERENCE on
+ PARM_DECLs with pointer or reference type.
+
* trans-decl.c (gfc_build_qualified_array): Build non-flat
array type for debug info purposes.
DECL_ARG_TYPE (parm) = TREE_VALUE (typelist);
/* All implementation args are read-only. */
TREE_READONLY (parm) = 1;
+ if (POINTER_TYPE_P (type)
+ && (!f->sym->attr.proc_pointer
+ && f->sym->attr.flavor != FL_PROCEDURE))
+ DECL_BY_REFERENCE (parm) = 1;
gfc_finish_decl (parm);