diff options
Diffstat (limited to 'gcc/fortran/trans-stmt.c')
-rw-r--r-- | gcc/fortran/trans-stmt.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c index 9505dfb67eb..031fe88a496 100644 --- a/gcc/fortran/trans-stmt.c +++ b/gcc/fortran/trans-stmt.c @@ -1,5 +1,5 @@ /* Statement translation -- generate GCC trees from gfc_code. - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Paul Brook <paul@nowt.org> and Steven Bosscher <s.bosscher@student.tudelft.nl> @@ -386,6 +386,7 @@ gfc_trans_call (gfc_code * code, bool dependency_check) stmtblock_t body; stmtblock_t block; gfc_se loopse; + gfc_se depse; /* gfc_walk_elemental_function_args renders the ss chain in the reverse order to the actual argument order. */ @@ -413,9 +414,14 @@ gfc_trans_call (gfc_code * code, bool dependency_check) check_variable = ELEM_CHECK_VARIABLE; else check_variable = ELEM_DONT_CHECK_VARIABLE; - gfc_conv_elemental_dependencies (&se, &loopse, code->resolved_sym, + + gfc_init_se (&depse, NULL); + gfc_conv_elemental_dependencies (&depse, &loopse, code->resolved_sym, code->ext.actual, check_variable); + gfc_add_block_to_block (&loop.pre, &depse.pre); + gfc_add_block_to_block (&loop.post, &depse.post); + /* Generate the loop body. */ gfc_start_scalarized_body (&loop, &body); gfc_init_block (&block); |