------- Comment #4 from jakub at gcc dot gnu dot org 2009-03-23 21:05 ------- Subject: Bug 39495
Author: jakub Date: Mon Mar 23 21:05:30 2009 New Revision: 145014 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145014 Log: 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. Added: trunk/libgomp/testsuite/libgomp.c++/for-8.C trunk/libgomp/testsuite/libgomp.c++/loop-11.C trunk/libgomp/testsuite/libgomp.c++/loop-12.C trunk/libgomp/testsuite/libgomp.c/loop-11.c trunk/libgomp/testsuite/libgomp.c/loop-12.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-parser.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/parser.c trunk/gcc/cp/semantics.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/gomp/pr39495-2.c trunk/libgomp/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39495