diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2011-11-03 23:58:20 +0000 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2011-11-03 23:58:20 +0000 |
commit | 9645e798ba137f3edab0c560f679a433b2a460b6 (patch) | |
tree | 1043bf80209dba05a24d669559f9728afe47f6be /gcc/fortran/dependency.c | |
parent | 8e24054ba4b47f9a677d58f92c504ab744a752b8 (diff) | |
download | gcc-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.c | 11 |
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; |