This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r249770 - in /branches/gomp-5_0-branch: gcc/Cha...
- From: jakub at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 29 Jun 2017 08:40:05 -0000
- Subject: r249770 - in /branches/gomp-5_0-branch: gcc/Cha...
Author: jakub
Date: Thu Jun 29 08:40:05 2017
New Revision: 249770
URL: https://gcc.gnu.org/viewcvs?rev=249770&root=gcc&view=rev
Log:
gcc/
* omp-general.c (omp_extract_for_data): Allow NE_EXPR
even in OpenMP loops, transform them into LT_EXPR or
GT_EXPR loops depending on incr sign. Formatting fixes.
gcc/c-family/
* c-common.h (c_finish_omp_for): Add FINAL_P argument.
* c-omp.c (check_omp_for_incr_expr): Formatting fixes.
(c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
even in OpenMP loops, diagnose if NE_EXPR and incr expression
is not constant expression 1 or -1. Transform NE_EXPR loops
with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
gcc/c/
* c-parser.c (c_parser_omp_for_loop): Allow NE_EXPR even in
OpenMP loops, adjust c_finish_omp_for caller.
gcc/cp/
* parser.c (cp_parser_omp_for_cond): Allow NE_EXPR even in OpenMP
loops.
* pt.c (dependent_omp_for_p): Return true if class type iterator
does not have INTEGER_CST increment.
* semantics.c (handle_omp_for_class_iterator): Call cp_fully_fold
on incr.
(finish_omp_for): Adjust c_finish_omp_for caller.
gcc/testsuite/
* c-c++-common/gomp/for-1.c: New test.
* c-c++-common/gomp/for-2.c: New test.
* c-c++-common/gomp/for-3.c: New test.
* c-c++-common/gomp/for-4.c: New test.
* c-c++-common/gomp/for-5.c: New test.
* gcc.dg/gomp/pr39495-2.c (foo): Don't expect errors on !=.
* g++.dg/gomp/pr39495-2.C (foo): Likewise.
* g++.dg/gomp/loop-4.C: New test.
libgomp/
* testsuite/libgomp.c/for-2.h: If CONDNE macro is defined, define
a different N(test), don't define N(f0) to N(f14), but instead define
N(f20) to N(f34) using != comparisons.
* testsuite/libgomp.c/for-4.c: Use dg-additional-options.
* testsuite/libgomp.c/for-7.c: New test.
* testsuite/libgomp.c/for-8.c: New test.
* testsuite/libgomp.c/for-9.c: New test.
* testsuite/libgomp.c/for-10.c: New test.
* testsuite/libgomp.c/for-11.c: New test.
* testsuite/libgomp.c/for-12.c: New test.
* testsuite/libgomp.c/for-13.c: New test.
* testsuite/libgomp.c++/for-12.C: Remove dg-options.
* testsuite/libgomp.c++/for-15.C: New test.
* testsuite/libgomp.c++/for-16.C: New test.
* testsuite/libgomp.c++/for-17.C: New test.
* testsuite/libgomp.c++/for-18.C: New test.
* testsuite/libgomp.c++/for-19.C: New test.
* testsuite/libgomp.c++/for-20.C: New test.
* testsuite/libgomp.c++/for-21.C: New test.
* testsuite/libgomp.c++/for-22.C: New test.
* testsuite/libgomp.c++/for-23.C: New test.
Added:
branches/gomp-5_0-branch/gcc/testsuite/c-c++-common/gomp/for-1.c
branches/gomp-5_0-branch/gcc/testsuite/c-c++-common/gomp/for-2.c
branches/gomp-5_0-branch/gcc/testsuite/c-c++-common/gomp/for-3.c
branches/gomp-5_0-branch/gcc/testsuite/c-c++-common/gomp/for-4.c
branches/gomp-5_0-branch/gcc/testsuite/c-c++-common/gomp/for-5.c
branches/gomp-5_0-branch/gcc/testsuite/g++.dg/gomp/loop-4.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-15.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-16.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-17.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-18.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-19.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-20.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-21.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-22.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-23.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-10.c
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-11.c
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-12.c
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-13.c
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-7.c
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-8.c
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-9.c
Modified:
branches/gomp-5_0-branch/gcc/ChangeLog.gomp
branches/gomp-5_0-branch/gcc/c-family/ChangeLog.gomp
branches/gomp-5_0-branch/gcc/c-family/c-common.h
branches/gomp-5_0-branch/gcc/c-family/c-omp.c
branches/gomp-5_0-branch/gcc/c/ChangeLog.gomp
branches/gomp-5_0-branch/gcc/c/c-parser.c
branches/gomp-5_0-branch/gcc/cp/ChangeLog.gomp
branches/gomp-5_0-branch/gcc/cp/parser.c
branches/gomp-5_0-branch/gcc/cp/pt.c
branches/gomp-5_0-branch/gcc/cp/semantics.c
branches/gomp-5_0-branch/gcc/omp-general.c
branches/gomp-5_0-branch/gcc/testsuite/ChangeLog.gomp
branches/gomp-5_0-branch/gcc/testsuite/g++.dg/gomp/pr39495-2.C
branches/gomp-5_0-branch/gcc/testsuite/gcc.dg/gomp/pr39495-2.c
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c++/for-12.C
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-2.h
branches/gomp-5_0-branch/libgomp/testsuite/libgomp.c/for-4.c