aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/dependency.c
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2011-11-03 23:58:20 +0000
committerMikael Morin <mikael@gcc.gnu.org>2011-11-03 23:58:20 +0000
commit9645e798ba137f3edab0c560f679a433b2a460b6 (patch)
tree1043bf80209dba05a24d669559f9728afe47f6be /gcc/fortran/dependency.c
parent8e24054ba4b47f9a677d58f92c504ab744a752b8 (diff)
downloadgcc-9645e798ba137f3edab0c560f679a433b2a460b6.zip
gcc-9645e798ba137f3edab0c560f679a433b2a460b6.tar.gz
gcc-9645e798ba137f3edab0c560f679a433b2a460b6.tar.bz2
trans.h (gfc_inline_intrinsic_function_p): Move prototype...
* trans.h (gfc_inline_intrinsic_function_p): Move prototype... * gfortran.h (gfc_inline_intrinsic_function_p): ... here. * dependency.c (gfc_check_argument_var_dependency): Check dependencies of inline intrinsics' arguments. From-SVN: r180904
Diffstat (limited to 'gcc/fortran/dependency.c')
-rw-r--r--gcc/fortran/dependency.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/fortran/dependency.c b/gcc/fortran/dependency.c
index c43af00..fd7fa73 100644
--- a/gcc/fortran/dependency.c
+++ b/gcc/fortran/dependency.c
@@ -713,6 +713,17 @@ gfc_check_argument_var_dependency (gfc_expr *var, sym_intent intent,
return gfc_check_fncall_dependency (var, intent, NULL,
expr->value.function.actual,
ELEM_CHECK_VARIABLE);
+
+ if (gfc_inline_intrinsic_function_p (expr))
+ {
+ /* The TRANSPOSE case should have been caught in the
+ noncopying intrinsic case above. */
+ gcc_assert (expr->value.function.isym->id != GFC_ISYM_TRANSPOSE);
+
+ return gfc_check_fncall_dependency (var, intent, NULL,
+ expr->value.function.actual,
+ ELEM_CHECK_VARIABLE);
+ }
}
return 0;