diff options
author | avieira <avieira@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-06-22 14:59:21 +0000 |
---|---|---|
committer | avieira <avieira@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-06-22 14:59:21 +0000 |
commit | 6a298aa6205bdcd75ed64e7a6fed9dd03c65db17 (patch) | |
tree | d887d893f39d16e4990a853d3398dfc48433430f /gcc/fortran/trans-types.c | |
parent | 08de971a04b3432ec9323b1cafdd9ff5a28e0efb (diff) | |
parent | 33c4d56ec8b65b998b1a6751e19e3005f1bc401e (diff) |
Merge from gcc-7-branch.ARM/embedded-7-branch-2018q2ARM/embedded-7-branch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ARM/embedded-7-branch@261903 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-types.c')
-rw-r--r-- | gcc/fortran/trans-types.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c index 724c0fa979f..9a96ae7b69d 100644 --- a/gcc/fortran/trans-types.c +++ b/gcc/fortran/trans-types.c @@ -2168,6 +2168,14 @@ gfc_sym_type (gfc_symbol * sym) if (sym->backend_decl && !sym->attr.function) return TREE_TYPE (sym->backend_decl); + if (sym->attr.result + && sym->ts.type == BT_CHARACTER + && sym->ts.u.cl->backend_decl == NULL_TREE + && sym->ns->proc_name + && sym->ns->proc_name->ts.u.cl + && sym->ns->proc_name->ts.u.cl->backend_decl != NULL_TREE) + sym->ts.u.cl->backend_decl = sym->ns->proc_name->ts.u.cl->backend_decl; + if (sym->ts.type == BT_CHARACTER && ((sym->attr.function && sym->attr.is_bind_c) || (sym->attr.result |