diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-08-29 20:47:19 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-08-29 20:47:19 +0200 |
commit | 714495cdcf2425b6aa9f3eac6bd010f3030ddd41 (patch) | |
tree | 49e691559f7ca549e33b0144429949c36d71db7b | |
parent | 2599ed926b039b9f5e167e03910e7c0d3e8d48ca (diff) | |
download | gcc-714495cdcf2425b6aa9f3eac6bd010f3030ddd41.zip gcc-714495cdcf2425b6aa9f3eac6bd010f3030ddd41.tar.gz gcc-714495cdcf2425b6aa9f3eac6bd010f3030ddd41.tar.bz2 |
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
-rw-r--r-- | gcc/fortran/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 55d452f..671ef07 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,9 @@ 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. diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 54a1aa0..bf038f7 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); |