This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r228973 - in /branches/gomp-4_5-branch/gcc: Cha...
- From: jakub at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 19 Oct 2015 15:49:04 -0000
- Subject: r228973 - in /branches/gomp-4_5-branch/gcc: Cha...
Author: jakub
Date: Mon Oct 19 15:49:04 2015
New Revision: 228973
URL: https://gcc.gnu.org/viewcvs?rev=228973&root=gcc&view=rev
Log:
gcc/
* tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of
OMP_FOR_CHECK. Remove comment.
* tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE,
OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument.
gcc/c-family/
* c-common.h (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New
prototypes.
* c-omp.c (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
Don't call add_stmt here.
(struct c_omp_check_loop_iv_data): New type.
(c_omp_check_loop_iv_r, c_omp_check_loop_iv,
c_omp_check_loop_iv_exprs): New functions.
gcc/c/
* c-parser.c (c_parser_omp_for_loop): Call c_omp_check_loop_iv.
Call add_stmt here.
gcc/cp/
* cp-tree.h (finish_omp_for): Add ORIG_INITS argument.
* parser.c (cp_parser_omp_for_loop_init): Add ORIG_INIT argument,
initialize it.
(cp_parser_omp_for_loop): Compute orig_inits, pass it's address
to finish_omp_for.
* pt.c (tsubst_expr): Use OMP_FOR_ORIG_DECLS for all
OpenMP/OpenACC/Cilk+ looping constructs. Adjust finish_omp_for
caller.
* semantics.c (handle_omp_for_class_iterator): Add ORIG_DECLS
argument. Call c_omp_check_loop_iv_exprs on cond.
(finish_omp_for): Add ORIG_INITS argument. Call
c_omp_check_loop_iv_exprs on ORIG_INITS elements. Adjust
handle_omp_for_class_iterator caller. Call c_omp_check_loop_iv.
Call add_stmt.
gcc/testsuite/
* c-c++-common/gomp/pr67521.c: Add dg-error directives.
* gcc.dg/gomp/loop-1.c: New test.
* g++.dg/gomp/pr38639.C (foo): Adjust dg-error.
(bar): Remove dg-message.
* g++.dg/gomp/loop-1.C: New test.
* g++.dg/gomp/loop-2.C: New test.
* g++.dg/gomp/loop-3.C: New test.
Added:
branches/gomp-4_5-branch/gcc/testsuite/g++.dg/gomp/loop-1.C
branches/gomp-4_5-branch/gcc/testsuite/g++.dg/gomp/loop-2.C
branches/gomp-4_5-branch/gcc/testsuite/g++.dg/gomp/loop-3.C
branches/gomp-4_5-branch/gcc/testsuite/gcc.dg/gomp/loop-1.c
Modified:
branches/gomp-4_5-branch/gcc/ChangeLog.gomp
branches/gomp-4_5-branch/gcc/c-family/c-common.h
branches/gomp-4_5-branch/gcc/c-family/c-omp.c
branches/gomp-4_5-branch/gcc/c/ChangeLog.gomp
branches/gomp-4_5-branch/gcc/c/c-parser.c
branches/gomp-4_5-branch/gcc/cp/ChangeLog.gomp
branches/gomp-4_5-branch/gcc/cp/cp-tree.h
branches/gomp-4_5-branch/gcc/cp/parser.c
branches/gomp-4_5-branch/gcc/cp/pt.c
branches/gomp-4_5-branch/gcc/cp/semantics.c
branches/gomp-4_5-branch/gcc/testsuite/ChangeLog.gomp
branches/gomp-4_5-branch/gcc/testsuite/c-c++-common/gomp/pr67521.c
branches/gomp-4_5-branch/gcc/testsuite/g++.dg/gomp/pr38639.C
branches/gomp-4_5-branch/gcc/tree.def
branches/gomp-4_5-branch/gcc/tree.h