summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-30 14:13:21 +0000
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-30 14:13:21 +0000
commit77759c92c258d470b316f69194f7d0b165d6725f (patch)
tree8f0884dece35871bb051f9f530a2d76428819a59 /gcc/fortran/resolve.c
parent2e713f7f2cd3a1d948be954b7ce4ea9b7836f54e (diff)
downloadppe42-gcc-77759c92c258d470b316f69194f7d0b165d6725f.tar.gz
ppe42-gcc-77759c92c258d470b316f69194f7d0b165d6725f.zip
2008-03-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35740 * resolve.c (resolve_function, resolve_call): If the procedure is elemental do not look for noncopying intrinsics. 2008-03-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/35740 * gfortran.dg/transpose_conjg_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133729 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 41b1addbab3..af9ef55ce41 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -2374,7 +2374,12 @@ resolve_function (gfc_expr *expr)
gfc_expr_set_symbols_referenced (expr->ts.cl->length);
}
- if (t == SUCCESS)
+ if (t == SUCCESS
+ && !((expr->value.function.esym
+ && expr->value.function.esym->attr.elemental)
+ ||
+ (expr->value.function.isym
+ && expr->value.function.isym->elemental)))
find_noncopying_intrinsics (expr->value.function.esym,
expr->value.function.actual);
@@ -2845,7 +2850,7 @@ resolve_call (gfc_code *c)
if (resolve_elemental_actual (NULL, c) == FAILURE)
return FAILURE;
- if (t == SUCCESS)
+ if (t == SUCCESS && !(c->resolved_sym && c->resolved_sym->attr.elemental))
find_noncopying_intrinsics (c->resolved_sym, c->ext.actual);
return t;
}
OpenPOWER on IntegriCloud