From 714495cdcf2425b6aa9f3eac6bd010f3030ddd41 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 29 Aug 2008 20:47:19 +0200 Subject: [PATCH] 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 --- gcc/fortran/ChangeLog | 4 ++++ gcc/fortran/trans-decl.c | 4 ++++ 2 files changed, 8 insertions(+) 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); -- 2.47.3