gcc/libgomp/testsuite/libgomp.c-c++-common
Jakub Jelinek 059b819e3c openmp: Add support for allocator and align modifiers on allocate clauses
As the allocate-2.c testcase shows, this change isn't 100% backwards compatible,
one could have allocate and/or align functions that return an OpenMP allocator
handle and previously it would call those functions and now would use those
names as keywords for the modifiers.  But it allows specify extra alignment
requirements for the allocations.

2021-09-22  Jakub Jelinek  <jakub@redhat.com>

gcc/
	* tree.h (OMP_CLAUSE_ALLOCATE_ALIGN): Define.
	* tree.c (omp_clause_num_ops): Change number of OMP_CLAUSE_ALLOCATE
	arguments from 2 to 3.
	* tree-pretty-print.c (dump_omp_clause): Print allocator() around
	allocate clause allocator and print align if present.
	* omp-low.c (scan_sharing_clauses): Force allocate_map entry even
	for omp_default_mem_alloc if align modifier is present.  If align
	modifier is present, use TREE_LIST to encode both allocator and
	align.
	(lower_private_allocate, lower_rec_input_clauses, create_task_copyfn):
	Handle align modifier on allocator clause if present.
gcc/c-family/
	* c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN.
gcc/c/
	* c-parser.c (c_parser_omp_clause_allocate): Parse allocate clause
	modifiers.
gcc/cp/
	* parser.c (cp_parser_omp_clause_allocate): Parse allocate clause
	modifiers.
	* semantics.c (finish_omp_clauses) <OMP_CLAUSE_ALLOCATE>: Perform
	semantic analysis of OMP_CLAUSE_ALLOCATE_ALIGN.
	* pt.c (tsubst_omp_clauses) <case OMP_CLAUSE_ALLOCATE>: Handle
	also OMP_CLAUSE_ALLOCATE_ALIGN.
gcc/testsuite/
	* c-c++-common/gomp/allocate-6.c: New test.
	* c-c++-common/gomp/allocate-7.c: New test.
	* g++.dg/gomp/allocate-4.C: New test.
libgomp/
	* testsuite/libgomp.c-c++-common/allocate-2.c: New test.
	* testsuite/libgomp.c-c++-common/allocate-3.c: New test.
2021-09-22 09:29:13 +02:00
..
alloc-1.c
alloc-2.c
alloc-3.c
alloc-4.c
allocate-1.c
allocate-2.c openmp: Add support for allocator and align modifiers on allocate clauses 2021-09-22 09:29:13 +02:00
allocate-3.c openmp: Add support for allocator and align modifiers on allocate clauses 2021-09-22 09:29:13 +02:00
atomic-18.c
atomic-19.c openmp: Add support for OpenMP 5.1 atomics for C++ 2021-09-17 11:28:31 +02:00
atomic-20.c openmp: Add support for OpenMP 5.1 atomics for C++ 2021-09-17 11:28:31 +02:00
atomic-21.c openmp: Add support for OpenMP 5.1 atomics for C++ 2021-09-17 11:28:31 +02:00
cancel-parallel-1.c
cancel-taskgroup-1.c
cancel-taskgroup-2.c
cancel-taskgroup-3.c
cancel-taskgroup-4.c
critical-hint-1.c
critical-hint-2.c
declare_target-1.c OpenMP: Fix 'omp declare target' handling for vars [PR99509] 2021-03-15 10:12:58 +01:00
default-1.c openmp: Allow private or firstprivate arguments to default clause even for C/C++ 2021-09-18 09:47:25 +02:00
depend-iterator-1.c
depend-iterator-2.c
depend-mutexinout-1.c
depend-mutexinout-2.c
depobj-1.c
display-affinity-1.c
error-1.c libgomp.*/error-1.{c,f90}: Fix dg-output newline pattern 2021-09-03 15:27:00 +02:00
for-1.c
for-1.h
for-2.c
for-2.h
for-3.c openmp: Fix up handling of target constructs in offloaded routines [PR100573] 2021-05-26 11:28:42 +02:00
for-4.c
for-5.c
for-6.c
for-7.c
for-8.c
for-9.c
for-10.c
for-11.c
for-12.c
for-13.c
for-14.c
for-15.c
for-16.c
function-not-offloaded-aux.c
function-not-offloaded.c libgomp/testsuite: Fix checks for dg-excess-errors 2021-04-21 20:07:19 +02:00
lastprivate-conditional-1.c
lastprivate-conditional-2.c
lastprivate-conditional-3.c
lastprivate-conditional-4.c
lastprivate-conditional-5.c
lastprivate-conditional-6.c
lastprivate-conditional-7.c
lastprivate-conditional-8.c
lastprivate-conditional-9.c
lastprivate-conditional-10.c
loop-1.c
loop-13.c
loop-14.c
loop-15.c
masked-1.c openmp: Add support for OpenMP 5.1 masked construct 2021-08-12 22:41:17 +02:00
master-combined-1.c
monotonic-1.c
monotonic-2.c
nested-parallel-unbalanced.c
nonmonotonic-1.c
nonmonotonic-2.c
nothing-1.c openmp: Add nothing directive support 2021-08-18 11:10:43 +02:00
on_device_arch.h Allow matching Intel MIC in OpenMP 'declare variant' 2021-08-23 17:45:40 +02:00
ordered-4.c
pause-1.c
pause-2.c
pr45784.c
pr64824.c
pr64868.c
pr66199-1.c
pr66199-2.c
pr66199-3.c
pr66199-4.c
pr66199-5.c
pr66199-6.c
pr66199-7.c
pr66199-8.c
pr66199-9.c
pr66199-10.c
pr66199-11.c
pr66199-12.c
pr66199-13.c
pr66199-14.c
pr69389.c
pr81875.c
pr83046.c
pr93515.c
pr94366.c openmp - Fix up && and || reductions [PR94366] 2021-07-01 08:55:49 +02:00
pr96390.c libgomp, testsuite : Require alias support for PR96390 testcase. 2021-02-27 16:31:34 +00:00
ptr-attach-1.c
reduction-1.c OpenMP: Support complex/float in && and || reduction 2021-05-04 14:42:26 +02:00
reduction-2.c OpenMP: Support complex/float in && and || reduction 2021-05-04 14:42:26 +02:00
reduction-3.c OpenMP: Support complex/float in && and || reduction 2021-05-04 14:42:26 +02:00
reduction-4.c OpenMP: Support complex/float in && and || reduction 2021-05-04 14:42:26 +02:00
reduction-5.c Add 'default' to -foffload=; document that flag [PR67300] 2021-06-29 16:00:04 +02:00
reduction-6.c Add 'default' to -foffload=; document that flag [PR67300] 2021-06-29 16:00:04 +02:00
reduction-16.c Add 'default' to -foffload=; document that flag [PR67300] 2021-06-29 16:00:04 +02:00
reduction-17.c openmp: Fix reduction clause handling on teams distribute simd [PR99928] 2021-05-25 11:07:01 +02:00
refcount-1.c libgomp: Structure element mapping for OpenMP 5.0 2021-06-17 21:34:59 +08:00
scope-1.c openmp: Implement OpenMP 5.1 scope construct 2021-08-17 09:30:09 +02:00
simd-1.c
simd-14.c
simd-15.c
simd-16.c
simd-17.c
struct-elem-1.c libgomp: Structure element mapping for OpenMP 5.0 2021-06-17 21:34:59 +08:00
struct-elem-2.c libgomp: Structure element mapping for OpenMP 5.0 2021-06-17 21:34:59 +08:00
struct-elem-3.c libgomp: Structure element mapping for OpenMP 5.0 2021-06-17 21:34:59 +08:00
struct-elem-4.c libgomp: Structure element mapping for OpenMP 5.0 2021-06-17 21:34:59 +08:00
struct-elem-5.c testsuite/101114: Adjust libgomp.c-c++-common/struct-elem-5.c testcase 2021-06-26 00:46:11 +08:00
target-1.c
target-2.c
target-10.c
target-13.c
target-40.c
target-41.c openmp: Fix up handling of target constructs in offloaded routines [PR100573] 2021-05-26 11:28:42 +02:00
target-42.c openmp: Fix up handling of target constructs in offloaded routines [PR100573] 2021-05-26 11:28:42 +02:00
target-45.c Allow matching Intel MIC in OpenMP 'declare variant' 2021-08-23 17:45:40 +02:00
target-in-reduction-1.c openmp: in_reduction clause support on target construct 2021-06-24 11:35:08 +02:00
target-in-reduction-2.c openmp: in_reduction clause support on target construct 2021-06-24 11:35:08 +02:00
task-detach-1.c
task-detach-2.c
task-detach-3.c
task-detach-4.c
task-detach-5.c
task-detach-6.c XFAIL OpenMP/nvptx execution-time hangs for simple nested OpenMP 'target'/'parallel'/'task' constructs [PR99555] 2021-04-15 11:13:27 +02:00
task-detach-7.c
task-detach-8.c
task-detach-9.c
task-detach-10.c
task-detach-11.c
task-detach-12.c OpenMP: detach - fix firstprivate handling 2021-05-13 00:14:34 +02:00
task-detach-13.c openmp: Notify team barrier of pending tasks in omp_fulfill_event 2021-05-17 13:15:08 -07:00
task-reduction-1.c
task-reduction-2.c
task-reduction-3.c
task-reduction-4.c
task-reduction-5.c
task-reduction-6.c
task-reduction-7.c
task-reduction-8.c
task-reduction-9.c
task-reduction-11.c
task-reduction-12.c
task-reduction-13.c
task-reduction-14.c
task-reduction-15.c openmp: Fix up *_reduction clause handling with UDRs on PARM_DECLs [PR101167] 2021-06-23 10:03:28 +02:00
task-reduction-16.c openmp: Implement OpenMP 5.1 scope construct 2021-08-17 09:30:09 +02:00
taskgroup-1.c
taskloop-1.c
taskloop-2.c
taskloop-3.c
taskloop-4.c openmp: Add support for strict modifier on grainsize/num_tasks clauses 2021-08-23 10:16:24 +02:00
taskloop-5.c openmp: Add support for strict modifier on grainsize/num_tasks clauses 2021-08-23 10:16:24 +02:00
taskloop-reduction-1.c
taskloop-reduction-2.c
taskloop-reduction-3.c
taskloop-reduction-4.c
taskwait-depend-1.c
udr-1.c
unmap-infinity-2.c
variable-not-offloaded.c libgomp/testsuite: Fix checks for dg-excess-errors 2021-04-21 20:07:19 +02:00