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
..
appendix-a affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
examples-4 e.53.4.c: Add -DITESTITERS=20 to dg-options unless expensive testing is on. 2014-11-26 20:36:36 +01:00
affinity-1.c Update copyright years. 2015-01-05 13:33:28 +01:00
atomic-1.c
atomic-2.c
atomic-3.c
atomic-4.c
atomic-5.c
atomic-6.c
atomic-10.c
atomic-11.c
atomic-12.c
atomic-13.c
atomic-14.c
atomic-15.c
atomic-16.c
atomic-17.c c-parser.c (c_parser_omp_atomic): Allow seq_cst before atomic-clause... 2014-04-24 23:20:28 +02:00
atomic-18.c re PR middle-end/64824 (ICE in gimple verification) 2015-02-11 14:40:31 +01:00
autopar-1.c
barrier-1.c
c.exp libgomp.exp (libgomp_target_compile): If $source matches regex $lang_source_re, add $lang_include_flags to options. 2014-07-03 20:45:35 +02:00
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
collapse-1.c
collapse-2.c
collapse-3.c
copyin-1.c
copyin-2.c
copyin-3.c
critical-1.c
critical-2.c
debug-1.c
depend-1.c
depend-2.c
depend-3.c
depend-4.c
depend-5.c libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. 2014-08-01 10:05:13 +02:00
depend-6.c task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero... 2014-08-04 17:45:50 +02:00
depend-7.c task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero... 2014-08-04 17:45:50 +02:00
depend-8.c task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero... 2014-08-04 17:45:50 +02:00
depend-9.c task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero... 2014-08-04 17:45:50 +02:00
depend-10.c task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero... 2014-08-04 17:45:50 +02:00
for-1.c
for-1.h
for-2.c gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in clauses use private clause if... 2014-06-24 09:53:52 +02:00
for-2.h gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in clauses use private clause if... 2014-06-24 09:53:52 +02:00
for-3.c
icv-1.c
icv-2.c affinity-1.c: Remove alloca.h inlcude. 2013-12-17 19:05:32 +01:00
lib-1.c
lib-2.c
lock-1.c
lock-2.c
lock-3.c affinity-1.c: Remove alloca.h inlcude. 2013-12-17 19:05:32 +01:00
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
loop-16.c tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. 2014-04-24 23:17:32 +02:00
nested-1.c
nested-2.c
nested-3.c
nestedfn-1.c
nestedfn-2.c
nestedfn-3.c
nestedfn-4.c
nestedfn-5.c
nestedfn-6.c
nqueens-1.c affinity-1.c: Include <sys/wait.h>. 2014-10-06 11:54:24 +00:00
omp_hello.c
omp_matvec.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
omp_orphan.c
omp_reduction.c
omp_workshare1.c
omp_workshare2.c
omp_workshare3.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
omp_workshare4.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
omp-loop01.c
omp-loop02.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
omp-loop03.c
omp-nested-1.c
omp-parallel-for.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
omp-parallel-if.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
omp-single-1.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
omp-single-2.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
omp-single-3.c
ordered-1.c
ordered-2.c
ordered-3.c
parallel-1.c
pr24455-1.c
pr24455.c
pr26171.c
pr26943-1.c
pr26943-2.c
pr26943-3.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
pr26943-4.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
pr29947-1.c
pr29947-2.c
pr30494.c
pr32362-1.c
pr32362-2.c
pr32362-3.c
pr32468.c
pr33880.c
pr34513.c
pr35130.c
pr35196.c
pr35549.c
pr35625.c
pr36802-1.c
pr36802-2.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
pr36802-3.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
pr38650.c
pr39154.c
pr39591-1.c
pr39591-2.c
pr39591-3.c
pr42029.c
pr42942.c
pr43893.c
pr46886.c
pr48591.c affinity-1.c: Remove alloca.h inlcude. 2013-12-17 19:05:32 +01:00
pr49897-1.c
pr49897-2.c
pr49898-1.c
pr49898-2.c
pr52547.c
pr58392.c
pr58756.c
pr61200.c re PR libgomp/61200 (internal compiler error: Segmentation fault, assert & openmp) 2014-10-03 09:29:42 +02:00
pr64734.c re PR middle-end/64734 (ICE at omp lowering) 2015-01-23 19:19:50 +01:00
pr64824.c re PR middle-end/64824 (ICE in gimple verification) 2015-02-04 23:32:36 +01:00
pr64868.c re PR middle-end/64824 (ICE in gimple verification) 2015-02-04 23:32:36 +01:00
pr66133.c re PR middle-end/66133 (Wrong-code with noreturn #pragma omp task body) 2015-05-13 18:59:20 +02:00
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
private-1.c
reduction-1.c
reduction-2.c
reduction-3.c
reduction-4.c
reduction-5.c
reduction-6.c
sections-1.c
sections-2.c
shared-1.c affinity-1.c: Fix implicit declarations. 2014-10-06 10:20:45 +00:00
shared-2.c
shared-3.c
simd-1.c
simd-2.c
simd-3.c
simd-4.c
simd-5.c
simd-6.c
simd-7.c tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. 2014-04-24 23:17:32 +02:00
simd-8.c tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. 2014-04-24 23:17:32 +02:00
simd-9.c tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. 2014-04-24 23:17:32 +02:00
simd-10.c gimplify.c (gimplify_adjust_omp_clauses_1): Handle GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE. 2014-05-02 19:43:40 +02:00
simd-11.c gimplify.c (gimplify_adjust_omp_clauses_1): Handle GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE. 2014-05-02 19:43:40 +02:00
simd-12.c gimplify.c (gimplify_adjust_omp_clauses_1): Handle GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE. 2014-05-02 19:43:40 +02:00
simd-13.c gimplify.c (gimplify_adjust_omp_clauses_1): Handle GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE. 2014-05-02 19:43:40 +02:00
simd-14.c gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in clauses use private clause if... 2014-06-24 09:53:52 +02:00
simd-15.c gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in clauses use private clause if... 2014-06-24 09:53:52 +02:00
simd-16.c gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in clauses use private clause if... 2014-06-24 09:53:52 +02:00
simd-17.c gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator not mentioned in clauses use private clause if... 2014-06-24 09:53:52 +02:00
single-1.c
single-2.c
sort-1.c Update copyright years. 2015-01-05 13:33:28 +01:00
target-1.c
target-2.c
target-3.c
target-4.c
target-5.c
target-6.c
target-7.c [PATCH 7/7] OpenMP 4.0 offloading infrastructure: testsuite. 2014-11-13 13:56:22 +00:00
target-8.c gimplify.c (omp_notice_variable): If n is non-NULL and no flags change in ORT_TARGET region, don't jump to do_outer. 2014-06-18 09:16:12 +02:00
target-9.c Make fopenmp an LTO option 2015-01-23 12:53:55 +00:00
target-10.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
target-critical-1.c omp-low.c (lower_omp_critical): Mark critical sections inside target functions as offloadable. 2014-11-28 13:59:49 +00:00
task-1.c
task-2.c
task-3.c
task-4.c
task-5.c
taskgroup-1.c
thread-limit-1.c affinity-1.c: Include <sys/wait.h>. 2014-10-06 11:54:24 +00:00
thread-limit-2.c affinity-1.c: Include <sys/wait.h>. 2014-10-06 11:54:24 +00:00
thread-limit-3.c
udr-1.c
udr-2.c
udr-3.c
vla-1.c