gcc/libgomp/testsuite/libgomp.c++
Jakub Jelinek 41b37d5ec1 re PR middle-end/66199 (lastprivate/linear clause issues on combined constructs)
PR middle-end/66199
	* tree.h (OMP_TEAMS_COMBINED): Define.
	* gimplify.c (enum gimplify_omp_var_data): Add
	GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
	(enum omp_region_type): Add ORT_COMBINED_TEAMS.
	(omp_notice_variable): Accept both ORT_TEAMS
	and ORT_COMBINED_TEAMS.  Don't recurse if
	GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
	GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
	GOVD_FIRSTPRIVATE.
	(omp_no_lastprivate): New function.
	(gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
	and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
	notice_outer and set appropriate bits, otherwise make
	sure default(none) combined constructs won't complain.
	(gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
	outer special casing, for OMP_CLAUSE_LASTPRIVATE if
	omp_no_lastprivate either remove the clause or turn it
	into OMP_CLAUSE_PRIVATE.
	(gimplify_omp_for): Fix up handling of implicit
	lastprivate or linear iterators.
	(gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
	ORT_COMBINED_TEAMS.
	* omp-low.c (lower_omp_for_lastprivate): For combined
	for simd use fd.loop.n2 from the for rather than simd.
gcc/c/
	* c-parser.c (c_parser_omp_for_loop): Don't add
	OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
	OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
	(c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
	constructs.
gcc/cp/
	* parser.c (cp_parser_omp_for_loop): Don't add
	OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
	OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
	(cp_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
	constructs.
gcc/fortran/
	* trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
	combined constructs.
	(gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
	BIND_EXPR_BLOCK.
libgomp/
	* testsuite/libgomp.c/pr66199-1.c: New test.
	* testsuite/libgomp.c/pr66199-2.c: New test.
	* testsuite/libgomp.c++/pr66199-1.C: New test.
	* testsuite/libgomp.c++/pr66199-2.C: New test.
	* testsuite/libgomp.fortran/pr66199-1.f90: New test.
	* testsuite/libgomp.fortran/pr66199-2.f90: New test.

From-SVN: r223387
2015-05-19 18:16:15 +02:00
..
examples-4
affinity-1.C
atomic-1.C
atomic-2.C
atomic-3.C
atomic-4.C
atomic-5.C
atomic-6.C
atomic-7.C
atomic-8.C
atomic-9.C
atomic-10.C
atomic-11.C
atomic-12.C
atomic-13.C
atomic-14.C
atomic-15.C
atomic-16.C re PR middle-end/64824 (ICE in gimple verification) 2015-02-11 14:40:31 +01:00
c++.exp
cancel-for-1.C
cancel-for-2.C
cancel-parallel-1.C
cancel-parallel-2.C
cancel-parallel-3.C
cancel-sections-1.C
cancel-taskgroup-1.C
cancel-taskgroup-2.C
cancel-taskgroup-3.C
cancel-test.h
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
for-9.C
for-10.C
for-11.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
loop-13.C
loop-14.C
loop-15.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
pr39573.C
pr43893.C
pr48869.C
pr49043.C
pr56217.C
pr63248.C
pr64824.C
pr64868.C
pr66199-1.C re PR middle-end/66199 (lastprivate/linear clause issues on combined constructs) 2015-05-19 18:16:15 +02:00
pr66199-2.C re PR middle-end/66199 (lastprivate/linear clause issues on combined constructs) 2015-05-19 18:16:15 +02:00
reduction-1.C
reduction-2.C
reduction-3.C
reduction-4.C
sections-1.C
shared-1.C
shared-2.C
simd10.C
simd11.C
simd12.C
simd13.C
simd-1.C
simd-2.C
simd-3.C
simd-4.C
simd-5.C
simd-6.C
simd-7.C
simd-8.C
simd-9.C
single-1.C
single-2.C
single-3.C
target-1.C
target-2-aux.cc
target-2.C
target-3.C
target-4.C c-decl.c (c_decl_attributes): Also add "omp declare target" attribute for DECL_EXTERNAL VAR_DECLs. 2015-03-19 20:12:43 +01:00
task-1.C
task-2.C
task-3.C
task-4.C
task-5.C
task-6.C
task-7.C
task-8.C
taskgroup-1.C
tls-init1.C
udr-1.C
udr-2.C
udr-3.C
udr-4.C
udr-5.C
udr-6.C
udr-7.C
udr-8.C
udr-9.C
udr-11.C
udr-12.C
udr-13.C
udr-14.C
udr-15.C
udr-16.C
udr-17.C
udr-18.C
udr-19.C