aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2015-05-08 14:53:20 +0000
committerMikael Morin <mikael@gcc.gnu.org>2015-05-08 14:53:20 +0000
commit4a8108f0ab7310371123340e0181ff4afd84789e (patch)
tree976e7c0d87b64f4aa4ad9632925fa33a6061a93b /gcc/fortran/trans-array.c
parent2a812183d676b5b19fa9a4ad0520681e11c9d016 (diff)
downloadgcc-4a8108f0ab7310371123340e0181ff4afd84789e.zip
gcc-4a8108f0ab7310371123340e0181ff4afd84789e.tar.gz
gcc-4a8108f0ab7310371123340e0181ff4afd84789e.tar.bz2
trans-array.c (gfc_walk_elemental_function_args): Don't skip the advance to the next dummy argument when...
gcc/fortran/ * trans-array.c (gfc_walk_elemental_function_args): Don't skip the advance to the next dummy argument when skipping absent optional args. gcc/testsuite/ * gfortran.dg/elemental_optional_args_7.f90: New. From-SVN: r222913
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r--gcc/fortran/trans-array.c3
1 files changed, 2 insertions, 1 deletions
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;
}