From: Jakub Jelinek Date: Fri, 29 Aug 2008 18:47:19 +0000 (+0200) Subject: re PR fortran/24790 (arguments are displayed as reference or pointer to normal type... X-Git-Tag: releases/gcc-4.4.0~2787 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=714495cdcf2425b6aa9f3eac6bd010f3030ddd41;p=thirdparty%2Fgcc.git re PR fortran/24790 (arguments are displayed as reference or pointer to normal type in GDB) PR fortran/24790 * trans-decl.c (create_function_arglist): Set DECL_BY_REFERENCE on PARM_DECLs with pointer or reference type. From-SVN: r139777 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 55d452fdcdd4..671ef074d655 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,9 @@ 2008-08-29 Jakub Jelinek + 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. diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 54a1aa0159f7..bf038f7cf94d 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -1644,6 +1644,10 @@ create_function_arglist (gfc_symbol * sym) 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);