summaryrefslogtreecommitdiffstats
path: root/gcc/fortran
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/fortran/trans-expr.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index cd67054d195..46bb7fa0982 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -3,6 +3,13 @@
* trans-types.c (gfc_return_by_reference): Remove superfluous
assertion.
+ * intrinsic.h (gfc_resolve_getcwd): Update prototype.
+ * iresolve.c (gfc_resolve_getcwd): Add second argument to function.
+
+ PR fortran/17615
+ * trans-expr.c (gfc_trans_arrayfunc_assign): Look at resolved
+ function to determine return type.
+
2004-09-20 Jan Hubicka <jh@suse.cz>
* trans-decl.c (build_entry_thunks): Finalize the function; do not lower
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 29550b715e6..fc5b41bf880 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -2007,8 +2007,8 @@ gfc_trans_arrayfunc_assign (gfc_expr * expr1, gfc_expr * expr2)
/* The frontend doesn't seem to bother filling in expr->symtree for intrinsic
functions. */
gcc_assert (expr2->value.function.isym
- || (gfc_return_by_reference (expr2->symtree->n.sym)
- && expr2->symtree->n.sym->result->attr.dimension));
+ || (gfc_return_by_reference (expr2->value.function.esym)
+ && expr2->value.function.esym->result->attr.dimension));
ss = gfc_walk_expr (expr1);
gcc_assert (ss != gfc_ss_terminator);
OpenPOWER on IntegriCloud