c5cdb03fb9
PR c/39495 * c-parser.c (c_parser_omp_for_loop): Call c_parser_binary_expression instead of c_parser_expression_conv, if original_code isn't one of the 4 allowed comparison codes, fail. * semantics.c (handle_omp_for_class_iterator): Swap cond operands and code if iter is the second operand. * parser.c (cp_parser_binary_expression): Add no_toplevel_fold_p argument. If it is set, don't build the toplevel expression with build_x_binary_op, but build2. (cp_parser_assignment_expression, cp_parser_omp_for_incr): Adjust callers. (cp_parser_omp_for_cond): Don't assume the first operand of the comparison must be decl. * gcc.dg/gomp/pr39495-2.c: Remove xfails. * testsuite/libgomp.c/loop-12.c: New test. * testsuite/libgomp.c/loop-11.c: New test. * testsuite/libgomp.c++/loop-11.C: New test. * testsuite/libgomp.c++/loop-12.C: New test. * testsuite/libgomp.c++/for-8.C: New test. From-SVN: r145014 |
||
---|---|---|
.. | ||
atomic-1.C | ||
c++.exp | ||
collapse-1.C | ||
collapse-2.C | ||
copyin-1.C | ||
copyin-2.C | ||
ctor-1.C | ||
ctor-2.C | ||
ctor-3.C | ||
ctor-4.C | ||
ctor-5.C | ||
ctor-6.C | ||
ctor-7.C | ||
ctor-8.C | ||
ctor-9.C | ||
ctor-10.C | ||
ctor-11.C | ||
ctor-12.C | ||
for-1.C | ||
for-2.C | ||
for-3.C | ||
for-4.C | ||
for-5.C | ||
for-6.C | ||
for-7.C | ||
for-8.C | ||
loop-1.C | ||
loop-2.C | ||
loop-3.C | ||
loop-4.C | ||
loop-5.C | ||
loop-6.C | ||
loop-7.C | ||
loop-8.C | ||
loop-9.C | ||
loop-10.C | ||
loop-11.C | ||
loop-12.C | ||
master-1.C | ||
nested-1.C | ||
parallel-1.C | ||
pr24455-1.C | ||
pr24455.C | ||
pr26691.C | ||
pr26943.C | ||
pr27337.C | ||
pr30703.C | ||
pr34513.C | ||
pr35185.C | ||
pr38650.C | ||
reduction-1.C | ||
reduction-2.C | ||
reduction-3.C | ||
sections-1.C | ||
shared-1.C | ||
shared-2.C | ||
single-1.C | ||
single-2.C | ||
single-3.C | ||
task-1.C | ||
task-2.C | ||
task-3.C | ||
task-4.C | ||
task-5.C | ||
task-6.C | ||
task-7.C |