diff options
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-array.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 67f9e09..1091b18 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2015-05-08 Mikael Morin <mikael@gcc.gnu.org> + + * trans-array.c (gfc_walk_elemental_function_args): + Don't skip the advance to the next dummy argument when skipping + absent optional args. + 2015-05-05 David Malcolm <dmalcolm@redhat.com> * expr.c (check_inquiry): Fix indentation so that it reflects the diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index a17f431..00334b1 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -9092,7 +9092,7 @@ gfc_walk_elemental_function_args (gfc_ss * ss, gfc_actual_arglist *arg, for (; arg; arg = arg->next) { if (!arg->expr || arg->expr->expr_type == EXPR_NULL) - continue; + goto loop_continue; newss = gfc_walk_subexpr (head, arg->expr); if (newss == head) @@ -9122,6 +9122,7 @@ gfc_walk_elemental_function_args (gfc_ss * ss, gfc_actual_arglist *arg, tail = tail->next; } +loop_continue: if (dummy_arg != NULL) dummy_arg = dummy_arg->next; } |