aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2022-02-13 11:05:33 -0800
committerIan Lance Taylor <iant@golang.org>2022-02-13 11:05:33 -0800
commit9419b14e109a2807361a9f695f5767f03dfa0cae (patch)
tree849876c3156f676db4c951f9b9f6a77e452b6a06 /gcc/fortran
parent9a510fb0970d3d9a4201bce8965cabe67850386b (diff)
parent58aeb75d4097010ad9bb72b964265b18ab284f93 (diff)
downloadgcc-9419b14e109a2807361a9f695f5767f03dfa0cae.zip
gcc-9419b14e109a2807361a9f695f5767f03dfa0cae.tar.gz
gcc-9419b14e109a2807361a9f695f5767f03dfa0cae.tar.bz2
Merge from trunk revision 58aeb75d4097010ad9bb72b964265b18ab284f93.
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/resolve.cc1
-rw-r--r--gcc/fortran/trans-stmt.cc2
2 files changed, 1 insertions, 2 deletions
diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc
index 835a478..266e41e 100644
--- a/gcc/fortran/resolve.cc
+++ b/gcc/fortran/resolve.cc
@@ -9227,7 +9227,6 @@ resolve_assoc_var (gfc_symbol* sym, bool resolve_target)
sym->ts.u.cl = target->ts.u.cl;
if (sym->ts.deferred && target->expr_type == EXPR_VARIABLE
- && target->symtree->n.sym->attr.dummy
&& sym->ts.u.cl == target->ts.u.cl)
{
sym->ts.u.cl = gfc_new_charlen (sym->ns, NULL);
diff --git a/gcc/fortran/trans-stmt.cc b/gcc/fortran/trans-stmt.cc
index 04f8147..30b6bd5 100644
--- a/gcc/fortran/trans-stmt.cc
+++ b/gcc/fortran/trans-stmt.cc
@@ -1918,7 +1918,7 @@ trans_associate_var (gfc_symbol *sym, gfc_wrapped_block *block)
gfc_conv_expr_descriptor (&se, e);
if (sym->ts.type == BT_CHARACTER
- && !se.direct_byref && sym->ts.deferred
+ && sym->ts.deferred
&& !sym->attr.select_type_temporary
&& VAR_P (sym->ts.u.cl->backend_decl)
&& se.string_length != sym->ts.u.cl->backend_decl)