]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
08c5d26a
GA
12023-12-18 Jakub Jelinek <jakub@redhat.com>
2
3 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
4 drop because of that unneeded target selector from other directives
5 and remove the aarch64 specific ones.
6
ea54b390
GA
72023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
8
9 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
10 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11
122023-12-15 Thomas Schwinge <thomas@codesourcery.com>
13
14 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
15 'dg-output's to 'target offload_device_nonshared_as'.
16
172023-12-15 Julian Brown <julian@codesourcery.com>
18
19 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
20 goacc_exit_data_internal, GOACC_enter_exit_data): Add
21 GOMP_MAP_STRUCT_UNORD support.
22 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
23 Detect incorrect use of variable indexing of arrays of structs.
24 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
25 GOMP_MAP_STRUCT_UNORD support.
26 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
27 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
28 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
29 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
30
e8018ccf
GA
312023-12-13 Julian Brown <julian@codesourcery.com>
32
33 * testsuite/libgomp.fortran/map-subarray.f90: New test.
34 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
35 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
36 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
37 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
38 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
39 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
40 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
41 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
42 descriptor-mapping changes. Remove XFAIL.
43
442023-12-13 Julian Brown <julian@codesourcery.com>
45
46 * target.c (gomp_map_pointer): Modify zero-length array section
47 pointer handling.
48 (gomp_attach_pointer): Likewise.
49 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
50 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
51 "unassociated" pointers).
52 (gomp_map_vars_internal): Handle zero-sized struct members. Add
53 diagnostic for unmapped struct pointer members.
54 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
55 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
56 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
57 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
58 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
59 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
60 "free".
61 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
62 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
63 * testsuite/libgomp.c++/class-array-1.C: New test.
64 * testsuite/libgomp.c++/baseptrs-3.C: New test.
65 * testsuite/libgomp.c++/baseptrs-4.C: New test.
66 * testsuite/libgomp.c++/baseptrs-5.C: New test.
67 * testsuite/libgomp.c++/baseptrs-8.C: New test.
68 * testsuite/libgomp.c++/baseptrs-9.C: New test.
69 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
70 * testsuite/libgomp.c++/target-48.C: New test.
71 * testsuite/libgomp.c++/target-49.C: New test.
72 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
73 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
74 semantics.
75 * testsuite/libgomp.c++/target-this-3.C: Likewise.
76 * testsuite/libgomp.c++/target-this-4.C: Likewise.
77 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
78 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
79
802023-12-13 Thomas Schwinge <thomas@codesourcery.com>
81
82 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
83 vs. '%ld' format string mismatch.
84
852023-12-13 Andrew Stubbs <ams@codesourcery.com>
86 Thomas Schwinge <thomas@codesourcery.com>
87
88 * allocator.c (MEMSPACE_ALLOC): Add PIN.
89 (MEMSPACE_CALLOC): Add PIN.
90 (MEMSPACE_REALLOC): Add PIN.
91 (MEMSPACE_FREE): Add PIN.
92 (MEMSPACE_VALIDATE): Add PIN.
93 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
94 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
95 (omp_aligned_calloc): Likewise.
96 (omp_realloc): Likewise.
97 (omp_free): Likewise.
98 * config/linux/allocator.c: New file.
99 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
100 (MEMSPACE_CALLOC): Add PIN.
101 (MEMSPACE_REALLOC): Add PIN.
102 (MEMSPACE_FREE): Add PIN.
103 (MEMSPACE_VALIDATE): Add PIN.
104 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
105 (MEMSPACE_CALLOC): Add PIN.
106 (MEMSPACE_REALLOC): Add PIN.
107 (MEMSPACE_FREE): Add PIN.
108 * libgomp.texi: Switch pinned trait to supported.
109 (MEMSPACE_VALIDATE): Add PIN.
110 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
111 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
112 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
113 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
114
d5c96225
GA
1152023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
116
117 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
118 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
119 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
120
1212023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
122
123 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
124 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
125
1262023-12-11 Tobias Burnus <tobias@codesourcery.com>
127
128 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
129
dd3b75d8
GA
1302023-12-08 Tobias Burnus <tobias@codesourcery.com>
131
132 * allocator.c (struct fort_alloc_splay_tree_key_s,
133 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
134 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
135 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
136 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
137 (GOMP_5.1.1): ... here.
138 * libgomp.texi (Impl. Status, Memory management): Update for
139 allocators/allocate directives.
140 * splay-tree.c: Handle splay_tree_static define to declare all
141 functions as static.
142 (splay_tree_lookup_node): New.
143 * splay-tree.h: Handle splay_tree_decl_only define.
144 (splay_tree_lookup_node): New prototype.
145 * target.c: Define splay_tree_static for 'reverse'.
146 * testsuite/libgomp.fortran/allocators-1.f90: New test.
147 * testsuite/libgomp.fortran/allocators-2.f90: New test.
148 * testsuite/libgomp.fortran/allocators-3.f90: New test.
149 * testsuite/libgomp.fortran/allocators-4.f90: New test.
150 * testsuite/libgomp.fortran/allocators-5.f90: New test.
151
ae9e48e5
GA
1522023-12-06 Andrew Stubbs <ams@codesourcery.com>
153
154 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
155 (TEAM_ARENA_FREE): Likewise.
156 (TEAM_ARENA_END): Likewise.
157 (GCN_LOWLAT_HEAP): New.
158 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
159 (__gcn_lowlat_init): New prototype.
160 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
161 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
162 (TEAM_ARENA_FREE): Likewise.
163 (TEAM_ARENA_END): Likewise.
164 * plugin/plugin-gcn.c (lowlat_size): New variable.
165 (print_kernel_dispatch): Label the group_segment_size purpose.
166 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
167 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
168 (run_kernel): Use shadow; don't assume values.
169 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
170 * config/gcn/allocator.c: New file.
171 * libgomp.texi: Document low-latency implementation details.
172
1732023-12-06 Andrew Stubbs <ams@codesourcery.com>
174
175 * allocator.c (MEMSPACE_VALIDATE): New macro.
176 (omp_init_allocator): Use MEMSPACE_VALIDATE.
177 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
178 (omp_aligned_calloc): Likewise.
179 (omp_realloc): Likewise.
180 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
181 (MEMSPACE_VALIDATE): New macro.
182 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
183 * libgomp.texi: Document low-latency implementation details.
184 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
185 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
186 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
187 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
188 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
189 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
190 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
191
1922023-12-06 Andrew Stubbs <ams@codesourcery.com>
193 Kwok Cheung Yeung <kcy@codesourcery.com>
194 Thomas Schwinge <thomas@codesourcery.com>
195
196 * allocator.c (MEMSPACE_ALLOC): New macro.
197 (MEMSPACE_CALLOC): New macro.
198 (MEMSPACE_REALLOC): New macro.
199 (MEMSPACE_FREE): New macro.
200 (predefined_alloc_mapping): New array. Add _Static_assert to match.
201 (ARRAY_SIZE): New macro.
202 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
203 Implement fall-backs for predefined allocators. Simplify existing
204 fall-backs.
205 (omp_free): Use MEMSPACE_FREE.
206 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
207 predefined allocators. Simplify existing fall-backs.
208 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
209 Implement fall-backs for predefined allocators. Simplify existing
210 fall-backs.
211 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
212 (__nvptx_lowlat_init): New prototype.
213 (gomp_nvptx_main): Call __nvptx_lowlat_init.
214 * libgomp.texi: Update memory space table.
215 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
216 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
217 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
218 * basic-allocator.c: New file.
219 * config/nvptx/allocator.c: New file.
220 * testsuite/libgomp.c/omp_alloc-1.c: New test.
221 * testsuite/libgomp.c/omp_alloc-2.c: New test.
222 * testsuite/libgomp.c/omp_alloc-3.c: New test.
223 * testsuite/libgomp.c/omp_alloc-4.c: New test.
224 * testsuite/libgomp.c/omp_alloc-5.c: New test.
225 * testsuite/libgomp.c/omp_alloc-6.c: New test.
226
8428bcd7
GA
2272023-11-30 Thomas Schwinge <thomas@codesourcery.com>
228
229 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
230 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
231 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
232 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
233 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
234 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
235 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
236 * testsuite/libgomp.c/declare-variant-4.c: New.
237
2382023-11-30 Thomas Schwinge <thomas@codesourcery.com>
239
240 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
241 into 'dg-do link'.
242 * testsuite/libgomp.c/declare-variant-3.c: New.
243 * testsuite/libgomp.c/declare-variant-3.h: Extend.
244
2452023-11-30 Thomas Schwinge <thomas@codesourcery.com>
246
247 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
248 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
249 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
250 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
251 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
252 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
253 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
254 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
255 'scan-offload-tree-dump' to
256 'only_for_offload_target amdgcn-amdhsa'.
257 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
258 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
259 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
260 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
261 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
262
2632023-11-30 Thomas Schwinge <thomas@codesourcery.com>
264
265 * testsuite/libgomp.c/declare-variant-3-sm30.c:
266 'dg-additional-options -foffload=nvptx-none'.
267 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
268 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
269 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
270 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
271 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
272
31d8cf17
GA
2732023-11-29 Thomas Schwinge <thomas@codesourcery.com>
274
275 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
276 'scan-offload-ipa-dump's to
277 'only_for_offload_target amdgcn-amdhsa'.
278 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
279 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
280
77cf1dba
GA
2812023-11-24 Tobias Burnus <tobias@codesourcery.com>
282
283 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
284 is now supported.
285
26a7e775
GA
2862023-11-22 Thomas Schwinge <thomas@codesourcery.com>
287
288 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
289 (f75, f80, f): Add '__attribute__ ((noipa))'.
290 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
291 (gfx908, gfx90a, f): Likewise.
292
17cc2e57
GA
2932023-11-15 Andrew Stubbs <ams@codesourcery.com>
294 Andrew Jenner <andrew@codesourcery.com>
295
296 * plugin/plugin-gcn.c (max_isa_vgprs): New.
297 (run_kernel): CDNA2 devices have more VGPRs.
298
b9fd8399
GA
2992023-11-10 Tobias Burnus <tobias@codesourcery.com>
300
301 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
302 renamed section from TR11.
303
c48f1056
GA
3042023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
305
306 * config/linux/target-indirect.c: Move to...
307 * target-indirect.c: ...here.
308
3092023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
310
311 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
312 * Makefile.in: Regenerate.
313 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
314 (GOMP_OFFLOAD_load_image): Add extra argument.
315 * libgomp.h (struct indirect_splay_tree_key_s): New.
316 (indirect_splay_tree_node, indirect_splay_tree,
317 indirect_splay_tree_key): New.
318 (indirect_splay_compare): New.
319 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
320 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
321 calls in target region and on indirect clause.
322 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
323 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
324 * oacc-host.c (host_load_image): Add extra argument.
325 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
326 enough, read host indirect functions table and pass to
327 load_image_func.
328 * config/accel/target-indirect.c: New.
329 * config/linux/target-indirect.c: New.
330 * config/gcn/team.c (build_indirect_map): Add prototype.
331 (gomp_gcn_enter_kernel): Initialize support for indirect
332 function calls on GCN target.
333 * config/nvptx/team.c (build_indirect_map): Add prototype.
334 (gomp_nvptx_main): Initialize support for indirect function
335 calls on NVPTX target.
336 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
337 indirect functions count.
338 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
339 is high enough, build address translation table and copy it to target
340 memory.
341 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
342 functions count.
343 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
344 is high enough, Build address translation table and copy it to target
345 memory.
346 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
347 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
348 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
349
459866ea
GA
3502023-11-05 Jakub Jelinek <jakub@redhat.com>
351
352 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
353 supported also in C.
354
eac0917b
GA
3552023-10-31 Thomas Schwinge <thomas@codesourcery.com>
356
357 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
358 'acc_map_data' variant.
359
f75fc1f0
GA
3602023-10-25 Thomas Schwinge <thomas@codesourcery.com>
361
362 * oacc-parallel.c (GOACC_data_start): Handle
363 'GOACC_FLAG_LOCAL_DEVICE'.
364 (GOACC_parallel_keyed): Simplify accordingly.
365 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
366
3672023-10-25 Thomas Schwinge <thomas@codesourcery.com>
368
369 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
370 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
371 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
372 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
373 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
374
3752023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
376
377 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
378 GOACC_FLAG_LOCAL_DEVICE case.
379 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
380
3b632746
GA
3812023-10-22 Iain Sandoe <iain@sandoe.co.uk>
382
383 * Makefile.am: Handle Darwin rpaths.
384 * Makefile.in: Regenerate.
385 * configure: Regenerate.
386 * configure.ac: Handle Darwin rpaths
387
6f684dd2
GA
3882023-10-20 Andrew Stubbs <ams@codesourcery.com>
389
390 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
391 (isa_hsa_name): Recognise gfx1030.
392 (isa_code): Likewise.
393 * team.c (defined): Remove s_endpgm.
394
3952023-10-20 Tobias Burnus <tobias@codesourcery.com>
396
397 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
398 _OPENMP >= 201811.
399
d5cfabc6
GA
4002023-10-15 Tobias Burnus <tobias@codesourcery.com>
401
402 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
403 improve wording especially for Fortran; mention -fopenmp-simd.
404 (Enabling OpenACC): Minor cleanup; remove conditional compilation
405 sentinel.
406
4072023-10-15 Tobias Burnus <tobias@codesourcery.com>
408
409 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
410 Actually document what the function does.
411 (GCC_ACC_NOTIFY): Remove unused env var.
412
4132023-10-15 Tobias Burnus <tobias@codesourcery.com>
414
415 * libgomp.texi: Replace most future tense by present tense.
416
b3cb98d7
GA
4172023-10-14 Tobias Burnus <tobias@codesourcery.com>
418
419 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
420 dg-additional-options "-fdump-tree-gimple"; fix scan.
421
4222023-10-14 Tobias Burnus <tobias@codesourcery.com>
423
424 * libgomp.texi: Fix some typos.
425 (Memory Management Routines): Document remaining 5.x routines.
426 (Memory allocation): Make clear when the section applies.
427
4282023-10-14 Tobias Burnus <tobias@codesourcery.com>
429
430 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
431 supports the allocate directive for stack variables.
432 * testsuite/libgomp.fortran/allocate-5.f90: New test.
433 * testsuite/libgomp.fortran/allocate-6.f90: New test.
434 * testsuite/libgomp.fortran/allocate-7.f90: New test.
435 * testsuite/libgomp.fortran/allocate-8.f90: New test.
436
f9ef2e6d
GA
4372023-10-12 Tobias Burnus <tobias@codesourcery.com>
438
439 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
440 OMP_TARGET_OFFLOAD.
441 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
442 clarify MANDATORY behavior.
443
4442023-10-12 Zhang, Jun <jun.zhang@intel.com>
445
446 * env.c (initialize_env): Use do_adjust_default_spincount.
447 * config/linux/x86/spincount.h: New file.
448
00c67d62
GA
4492023-10-08 Tobias Burnus <tobias@codesourcery.com>
450
451 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
452
0defa2a0
GA
4532023-10-06 Tobias Burnus <tobias@codesourcery.com>
454
455 * libgomp.texi (Device Memory Routines): New.
456
bf2e66e3
GA
4572023-10-04 Tobias Burnus <tobias@codesourcery.com>
458
459 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
460 and that other target archs have no 'arch'/'isa' traits implemented.
461
4907d220
GA
4622023-09-20 Tobias Burnus <tobias@codesourcery.com>
463
464 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
465 implemented for C only.
466 * testsuite/libgomp.c/allocate-4.c: New test.
467 * testsuite/libgomp.c/allocate-5.c: New test.
468 * testsuite/libgomp.c/allocate-6.c: New test.
469
4702023-09-20 Jakub Jelinek <jakub@redhat.com>
471
472 PR c++/111392
473 * libgomp.texi: Mark decl attribute was added to the C++ attribute
474 syntax as implemented.
475
590a8bec
GA
4762023-09-19 Jakub Jelinek <jakub@redhat.com>
477
478 PR libgomp/111413
479 * env.c (initialize_env): Don't dereference environ if it is NULL.
480 Reindent.
481
6b78e9a5
GA
4822023-09-18 Richard Biener <rguenther@suse.de>
483
484 PR tree-optimization/111294
485 * team.c (gomp_team_start): Assert alloca size to avoid false
486 positive alloc-size diagnostic.
487
a1c20158
GA
4882023-09-12 Thomas Schwinge <thomas@codesourcery.com>
489 Chung-Lin Tang <cltang@codesourcery.com>
490
491 PR testsuite/91884
492 PR testsuite/109951
493 * configure.ac: Revert earlier changes, instead
494 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
495 * Makefile.in: Regenerate.
496 * configure: Likewise.
497 * testsuite/Makefile.in: Likewise.
498 * testsuite/lib/libgomp.exp (libgomp_init): Remove
499 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
500 If '--with-build-sysroot=[...]' was specified, use it for
501 build-tree testing.
502 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
503 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
504 (SYSROOT_CFLAGS_FOR_TARGET): Set.
505 * testsuite/libgomp.c++/c++.exp (lang_source_re)
506 (lang_include_flags): Set for build-tree testing.
507 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
508 (lang_include_flags): Likewise.
509
109c11f6
GA
5102023-09-07 Tobias Burnus <tobias@codesourcery.com>
511
512 * libgomp.texi (Memory Management Routines): New; add documentation for
513 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
514 omp_get_default_allocator.
515 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
516
478c37e7
TB
5172023-09-07 Tobias Burnus <tobias@codesourcery.com>
518
519 * target.c (gomp_unload_device): Remove tailing whitespace.
520
d820cd78
GA
5212023-09-04 Tobias Burnus <tobias@codesourcery.com>
522 Thomas Schwinge <thomas@codesourcery.com>
523
524 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
525
b8863640
GA
5262023-08-25 Sandra Loosemore <sandra@codesourcery.com>
527
528 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
529
5302023-08-25 Sandra Loosemore <sandra@codesourcery.com>
531
532 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
533 * testsuite/libgomp.fortran/imperfect1.f90: New.
534 * testsuite/libgomp.fortran/imperfect2.f90: New.
535 * testsuite/libgomp.fortran/imperfect3.f90: New.
536 * testsuite/libgomp.fortran/imperfect4.f90: New.
537 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
538 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
539 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
540 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
541
5422023-08-25 Sandra Loosemore <sandra@codesourcery.com>
543
544 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
545 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
546 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
547 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
548 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
549 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
550 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
551 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
552 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
553 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
554
5552023-08-25 Sandra Loosemore <sandra@codesourcery.com>
556
557 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
558 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
559 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
560 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
561 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
562 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
563 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
564 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
565 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
566 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
567 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
568 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
569 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
570
6cd85273
GA
5712023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
572
573 * testsuite/lib/libgomp.exp: Add effective target.
574 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
575 functions.
576
5772023-08-22 Tobias Burnus <tobias@codesourcery.com>
578
579 * libgomp.texi (OpenMP 5.2 status): Add depobj with
580 destroy-var argument as 'N'. Mark defaultmap with
581 'all' category as 'Y'.
582
1ba33636
GA
5832023-08-19 Tobias Burnus <tobias@codesourcery.com>
584
585 PR middle-end/111017
586 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
587
1eb2433f
GA
5882023-08-17 Tobias Burnus <tobias@codesourcery.com>
589
590 PR libgomp/111024
591 * allocator.c (gomp_init_libnuma): Call numa_available; if
592 not available or not returning 0, disable libnuma usage.
593
4b92dba7
GA
5942023-08-07 Nick Alcock <nick.alcock@oracle.com>
595
596 * configure: Regenerate.
597
5982023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
599
600 * configure: Regenerate.
601
6022023-08-07 Nick Alcock <nick.alcock@oracle.com>
603
604 * configure: Regenerate.
605
6062023-08-07 Nick Alcock <nick.alcock@oracle.com>
607
608 * configure: Regenerate.
609
6102023-08-07 H.J. Lu <hjl.tools@gmail.com>
611
612 * configure: Regenerate.
613
6142023-08-07 H.J. Lu <hjl.tools@gmail.com>
615
616 * configure: Regenerate.
617
861962ee
GA
6182023-07-29 Tobias Burnus <tobias@codesourcery.com>
619
620 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
621 GOMP_OFFLOAD_CAP_SHARED_MEM.
622 (omp_target_memcpy_rect_copy): Likewise for lock condition.
623 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
624 memcpy3d/memcpy2d.
625 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
626 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
627 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
628
5278cd6a
GA
6292023-07-26 Tobias Burnus <tobias@codesourcery.com>
630
631 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
632 GOMP_OFFLOAD_memcpy3d): New prototypes.
633 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
634 and memcpy3d_func.
635 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
636 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
637 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
638 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
639 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
640 GOMP_OFFLOAD_memcpy3d): New.
641 * target.c (omp_target_memcpy_rect_worker):
642 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
643 Permit all device-to-device copyies; invoke new plugins for
644 2D and 3D copying when available.
645 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
646 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
647 * testsuite/libgomp.fortran/target-12.f90: Likewise.
648 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
649
6502023-07-26 Tobias Burnus <tobias@codesourcery.com>
651
652 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
653 (Tasking Routines): Document omp_in_explicit_task.
654 (Implementation-defined ICV Initialization): Use @ref not @code.
655
e2bf82d5
GA
6562023-07-20 Tobias Burnus <tobias@codesourcery.com>
657
658 * libgomp.texi (OpenMP Runtime Library Routines):
659 Split long list by adding sections and moving routines there.
660 (OMP_ALLOCATORS): Fix typo.
661
49bed11d
GA
6622023-07-19 Tobias Burnus <tobias@codesourcery.com>
663
664 PR fortran/107424
665 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
666 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
667 commented tests.
668 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
669 test file; tests are in non-rectangular-loop-1.f90.
670 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
671 testcase to use a non-constant step to retain the 'sorry' test.
672 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
673
473c1b58
GA
6742023-07-17 Tobias Burnus <tobias@codesoucery.com>
675 Chung-Lin Tang <cltang@codesourcery.com>
676
677 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
678 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
679
18dac101
GA
6802023-07-14 Tobias Burnus <tobias@codesourcery.com>
681
682 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
683 the traits. Add crossref to 'Memory allocation'.
684 (Memory allocation): Refer to OMP_ALLOCATOR for the available
685 traits and allocators/mem spaces; document the default value
686 for the pool_size trait.
687
6882023-07-14 Tobias Burnus <tobias@codesourcery.com>
689
690 * allocator.c (omp_init_allocator): Check whether symbol from
691 dlopened libnuma is available before using libnuma for
692 allocations.
693
3d0ca8b5
GA
6942023-07-13 David Edelsohn <dje.gcc@gmail.com>
695
696 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
697 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
698 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
699
15939bae
GA
7002023-07-12 Tobias Burnus <tobias@codesourcery.com>
701
702 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
703 'Memory allocation' section which contains the full status.
704 (TR11): Remove differently worded duplicated entry.
705
7062023-07-12 Tobias Burnus <tobias@codesourcery.com>
707
708 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
709 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
710 add GOMP_MEMKIND_LIBNUMA.
711 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
712 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
713 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
714 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
715 needed.
716 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
717 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
718 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
719 updated for libnuma usage.
720 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
721 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
722
af3d3ce3
GA
7232023-07-11 Tobias Burnus <tobias@codesourcery.com>
724
725 * allocator.c (omp_init_allocator): Use malloc for
726 omp_high_bw_mem_space when the memkind lib is unavailable
727 instead of returning omp_null_allocator.
728 * libgomp.texi (OpenMP 5.0): Fix typo.
729 (Memory allocation with libmemkind): Document implementation
730 in more detail.
731
270742ce
GA
7322023-06-22 Tobias Burnus <tobias@codesourcery.com>
733
734 * libgomp.texi: Use @var for ICV vars.
735 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
736 document which ICV is set and which scope the ICV has; extend/cleanup
737 some @ref.
738 (Implementation-defined ICV Initialization): New.
739 (nvptx): Document the implementation-defined used per-warp stack size.
740
e517d3f5
GA
7412023-06-19 Thomas Schwinge <thomas@codesourcery.com>
742
743 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
744 error.
745
7462023-06-19 Tobias Burnus <tobias@codesourcery.com>
747
748 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
749 as expected dg-output.
750
7512023-06-19 Tobias Burnus <tobias@codesourcery.com>
752
753 PR middle-end/110270
754 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
755 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
756 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
757 * testsuite/libgomp.c/target-19.c: Update expected value.
758 * testsuite/libgomp.c++/target-18.C: Likewise.
759 * testsuite/libgomp.c++/target-19.C: Likewise.
760 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
761 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
762 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
763
f10a4ce0
GA
7642023-06-16 Tobias Burnus <tobias@codesourcery.com>
765
766 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
767 gomp_init_targets_once was called before using default-device-var.
768 * testsuite/libgomp.c/target-55.c: New test.
769 * testsuite/libgomp.c/target-55a.c: New test.
770
7ff79341
GA
7712023-06-15 Tobias Burnus <tobias@codesourcery.com>
772
773 * env.c (gomp_def_allocator_envvar): New var.
774 (parse_allocator): Handle OpenMP 5.1 syntax.
775 (cleanup_env): New.
776 (omp_display_env): Output gomp_def_allocator_envvar
777 for an allocator with traits.
778 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
779 OMP_DISPLAY_AFFINITY): New.
780 * testsuite/libgomp.c/allocator-1.c: New test.
781 * testsuite/libgomp.c/allocator-2.c: New test.
782 * testsuite/libgomp.c/allocator-3.c: New test.
783 * testsuite/libgomp.c/allocator-4.c: New test.
784 * testsuite/libgomp.c/allocator-5.c: New test.
785 * testsuite/libgomp.c/allocator-6.c: New test.
786
c1c5edef
GA
7872023-06-14 Thomas Schwinge <thomas@codesourcery.com>
788
789 * target.c (resolve_device): Align a
790 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
791 * testsuite/libgomp.c/target-51.c: Adjust.
792
7932023-06-14 Thomas Schwinge <thomas@codesourcery.com>
794
795 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
796 set.
797 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
798 Likewise.
799 * testsuite/libgomp.c/simd-math-1.c: Remove
800 '-foffload-options=-lm'.
801 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
802 Likewise.
803 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
804 Likewise.
805
8062023-06-14 Thomas Schwinge <thomas@codesourcery.com>
807
808 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
809 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
810 Likewise.
811
8122023-06-14 Thomas Schwinge <thomas@codesourcery.com>
813
814 * testsuite/libgomp.c/target-51.c: Fix typo.
815
8162023-06-14 Tobias Burnus <tobias@codesourcery.com>
817
818 * env.c (gomp_default_icv_values): Init default_device_var to
819 an nonconforming value - INT_MIN.
820 (initialize_env): After env-var parsing, set default_device_var to
821 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
822 (omp_display_env): If default_device_var is INT_MIN, call
823 gomp_init_targets_once.
824 * icv-device.c (omp_get_default_device): Likewise.
825 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
826 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
827 * target.c (resolve_device): Improve error message device-num < 0
828 with 'mandatory' and no no-host devices available.
829 (gomp_target_init): Set default-device-var if INT_MIN.
830 * testsuite/libgomp.c/target-48.c: New test.
831 * testsuite/libgomp.c/target-49.c: New test.
832 * testsuite/libgomp.c/target-50.c: New test.
833 * testsuite/libgomp.c/target-50a.c: New test.
834 * testsuite/libgomp.c/target-51.c: New test.
835 * testsuite/libgomp.c/target-52.c: New test.
836 * testsuite/libgomp.c/target-53.c: New test.
837 * testsuite/libgomp.c/target-54.c: New test.
838
532fb120
GA
8392023-06-13 Tobias Burnus <tobias@codesourcery.com>
840
841 PR libgomp/109837
842 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
843 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
844
9d250bdb
GA
8452023-06-12 Tobias Burnus <tobias@codesourcery.com>
846
847 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
848 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
849 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
850 error message.
851 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
852 changed error message.
853 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
854 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
855 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
856 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
857 extend testcase to check that data is copied when needed.
858 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
859 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
860
8c5b1365
GA
8612023-06-07 Thomas Schwinge <thomas@codesourcery.com>
862 Tobias Burnus <tobias@codesourcery.com>
863
864 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
865 also for non-offload_device targets; check that it runs
866 successfully for those and for all until a checkpoint for all
867 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
868 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
869 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
870 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
871 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
872 add missing vars to map clause.
873
4f0d4825
GA
8742023-06-06 Tobias Burnus <tobias@codesourcery.com>
875
876 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
877 unified_address requirement as supported.
878 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
879 'unified_address' from the not-supported requirements.
880
8812023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
882 Tobias Burnus <tobias@codesourcery.com>
883
884 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
885 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
886 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
887 modifier.
888 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
889 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
890 Emit runtime error if memory region not present.
891 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
892 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
893 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
894 * testsuite/libgomp.fortran/target-present-1.f90: New test.
895 * testsuite/libgomp.fortran/target-present-2.f90: New test.
896 * testsuite/libgomp.fortran/target-present-3.f90: New test.
897
829d5975
GA
8982023-06-02 Thomas Schwinge <thomas@codesourcery.com>
899
900 PR testsuite/66005
901 * testsuite/lib/libgomp.exp: 'flock' through stdout.
902 * testsuite/flock: New.
903 * configure.ac (FLOCK): Point to that if no 'flock' available, but
904 'perl' is.
905 * configure: Regenerate.
906
9072023-06-02 Thomas Schwinge <thomas@codesourcery.com>
908
909 * configure.ac (PERL): Remove.
910 * configure: Regenerate.
911 * Makefile.in: Likewise.
912 * testsuite/Makefile.in: Likewise.
913
84749914
GA
9142023-06-01 Tobias Burnus <tobias@codesourcery.com>
915
916 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
917
6e6bb373
GA
9182023-05-26 Tobias Burnus <tobias@codesourcery.com>
919
920 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
921
4579954f
GA
9222023-05-21 Tobias Burnus <tobias@codesourcery.com>
923
924 PR libgomp/109875
925 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
926 * config/nvptx/target.c (GOMP_teams4): Likewise.
927 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
928 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
929 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
930 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
931
5df01f89
GA
9322023-05-19 Jakub Jelinek <jakub@redhat.com>
933
934 PR libgomp/109904
935 * configure.ac (link_gomp): Include also $DL_LIBS.
936 * configure: Regenerated.
937
ff2dcddf
GA
9382023-05-17 Tobias Burnus <tobias@codesourcery.com>
939
940 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
941 'target exit data'.
942 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
943 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
944 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
945 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
946
3427b51b
GA
9472023-05-15 Thomas Schwinge <thomas@codesourcery.com>
948
949 PR testsuite/66005
950 * configure.ac: Look for 'flock'.
951 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
952 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
953 * testsuite/lib/libgomp.exp: ... but here, instead.
954 (libgomp_load): Override for parallel testing.
955 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
956 * configure: Regenerate.
957 * Makefile.in: Regenerate.
958 * testsuite/Makefile.in: Regenerate.
959
9602023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
961 Thomas Schwinge <thomas@codesourcery.com>
962
963 PR testsuite/66005
964 * testsuite/Makefile.am (PWD_COMMAND): New variable.
965 (%/site.exp): New target.
966 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
967 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
968 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
969 (check_p_subdirs)
970 (check_DEJAGNU_libgomp_targets): New variables.
971 ($(check_DEJAGNU_libgomp_targets)): New target.
972 ($(check_DEJAGNU_libgomp_targets)): New dependency.
973 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
974 * testsuite/Makefile.in: Regenerate.
975 * testsuite/lib/libgomp.exp: For parallel testing,
976 'load_file ../libgomp-test-support.exp'.
977
9782023-05-15 Thomas Schwinge <thomas@codesourcery.com>
979
980 PR testsuite/91884
981 * configure.ac: 'AC_SUBST(CXX)'.
982 * configure: Regenerate.
983 * Makefile.in: Likewise.
984 * testsuite/Makefile.in: Likewise.
985 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
986 (GFORTRAN_UNDER_TEST): Set.
987 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
988 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
989 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
990 * testsuite/libgomp.fortran/fortran.exp: Use
991 'GFORTRAN_UNDER_TEST'.
992 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
993
9942023-05-15 Thomas Schwinge <thomas@codesourcery.com>
995
996 PR testsuite/91884
997 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
998 specify compiler.
999 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1000 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1001 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1002 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1003 Likewise.
1004 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1005 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1006 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1007 Likewise.
1008
20ca33db
GA
10092023-05-12 Tobias Burnus <tobias@codesourcery.com>
1010
1011 PR libstdc++/109816
1012 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1013 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1014
10152023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1016
1017 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1018 'lang_library_path' into a list of 'lang_library_paths'.
1019 * testsuite/libgomp.c++/c++.exp: Adjust.
1020 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1021 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1022 libquadmath, too.
1023 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1024
10252023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1026
1027 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1028 at 'lang_test_file_found'.
1029 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1030 'return' early if not able to test. Simplify 'ld_library_path' setup.
1031 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1032 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1033 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1034
10352023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1036
1037 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1038 first.
1039 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1040 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1041 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1042
10432023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1044
1045 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1046 * testsuite/libgomp.c/c.exp: Likewise.
1047 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1048 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1049 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1050 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1051 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1052
35e324da
GA
10532023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1054
1055 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1056 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1057 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1058 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1059 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1060 'lang_test_file'.
1061 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1062 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1063 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1064 'lang_test_file_found' instead of 'lang_test_file'.
1065
10662023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1067
1068 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1069 set.
1070 * testsuite/libgomp.c++/c++.exp: Likewise.
1071 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1072
10732023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1074
1075 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1076 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1077
212905a4
GA
10782023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1079
1080 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1081 of 'libstdcxx_includes'.
1082 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1083
10842023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1085
1086 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1087 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1088 * libgomp.h (gomp_target_rev): Adjust.
1089 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1090 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1091 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1092 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1093 (rev_off_host_to_dev_cpy): Remove.
1094 (GOMP_OFFLOAD_run): Adjust.
1095
fde093b7
GA
10962023-05-04 Julian Brown <julian@codesourcery.com>
1097
1098 PR fortran/109622
1099 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1100 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1101 vector length warning.
1102 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1103 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1104 missing copyin/copyout variable. Ignore vector length warnings.
1105 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1106 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1107 vector length warnings.
1108 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1109
50205195
GA
11102023-04-28 Julian Brown <julian@codesourcery.com>
1111
1112 PR fortran/109622
1113 * testsuite/libgomp.fortran/pr109622.f90: New test.
1114 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1115 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1116
49cea02d
GA
11172023-04-25 Tobias Burnus <tobias@codesourcery.com>
1118
1119 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1120 * testsuite/libgomp.c/scan-23.c: New test.
1121 * testsuite/libgomp.fortran/scan-2.f90: New test.
1122
579cdc1e
GA
11232023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1124
1125 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1126 weak_undefined options.
1127
13ec81eb
GA
11282023-03-24 Tobias Burnus <tobias@codesourcery.com>
1129
1130 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1131
11322023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1133
1134 PR fortran/104949
1135 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1136 caveat/safeguard.
1137
c8065441
GA
11382023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1139
1140 PR libgomp/90596
1141 * target.c (gomp_map_vars_internal): Allow for
1142 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1143 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1144 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1145 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1146 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1147 Adjust, simplify.
1148 (gomp_offload_free): Remove.
1149 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1150 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1151 (cuda_free_argmem): Remove.
1152 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1153 Adjust.
1154
11552023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1156
1157 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1158 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1159 data.
1160
11612023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1162
1163 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1164 'GOMP_MAP_IF_PRESENT'.
1165 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1166 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1167 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1168 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1169 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1170 testing.
1171 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1172
11732023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1174
1175 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1176 shortcut.
1177
11782023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1179
1180 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1181 another aspect of OpenACC 'async' semantics.
1182
11832023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1184
1185 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1186 position.
1187 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1188 Verify 'acc_ev_alloc', 'acc_ev_free'.
1189
da2b9c6e
GA
11902023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1191
1192 PR libgomp/109062
1193 * env.c (wait_policy): Initialize to -1.
1194 (initialize_icvs): Initialize icvs->wait_policy to -1.
1195 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1196
6a87fdd3
GA
11972023-03-08 Tobias Burnus <tobias@codesourcery.com>
1198
1199 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1200
14db9ed5
GA
12012023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1202 Paul-Antoine Arras <pa@codesourcery.com>
1203
1204 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1205
c88a7c63
GA
12062023-03-01 Tobias Burnus <tobias@codesourcery.com>
1207
1208 PR middle-end/108546
1209 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1210 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1211
b6f98991
GA
12122023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1213
1214 * testsuite/libgomp.fortran/alloc-10.f90: Use
1215 '-Wno-complain-wrong-lang'.
1216 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1217 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1218 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1219 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1220 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1221 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1222 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1223 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1224 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1225 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1226 Likewise.
1227 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1228 Likewise.
1229 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1230 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1231 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1232 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1233 'dg-prune-output'.
1234
88cc4495
GA
12352023-02-16 Jakub Jelinek <jakub@redhat.com>
1236
1237 * libgomp.texi: Fix typos - theads -> threads.
1238
12392023-02-16 Jakub Jelinek <jakub@redhat.com>
1240
1241 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1242 comment typo and improve its wording.
1243
29a35391
GA
12442023-02-15 Tobias Burnus <tobias@codesourcery.com>
1245
1246 * target.c (gomp_target_rev): Dereference ptr
1247 to get device address.
1248 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1249 for unallocated allocatable.
1250
12512023-02-15 Tobias Burnus <tobias@codesourcery.com>
1252
1253 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1254 kind check.
1255 (GOMP_target_enter_exit_data): If the next map item is
1256 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1257 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1258
e92e2c96
GA
12592023-02-09 Tobias Burnus <tobias@codesourcery.com>
1260
1261 PR fortran/107424
1262 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1263 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1264 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1265 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1266 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1267 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1268
8f3b85ef
GA
12692023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1270
1271 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1272 offloading compilation.
1273
49e52115
GA
12742023-02-03 Tobias Burnus <tobias@codesourcery.com>
1275
1276 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1277 freeing not allocated memory.
1278 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1279
12802023-02-03 Tobias Burnus <tobias@codesourcery.com>
1281
1282 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1283 reverse offload.
1284 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1285 reverse-offload requirement.
1286
a37a0cb3
GA
12872023-02-02 Andrew Stubbs <ams@codesourcery.com>
1288
1289 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1290 (DEFAULT_TEAM_ARENA_SIZE): New define.
1291 (struct heap): Move to this file.
1292 (struct kernargs_abi): Likewise.
1293 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1294 the kernargs.
1295 * libgomp.h: Include libgomp-gcn.h.
1296 (TEAM_ARENA_SIZE): Remove.
1297 (team_malloc): Update the error message.
1298 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1299 struct kernargs_abi.
1300 (struct agent_info): Rename team arenas to ephemeral memories.
1301 (struct team_arena_list): Rename ....
1302 (struct ephemeral_memories_list): to this.
1303 (struct heap): Delete.
1304 (team_arena_size): New variable.
1305 (stack_size): New variable.
1306 (print_kernel_dispatch): Update debug messages.
1307 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1308 Read GCN_STACK_SIZE.
1309 (get_team_arena): Rename ...
1310 (configure_ephemeral_memories): ... to this, and set up stacks.
1311 (release_team_arena): Rename ...
1312 (release_ephemeral_memories): ... to this.
1313 (destroy_team_arenas): Rename ...
1314 (destroy_ephemeral_memories): ... to this.
1315 (create_kernel_dispatch): Add num_threads parameter.
1316 Adjust for kernargs_abi refactor and ephemeral memories.
1317 (release_kernel_dispatch): Adjust for ephemeral memories.
1318 (run_kernel): Pass thread-count to create_kernel_dispatch.
1319 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1320 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1321
13222023-02-02 Tobias Burnus <tobias@codesourcery.com>
1323
1324 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1325
0a251e74
GA
13262023-02-01 Tobias Burnus <tobias@codesourcery.com>
1327
1328 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1329 usage, remove unused -fdump-tree-original.
1330 * testsuite/libgomp.fortran/allocate-4.f90: New.
1331
13322023-02-01 Tobias Burnus <tobias@codesourcery.com>
1333
1334 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1335 (GCN): Add item about 'omp requires'.
1336 (nvptx): Likewise; add item about reverse offload.
1337
338eb0f0
GA
13382023-01-27 Tobias Burnus <tobias@codesourcery.com>
1339
1340 PR fortran/108558
1341 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1342
607f278a
GA
13432023-01-23 Tobias Burnus <tobias@codesourcery.com>
1344
1345 * libgomp.texi (OpenMP 5.0): Set non-rectangular
1346 loop nest back to 'P' as Fortran support is incomplete.
1347
0846336d
GA
13482023-01-19 Jakub Jelinek <jakub@redhat.com>
1349
1350 PR middle-end/108459
1351 * testsuite/libgomp.c/pr108459.c: New test.
1352
8d07b193
GA
13532023-01-17 Martin Liska <mliska@suse.cz>
1354
1355 * Makefile.in: Regenerate.
1356 * configure: Regenerate.
1357
d901bf8a
GA
13582023-01-07 LIU Hao <lh_mouse@126.com>
1359
1360 PR middle-end/108300
1361 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1362 <windows.h>.
1363
53ef7c1d
GA
13642023-01-05 Jakub Jelinek <jakub@redhat.com>
1365
1366 PR c++/108286
1367 * testsuite/libgomp.c++/pr108286.C: New test.
1368
fee53a31
GA
13692023-01-02 Jakub Jelinek <jakub@redhat.com>
1370
1371 * libgomp.texi: Bump @copying's copyright year.
1372
de282a20
GA
13732022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1374
1375 PR target/99555
1376 * config/nvptx/bar.c (generation_to_barrier): Remove.
1377 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1378 (GOMP_WAIT_H): Remove.
1379 (#include "../linux/bar.c"): Remove.
1380 (gomp_barrier_wait_end): New function.
1381 (gomp_barrier_wait): Likewise.
1382 (gomp_barrier_wait_last): Likewise.
1383 (gomp_team_barrier_wait_end): Likewise.
1384 (gomp_team_barrier_wait): Likewise.
1385 (gomp_team_barrier_wait_final): Likewise.
1386 (gomp_team_barrier_wait_cancel_end): Likewise.
1387 (gomp_team_barrier_wait_cancel): Likewise.
1388 (gomp_team_barrier_cancel): Likewise.
1389 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1390 (gomp_barrier_init): Remove init of waiters, lock fields.
1391 (gomp_team_barrier_wake): Remove prototype, add new static inline
1392 function.
1393
13942022-12-21 Jakub Jelinek <jakub@redhat.com>
1395
1396 PR c++/108180
1397 * testsuite/libgomp.c++/pr108180.C: New test.
1398
5fb1e674
GA
13992022-12-16 Tobias Burnus <tobias@codesourcery.com>
1400
1401 PR libfortran/108056
1402 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1403 accidentally added file.
1404
c8f767b2
GA
14052022-12-15 Tobias Burnus <tobias@codesourcery.com>
1406
1407 PR libfortran/108056
1408 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1409
26f4aefa
GA
14102022-12-14 Julian Brown <julian@codesourcery.com>
1411
1412 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1413 test.
1414
c6b12b80
GA
14152022-12-10 Tobias Burnus <tobias@codesourcery.com>
1416
1417 * libgomp.h (struct target_mem_desc): Predeclare; move
1418 below after 'reverse_splay_tree_node' and add rev_array
1419 member.
1420 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1421 (reverse_splay_tree_node, reverse_splay_tree,
1422 reverse_splay_tree_key): New typedef.
1423 (struct gomp_device_descr): Add mem_map_rev member.
1424 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1425 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1426 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1427 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1428 splay_tree_callback but returning int not void.
1429 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1430 taking splay_tree_callback_stop as argument.
1431 * splay-tree.c (splay_tree_foreach_internal_lazy,
1432 splay_tree_foreach_lazy): New; but early exit if callback returns
1433 nonzero.
1434 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1435 (gomp_map_lookup_rev): New.
1436 (gomp_load_image_to_device): Handle reverse-offload function
1437 lookup table.
1438 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1439 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1440 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1441 gomp_map_cdata_lookup): New auxiliary structs and functions for
1442 gomp_target_rev.
1443 (gomp_target_rev): Implement reverse offloading and its mapping.
1444 (gomp_target_init): Init current_device.mem_map_rev.root.
1445 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1446 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1447 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1448 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1449 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1450 mapping of on-device allocated variables.
1451
40ce6485
GA
14522022-12-09 Tobias Burnus <tobias@codesourcery.com>
1453
1454 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1455 item about 'align'; mark clause as 'Y' and directive as 'N'.
1456 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1457 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1458
3fe66f7f
GA
14592022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1460
1461 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1462 allow processing of device-specific values.
1463 (omp_set_teams_thread_limit): Likewise.
1464 (ialias): Likewise.
1465 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1466 (omp_set_teams_thread_limit): Likewise.
1467 (ialias): Likewise.
1468 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1469 (ialias): Likewise.
1470 (omp_set_teams_thread_limit): Likewise.
1471 * icv.c (omp_set_teams_thread_limit): Removed.
1472 (omp_get_teams_thread_limit): Likewise.
1473 (ialias): Likewise.
1474 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1475 to the limitation of the number of teams.
1476 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1477 the number of teams by twice the number of compute units.
1478 (parse_target_attributes): Limit the number of teams on gcn offload
1479 devices.
1480 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1481 handling.
1482 (gomp_load_image_to_device): Added a size check for the ICVs struct
1483 variable.
1484 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1485 copy back the ICV values from device to host.
1486 (GOMP_target_ext): Update the number of teams and threads in the kernel
1487 args also considering device-specific values.
1488 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1489 of OMP_TEAMS_THREAD_LIMIT from the environment.
1490 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1491 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1492 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1493 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1494 * testsuite/libgomp.fortran/icv-5.f90: New test.
1495 * testsuite/libgomp.fortran/icv-6.f90: New test.
1496
14972022-12-06 Tobias Burnus <tobias@codesourcery.com>
1498
1499 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1500 (TR11): Add missing '@tab N @tab'.
1501
6eea85a9
GA
15022022-11-30 Tobias Burnus <tobias@codesourcery.com>
1503
1504 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1505
15062022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1507
1508 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1509 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1510 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1511 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1512 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1513 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1514 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1515
b7748535
GA
15162022-11-28 Tobias Burnus <tobias@codesourcery.com>
1517
1518 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1519
d769c504
GA
15202022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1521
1522 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1523 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1524 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1525 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1526
15272022-11-25 Tobias Burnus <tobias@codesourcery.com>
1528
1529 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1530 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1531 as valid and the code having no reverse-offload code.
1532 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1533
15342022-11-25 Tobias Burnus <tobias@codesourcery.com>
1535
1536 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1537 and status for Technical Report (TR) 11.
1538
8b7fee1d
GA
15392022-11-21 Tobias Burnus <tobias@codesourcery.com>
1540
1541 * config/gcn/libgomp-gcn.h (struct output):
1542 Remove 'msg_u64' from the union, change
1543 value_u64[2] to value_u64[6].
1544 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1545 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1546 Likewise.
1547
fb98ede8
GA
15482022-11-19 Tobias Burnus <tobias@codesourcery.com>
1549
1550 * config/gcn/libgomp-gcn.h: New file; contains
1551 struct output, declared previously in plugin-gcn.c.
1552 * config/gcn/target.c: Include it.
1553 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1554 (GOMP_target_ext): Handle reverse offload.
1555 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1556 (struct kernargs): Replace struct def by the one
1557 from libgomp-gcn.h for output_data.
1558 (process_reverse_offload): New.
1559 (console_output): Call it.
1560
80909529
GA
15612022-11-16 Tobias Burnus <tobias@codesourcery.com>
1562 Andrew Stubbs <ams@codesourcery.com>
1563
1564 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1565 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1566
83d400bd
GA
15672022-11-14 Martin Liska <mliska@suse.cz>
1568
1569 Revert:
1570 2022-11-14 Martin Liska <mliska@suse.cz>
1571
1572 * doc/amd-radeon-gcn.rst: New file.
1573 * doc/conf.py: New file.
1574 * doc/copyright.rst: New file.
1575 * doc/cuda-streams-usage.rst: New file.
1576 * doc/enabling-openacc.rst: New file.
1577 * doc/enabling-openmp.rst: New file.
1578 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1579 * doc/first-invocation-openacc-library-api.rst: New file.
1580 * doc/funding.rst: New file.
1581 * doc/general-public-license-3.rst: New file.
1582 * doc/gnu-free-documentation-license.rst: New file.
1583 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1584 * doc/index.rst: New file.
1585 * doc/indices-and-tables.rst: New file.
1586 * doc/introduction.rst: New file.
1587 * doc/memory-allocation-with-libmemkind.rst: New file.
1588 * doc/nvptx.rst: New file.
1589 * doc/offload-target-specifics.rst: New file.
1590 * doc/openacc-environment-variables.rst: New file.
1591 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1592 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1593 * doc/openacc-environment-variables/accproflib.rst: New file.
1594 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1595 * doc/openacc-introduction.rst: New file.
1596 * doc/openacc-library-and-environment-variables.rst: New file.
1597 * doc/openacc-library-interoperability.rst: New file.
1598 * doc/openacc-profiling-interface.rst: New file.
1599 * doc/openacc-runtime-library-routines.rst: New file.
1600 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1601 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1602 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1603 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1604 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1605 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1606 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1607 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1608 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1609 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1610 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1611 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1612 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1613 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1614 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1615 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1616 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1617 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1618 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1619 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1620 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1621 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1622 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1623 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1624 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1625 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1626 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1627 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1628 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1629 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1630 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1631 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1632 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1633 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1634 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1635 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1636 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1637 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1638 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1639 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1640 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1641 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1642 * doc/openmp-context-selectors.rst: New file.
1643 * doc/openmp-environment-variables.rst: New file.
1644 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1645 * doc/openmp-environment-variables/gompdebug.rst: New file.
1646 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1647 * doc/openmp-environment-variables/gompspincount.rst: New file.
1648 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1649 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1650 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1651 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1652 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1653 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1654 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1655 * doc/openmp-environment-variables/ompnested.rst: New file.
1656 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1657 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1658 * doc/openmp-environment-variables/ompplaces.rst: New file.
1659 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1660 * doc/openmp-environment-variables/ompschedule.rst: New file.
1661 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1662 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1663 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1664 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1665 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1666 * doc/openmp-implementation-specifics.rst: New file.
1667 * doc/openmp-implementation-status.rst: New file.
1668 * doc/openmp-implementation-status/openmp-45.rst: New file.
1669 * doc/openmp-implementation-status/openmp-50.rst: New file.
1670 * doc/openmp-implementation-status/openmp-51.rst: New file.
1671 * doc/openmp-implementation-status/openmp-52.rst: New file.
1672 * doc/openmp-runtime-library-routines.rst: New file.
1673 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1674 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1675 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1676 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1677 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1678 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1679 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1680 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1681 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1682 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1683 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1684 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1685 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1686 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1687 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1688 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1689 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1690 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1691 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1692 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1693 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1694 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1695 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1696 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1697 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1698 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1699 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1700 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1701 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1702 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1703 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1704 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1705 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1706 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1707 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1708 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1709 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1710 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1711 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1712 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1713 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1714 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1715 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1716 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1717 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1718 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1719 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1720 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1721 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1722 * doc/reporting-bugs.rst: New file.
1723 * doc/the-libgomp-abi.rst: New file.
1724 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1725 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1726 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1727 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1728 New file.
1729 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1730 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1731 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1732 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1733 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1734 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1735 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1736 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1737 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1738 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1739 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1740
17412022-11-14 Martin Liska <mliska@suse.cz>
1742
1743 Revert:
1744 2022-11-14 Martin Liska <mliska@suse.cz>
1745
1746 * Makefile.in: Support Sphinx based documentation.
1747
17482022-11-14 Martin Liska <mliska@suse.cz>
1749
1750 Revert:
1751 2022-11-14 Martin Liska <mliska@suse.cz>
1752
1753 * libgomp.texi: Removed.
1754
17552022-11-14 Martin Liska <mliska@suse.cz>
1756
1757 Revert:
1758 2022-11-14 Martin Liska <mliska@suse.cz>
1759
1760 * Makefile.in: Support --with-sphinx-build.
1761 * configure.ac: Likewise..
1762 * configure: Regenerate.
1763
17642022-11-14 Martin Liska <mliska@suse.cz>
1765
1766 Revert:
1767 2022-11-09 Martin Liska <mliska@suse.cz>
1768
1769 * Makefile.in: Build info pages conditionally.
1770
17712022-11-14 Martin Liska <mliska@suse.cz>
1772
1773 Revert:
1774 2022-11-14 Martin Liska <mliska@suse.cz>
1775
1776 * doc/amd-radeon-gcn.rst:
3d3b561f 1777 Add trailing newline.
83d400bd 1778 * doc/copyright.rst:
3d3b561f 1779 Add trailing newline.
83d400bd 1780 * doc/cuda-streams-usage.rst:
3d3b561f 1781 Add trailing newline.
83d400bd 1782 * doc/enabling-openacc.rst:
3d3b561f 1783 Add trailing newline.
83d400bd 1784 * doc/enabling-openmp.rst:
3d3b561f 1785 Add trailing newline.
83d400bd 1786 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 1787 Add trailing newline.
83d400bd 1788 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 1789 Add trailing newline.
83d400bd 1790 * doc/funding.rst:
3d3b561f 1791 Add trailing newline.
83d400bd 1792 * doc/general-public-license-3.rst:
3d3b561f 1793 Add trailing newline.
83d400bd 1794 * doc/gnu-free-documentation-license.rst:
3d3b561f 1795 Add trailing newline.
83d400bd 1796 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 1797 Add trailing newline.
83d400bd 1798 * doc/index.rst:
3d3b561f 1799 Add trailing newline.
83d400bd 1800 * doc/indices-and-tables.rst:
3d3b561f 1801 Add trailing newline.
83d400bd 1802 * doc/introduction.rst:
3d3b561f 1803 Add trailing newline.
83d400bd 1804 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 1805 Add trailing newline.
83d400bd 1806 * doc/nvptx.rst:
3d3b561f 1807 Add trailing newline.
83d400bd 1808 * doc/offload-target-specifics.rst:
3d3b561f 1809 Add trailing newline.
83d400bd 1810 * doc/openacc-environment-variables.rst:
3d3b561f 1811 Add trailing newline.
83d400bd 1812 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 1813 Add trailing newline.
83d400bd 1814 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 1815 Add trailing newline.
83d400bd 1816 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 1817 Add trailing newline.
83d400bd 1818 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 1819 Add trailing newline.
83d400bd 1820 * doc/openacc-introduction.rst:
3d3b561f 1821 Add trailing newline.
83d400bd 1822 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 1823 Add trailing newline.
83d400bd 1824 * doc/openacc-library-interoperability.rst:
3d3b561f 1825 Add trailing newline.
83d400bd 1826 * doc/openacc-profiling-interface.rst:
3d3b561f 1827 Add trailing newline.
83d400bd 1828 * doc/openacc-runtime-library-routines.rst:
3d3b561f 1829 Add trailing newline.
83d400bd 1830 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 1831 Add trailing newline.
83d400bd 1832 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 1833 Add trailing newline.
83d400bd 1834 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 1835 Add trailing newline.
83d400bd 1836 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 1837 Add trailing newline.
83d400bd 1838 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 1839 Add trailing newline.
83d400bd 1840 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 1841 Add trailing newline.
83d400bd 1842 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 1843 Add trailing newline.
83d400bd 1844 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 1845 Add trailing newline.
83d400bd 1846 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 1847 Add trailing newline.
83d400bd 1848 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 1849 Add trailing newline.
83d400bd 1850 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 1851 Add trailing newline.
83d400bd 1852 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 1853 Add trailing newline.
83d400bd 1854 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 1855 Add trailing newline.
83d400bd 1856 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 1857 Add trailing newline.
83d400bd 1858 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 1859 Add trailing newline.
83d400bd 1860 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 1861 Add trailing newline.
83d400bd 1862 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 1863 Add trailing newline.
83d400bd 1864 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 1865 Add trailing newline.
83d400bd 1866 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 1867 Add trailing newline.
83d400bd 1868 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 1869 Add trailing newline.
83d400bd 1870 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 1871 Add trailing newline.
83d400bd 1872 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 1873 Add trailing newline.
83d400bd 1874 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 1875 Add trailing newline.
83d400bd 1876 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 1877 Add trailing newline.
83d400bd 1878 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 1879 Add trailing newline.
83d400bd 1880 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 1881 Add trailing newline.
83d400bd 1882 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 1883 Add trailing newline.
83d400bd 1884 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 1885 Add trailing newline.
83d400bd 1886 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 1887 Add trailing newline.
83d400bd 1888 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 1889 Add trailing newline.
83d400bd 1890 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 1891 Add trailing newline.
83d400bd 1892 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 1893 Add trailing newline.
83d400bd 1894 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 1895 Add trailing newline.
83d400bd 1896 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 1897 Add trailing newline.
83d400bd 1898 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 1899 Add trailing newline.
83d400bd 1900 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 1901 Add trailing newline.
83d400bd 1902 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 1903 Add trailing newline.
83d400bd 1904 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 1905 Add trailing newline.
83d400bd 1906 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 1907 Add trailing newline.
83d400bd 1908 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 1909 Add trailing newline.
83d400bd 1910 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 1911 Add trailing newline.
83d400bd 1912 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 1913 Add trailing newline.
83d400bd 1914 * doc/openmp-context-selectors.rst:
3d3b561f 1915 Add trailing newline.
83d400bd 1916 * doc/openmp-environment-variables.rst:
3d3b561f 1917 Add trailing newline.
83d400bd 1918 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 1919 Add trailing newline.
83d400bd 1920 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 1921 Add trailing newline.
83d400bd 1922 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 1923 Add trailing newline.
83d400bd 1924 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 1925 Add trailing newline.
83d400bd 1926 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 1927 Add trailing newline.
83d400bd 1928 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 1929 Add trailing newline.
83d400bd 1930 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 1931 Add trailing newline.
83d400bd 1932 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 1933 Add trailing newline.
83d400bd 1934 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 1935 Add trailing newline.
83d400bd 1936 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 1937 Add trailing newline.
83d400bd 1938 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 1939 Add trailing newline.
83d400bd 1940 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 1941 Add trailing newline.
83d400bd 1942 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 1943 Add trailing newline.
83d400bd 1944 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 1945 Add trailing newline.
83d400bd 1946 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 1947 Add trailing newline.
83d400bd 1948 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 1949 Add trailing newline.
83d400bd 1950 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 1951 Add trailing newline.
83d400bd 1952 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 1953 Add trailing newline.
83d400bd 1954 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 1955 Add trailing newline.
83d400bd 1956 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 1957 Add trailing newline.
83d400bd 1958 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 1959 Add trailing newline.
83d400bd 1960 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 1961 Add trailing newline.
83d400bd 1962 * doc/openmp-implementation-specifics.rst:
3d3b561f 1963 Add trailing newline.
83d400bd 1964 * doc/openmp-implementation-status.rst:
3d3b561f 1965 Add trailing newline.
83d400bd 1966 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 1967 Add trailing newline.
83d400bd 1968 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 1969 Add trailing newline.
83d400bd 1970 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 1971 Add trailing newline.
83d400bd 1972 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 1973 Add trailing newline.
83d400bd 1974 * doc/openmp-runtime-library-routines.rst:
3d3b561f 1975 Add trailing newline.
83d400bd 1976 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 1977 Add trailing newline.
83d400bd 1978 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 1979 Add trailing newline.
83d400bd 1980 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 1981 Add trailing newline.
83d400bd 1982 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 1983 Add trailing newline.
83d400bd 1984 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 1985 Add trailing newline.
83d400bd 1986 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 1987 Add trailing newline.
83d400bd 1988 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 1989 Add trailing newline.
83d400bd 1990 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 1991 Add trailing newline.
83d400bd 1992 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 1993 Add trailing newline.
83d400bd 1994 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 1995 Add trailing newline.
83d400bd 1996 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 1997 Add trailing newline.
83d400bd 1998 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 1999 Add trailing newline.
83d400bd 2000 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2001 Add trailing newline.
83d400bd 2002 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2003 Add trailing newline.
83d400bd 2004 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2005 Add trailing newline.
83d400bd 2006 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2007 Add trailing newline.
83d400bd 2008 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2009 Add trailing newline.
83d400bd 2010 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2011 Add trailing newline.
83d400bd 2012 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2013 Add trailing newline.
83d400bd 2014 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2015 Add trailing newline.
83d400bd 2016 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2017 Add trailing newline.
83d400bd 2018 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2019 Add trailing newline.
83d400bd 2020 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2021 Add trailing newline.
83d400bd 2022 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2023 Add trailing newline.
83d400bd 2024 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2025 Add trailing newline.
83d400bd 2026 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2027 Add trailing newline.
83d400bd 2028 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2029 Add trailing newline.
83d400bd 2030 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2031 Add trailing newline.
83d400bd 2032 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2033 Add trailing newline.
83d400bd 2034 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2035 Add trailing newline.
83d400bd 2036 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2037 Add trailing newline.
83d400bd 2038 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2039 Add trailing newline.
83d400bd 2040 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2041 Add trailing newline.
83d400bd 2042 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2043 Add trailing newline.
83d400bd 2044 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2045 Add trailing newline.
83d400bd 2046 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2047 Add trailing newline.
83d400bd 2048 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2049 Add trailing newline.
83d400bd 2050 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2051 Add trailing newline.
83d400bd 2052 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2053 Add trailing newline.
83d400bd 2054 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2055 Add trailing newline.
83d400bd 2056 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2057 Add trailing newline.
83d400bd 2058 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2059 Add trailing newline.
83d400bd 2060 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2061 Add trailing newline.
83d400bd 2062 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2063 Add trailing newline.
83d400bd 2064 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2065 Add trailing newline.
83d400bd 2066 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2067 Add trailing newline.
83d400bd 2068 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2069 Add trailing newline.
83d400bd 2070 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2071 Add trailing newline.
83d400bd 2072 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2073 Add trailing newline.
83d400bd 2074 * doc/reporting-bugs.rst:
3d3b561f 2075 Add trailing newline.
83d400bd 2076 * doc/the-libgomp-abi.rst:
3d3b561f 2077 Add trailing newline.
83d400bd 2078 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2079 Add trailing newline.
83d400bd 2080 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2081 Add trailing newline.
83d400bd 2082 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2083 Add trailing newline.
83d400bd 2084 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2085 Add trailing newline.
83d400bd 2086 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2087 Add trailing newline.
83d400bd 2088 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2089 Add trailing newline.
83d400bd 2090 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2091 Add trailing newline.
83d400bd 2092 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2093 Add trailing newline.
83d400bd 2094 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2095 Add trailing newline.
83d400bd 2096 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2097 Add trailing newline.
83d400bd 2098 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2099 Add trailing newline.
83d400bd 2100 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2101 Add trailing newline.
83d400bd 2102 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2103 Add trailing newline.
83d400bd 2104 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2105 Add trailing newline.
83d400bd 2106 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2107 Add trailing newline.
83d400bd
GA
2108
21092022-11-14 Martin Liska <mliska@suse.cz>
2110
2111 Revert:
2112 2022-11-09 Martin Liska <mliska@suse.cz>
2113
2114 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2115
21162022-11-14 Martin Liska <mliska@suse.cz>
2117
2118 Revert:
2119 2022-11-14 Martin Liska <mliska@suse.cz>
2120
2121 * doc/conf.py: Add newline at last line.
2122
21232022-11-14 Martin Liska <mliska@suse.cz>
2124
2125 Revert:
2126 2022-11-14 Martin Liska <mliska@suse.cz>
2127
2128 PR other/107620
2129 * configure: Regenerate.
2130 * configure.ac: Always set sphinx-build.
2131
eefbfbc7
GA
21322022-11-13 Martin Liska <mliska@suse.cz>
2133
2134 PR other/107620
2135 * configure: Regenerate.
2136 * configure.ac: Always set sphinx-build.
2137
30d77d49
GA
21382022-11-12 Jakub Jelinek <jakub@redhat.com>
2139
2140 PR libgomp/107641
2141 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2142 unsigned long. Change type of upper from unsigned to unsigned long.
2143
f225b813
GA
21442022-11-10 Martin Liska <mliska@suse.cz>
2145
2146 * doc/conf.py: Add newline at last line.
2147
1cdfd0e5
GA
21482022-11-09 Martin Liska <mliska@suse.cz>
2149
2150 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2151
21522022-11-09 Martin Liska <mliska@suse.cz>
2153
2154 * doc/amd-radeon-gcn.rst:
3d3b561f 2155 Add trailing newline.
1cdfd0e5 2156 * doc/copyright.rst:
3d3b561f 2157 Add trailing newline.
1cdfd0e5 2158 * doc/cuda-streams-usage.rst:
3d3b561f 2159 Add trailing newline.
1cdfd0e5 2160 * doc/enabling-openacc.rst:
3d3b561f 2161 Add trailing newline.
1cdfd0e5 2162 * doc/enabling-openmp.rst:
3d3b561f 2163 Add trailing newline.
1cdfd0e5 2164 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 2165 Add trailing newline.
1cdfd0e5 2166 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 2167 Add trailing newline.
1cdfd0e5 2168 * doc/funding.rst:
3d3b561f 2169 Add trailing newline.
1cdfd0e5 2170 * doc/general-public-license-3.rst:
3d3b561f 2171 Add trailing newline.
1cdfd0e5 2172 * doc/gnu-free-documentation-license.rst:
3d3b561f 2173 Add trailing newline.
1cdfd0e5 2174 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 2175 Add trailing newline.
1cdfd0e5 2176 * doc/index.rst:
3d3b561f 2177 Add trailing newline.
1cdfd0e5 2178 * doc/indices-and-tables.rst:
3d3b561f 2179 Add trailing newline.
1cdfd0e5 2180 * doc/introduction.rst:
3d3b561f 2181 Add trailing newline.
1cdfd0e5 2182 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 2183 Add trailing newline.
1cdfd0e5 2184 * doc/nvptx.rst:
3d3b561f 2185 Add trailing newline.
1cdfd0e5 2186 * doc/offload-target-specifics.rst:
3d3b561f 2187 Add trailing newline.
1cdfd0e5 2188 * doc/openacc-environment-variables.rst:
3d3b561f 2189 Add trailing newline.
1cdfd0e5 2190 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 2191 Add trailing newline.
1cdfd0e5 2192 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 2193 Add trailing newline.
1cdfd0e5 2194 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 2195 Add trailing newline.
1cdfd0e5 2196 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 2197 Add trailing newline.
1cdfd0e5 2198 * doc/openacc-introduction.rst:
3d3b561f 2199 Add trailing newline.
1cdfd0e5 2200 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 2201 Add trailing newline.
1cdfd0e5 2202 * doc/openacc-library-interoperability.rst:
3d3b561f 2203 Add trailing newline.
1cdfd0e5 2204 * doc/openacc-profiling-interface.rst:
3d3b561f 2205 Add trailing newline.
1cdfd0e5 2206 * doc/openacc-runtime-library-routines.rst:
3d3b561f 2207 Add trailing newline.
1cdfd0e5 2208 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 2209 Add trailing newline.
1cdfd0e5 2210 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 2211 Add trailing newline.
1cdfd0e5 2212 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 2213 Add trailing newline.
1cdfd0e5 2214 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 2215 Add trailing newline.
1cdfd0e5 2216 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 2217 Add trailing newline.
1cdfd0e5 2218 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 2219 Add trailing newline.
1cdfd0e5 2220 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 2221 Add trailing newline.
1cdfd0e5 2222 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 2223 Add trailing newline.
1cdfd0e5 2224 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 2225 Add trailing newline.
1cdfd0e5 2226 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 2227 Add trailing newline.
1cdfd0e5 2228 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 2229 Add trailing newline.
1cdfd0e5 2230 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 2231 Add trailing newline.
1cdfd0e5 2232 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 2233 Add trailing newline.
1cdfd0e5 2234 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 2235 Add trailing newline.
1cdfd0e5 2236 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 2237 Add trailing newline.
1cdfd0e5 2238 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 2239 Add trailing newline.
1cdfd0e5 2240 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 2241 Add trailing newline.
1cdfd0e5 2242 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 2243 Add trailing newline.
1cdfd0e5 2244 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 2245 Add trailing newline.
1cdfd0e5 2246 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 2247 Add trailing newline.
1cdfd0e5 2248 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 2249 Add trailing newline.
1cdfd0e5 2250 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 2251 Add trailing newline.
1cdfd0e5 2252 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 2253 Add trailing newline.
1cdfd0e5 2254 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 2255 Add trailing newline.
1cdfd0e5 2256 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 2257 Add trailing newline.
1cdfd0e5 2258 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 2259 Add trailing newline.
1cdfd0e5 2260 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 2261 Add trailing newline.
1cdfd0e5 2262 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 2263 Add trailing newline.
1cdfd0e5 2264 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 2265 Add trailing newline.
1cdfd0e5 2266 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 2267 Add trailing newline.
1cdfd0e5 2268 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 2269 Add trailing newline.
1cdfd0e5 2270 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 2271 Add trailing newline.
1cdfd0e5 2272 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 2273 Add trailing newline.
1cdfd0e5 2274 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 2275 Add trailing newline.
1cdfd0e5 2276 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 2277 Add trailing newline.
1cdfd0e5 2278 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 2279 Add trailing newline.
1cdfd0e5 2280 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 2281 Add trailing newline.
1cdfd0e5 2282 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 2283 Add trailing newline.
1cdfd0e5 2284 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 2285 Add trailing newline.
1cdfd0e5 2286 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 2287 Add trailing newline.
1cdfd0e5 2288 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 2289 Add trailing newline.
1cdfd0e5 2290 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 2291 Add trailing newline.
1cdfd0e5 2292 * doc/openmp-context-selectors.rst:
3d3b561f 2293 Add trailing newline.
1cdfd0e5 2294 * doc/openmp-environment-variables.rst:
3d3b561f 2295 Add trailing newline.
1cdfd0e5 2296 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 2297 Add trailing newline.
1cdfd0e5 2298 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 2299 Add trailing newline.
1cdfd0e5 2300 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 2301 Add trailing newline.
1cdfd0e5 2302 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 2303 Add trailing newline.
1cdfd0e5 2304 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 2305 Add trailing newline.
1cdfd0e5 2306 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 2307 Add trailing newline.
1cdfd0e5 2308 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 2309 Add trailing newline.
1cdfd0e5 2310 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 2311 Add trailing newline.
1cdfd0e5 2312 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 2313 Add trailing newline.
1cdfd0e5 2314 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 2315 Add trailing newline.
1cdfd0e5 2316 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 2317 Add trailing newline.
1cdfd0e5 2318 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 2319 Add trailing newline.
1cdfd0e5 2320 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 2321 Add trailing newline.
1cdfd0e5 2322 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 2323 Add trailing newline.
1cdfd0e5 2324 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 2325 Add trailing newline.
1cdfd0e5 2326 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 2327 Add trailing newline.
1cdfd0e5 2328 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 2329 Add trailing newline.
1cdfd0e5 2330 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 2331 Add trailing newline.
1cdfd0e5 2332 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 2333 Add trailing newline.
1cdfd0e5 2334 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 2335 Add trailing newline.
1cdfd0e5 2336 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 2337 Add trailing newline.
1cdfd0e5 2338 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 2339 Add trailing newline.
1cdfd0e5 2340 * doc/openmp-implementation-specifics.rst:
3d3b561f 2341 Add trailing newline.
1cdfd0e5 2342 * doc/openmp-implementation-status.rst:
3d3b561f 2343 Add trailing newline.
1cdfd0e5 2344 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 2345 Add trailing newline.
1cdfd0e5 2346 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 2347 Add trailing newline.
1cdfd0e5 2348 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 2349 Add trailing newline.
1cdfd0e5 2350 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 2351 Add trailing newline.
1cdfd0e5 2352 * doc/openmp-runtime-library-routines.rst:
3d3b561f 2353 Add trailing newline.
1cdfd0e5 2354 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 2355 Add trailing newline.
1cdfd0e5 2356 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 2357 Add trailing newline.
1cdfd0e5 2358 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 2359 Add trailing newline.
1cdfd0e5 2360 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 2361 Add trailing newline.
1cdfd0e5 2362 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2363 Add trailing newline.
1cdfd0e5 2364 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2365 Add trailing newline.
1cdfd0e5 2366 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2367 Add trailing newline.
1cdfd0e5 2368 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2369 Add trailing newline.
1cdfd0e5 2370 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2371 Add trailing newline.
1cdfd0e5 2372 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2373 Add trailing newline.
1cdfd0e5 2374 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2375 Add trailing newline.
1cdfd0e5 2376 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2377 Add trailing newline.
1cdfd0e5 2378 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2379 Add trailing newline.
1cdfd0e5 2380 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2381 Add trailing newline.
1cdfd0e5 2382 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2383 Add trailing newline.
1cdfd0e5 2384 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2385 Add trailing newline.
1cdfd0e5 2386 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2387 Add trailing newline.
1cdfd0e5 2388 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2389 Add trailing newline.
1cdfd0e5 2390 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2391 Add trailing newline.
1cdfd0e5 2392 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2393 Add trailing newline.
1cdfd0e5 2394 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2395 Add trailing newline.
1cdfd0e5 2396 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2397 Add trailing newline.
1cdfd0e5 2398 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2399 Add trailing newline.
1cdfd0e5 2400 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2401 Add trailing newline.
1cdfd0e5 2402 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2403 Add trailing newline.
1cdfd0e5 2404 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2405 Add trailing newline.
1cdfd0e5 2406 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2407 Add trailing newline.
1cdfd0e5 2408 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2409 Add trailing newline.
1cdfd0e5 2410 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2411 Add trailing newline.
1cdfd0e5 2412 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2413 Add trailing newline.
1cdfd0e5 2414 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2415 Add trailing newline.
1cdfd0e5 2416 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2417 Add trailing newline.
1cdfd0e5 2418 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2419 Add trailing newline.
1cdfd0e5 2420 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2421 Add trailing newline.
1cdfd0e5 2422 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2423 Add trailing newline.
1cdfd0e5 2424 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2425 Add trailing newline.
1cdfd0e5 2426 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2427 Add trailing newline.
1cdfd0e5 2428 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2429 Add trailing newline.
1cdfd0e5 2430 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2431 Add trailing newline.
1cdfd0e5 2432 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2433 Add trailing newline.
1cdfd0e5 2434 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2435 Add trailing newline.
1cdfd0e5 2436 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2437 Add trailing newline.
1cdfd0e5 2438 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2439 Add trailing newline.
1cdfd0e5 2440 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2441 Add trailing newline.
1cdfd0e5 2442 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2443 Add trailing newline.
1cdfd0e5 2444 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2445 Add trailing newline.
1cdfd0e5 2446 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2447 Add trailing newline.
1cdfd0e5 2448 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2449 Add trailing newline.
1cdfd0e5 2450 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2451 Add trailing newline.
1cdfd0e5 2452 * doc/reporting-bugs.rst:
3d3b561f 2453 Add trailing newline.
1cdfd0e5 2454 * doc/the-libgomp-abi.rst:
3d3b561f 2455 Add trailing newline.
1cdfd0e5 2456 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2457 Add trailing newline.
1cdfd0e5 2458 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2459 Add trailing newline.
1cdfd0e5 2460 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2461 Add trailing newline.
1cdfd0e5 2462 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2463 Add trailing newline.
1cdfd0e5 2464 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2465 Add trailing newline.
1cdfd0e5 2466 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2467 Add trailing newline.
1cdfd0e5 2468 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2469 Add trailing newline.
1cdfd0e5 2470 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2471 Add trailing newline.
1cdfd0e5 2472 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2473 Add trailing newline.
1cdfd0e5 2474 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2475 Add trailing newline.
1cdfd0e5 2476 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2477 Add trailing newline.
1cdfd0e5 2478 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2479 Add trailing newline.
1cdfd0e5 2480 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2481 Add trailing newline.
1cdfd0e5 2482 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2483 Add trailing newline.
1cdfd0e5 2484 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2485 Add trailing newline.
1cdfd0e5
GA
2486
24872022-11-09 Martin Liska <mliska@suse.cz>
2488
2489 * Makefile.in: Build info pages conditionally.
2490
24912022-11-09 Martin Liska <mliska@suse.cz>
2492
2493 * Makefile.in: Support --with-sphinx-build.
2494 * configure.ac: Likewise..
2495 * configure: Regenerate.
2496
24972022-11-09 Martin Liska <mliska@suse.cz>
2498
2499 * libgomp.texi: Removed.
2500
25012022-11-09 Martin Liska <mliska@suse.cz>
2502
2503 * Makefile.in: Support Sphinx based documentation.
2504
25052022-11-09 Martin Liska <mliska@suse.cz>
2506
2507 * doc/amd-radeon-gcn.rst: New file.
2508 * doc/conf.py: New file.
2509 * doc/copyright.rst: New file.
2510 * doc/cuda-streams-usage.rst: New file.
2511 * doc/enabling-openacc.rst: New file.
2512 * doc/enabling-openmp.rst: New file.
2513 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2514 * doc/first-invocation-openacc-library-api.rst: New file.
2515 * doc/funding.rst: New file.
2516 * doc/general-public-license-3.rst: New file.
2517 * doc/gnu-free-documentation-license.rst: New file.
2518 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2519 * doc/index.rst: New file.
2520 * doc/indices-and-tables.rst: New file.
2521 * doc/introduction.rst: New file.
2522 * doc/memory-allocation-with-libmemkind.rst: New file.
2523 * doc/nvptx.rst: New file.
2524 * doc/offload-target-specifics.rst: New file.
2525 * doc/openacc-environment-variables.rst: New file.
2526 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2527 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2528 * doc/openacc-environment-variables/accproflib.rst: New file.
2529 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2530 * doc/openacc-introduction.rst: New file.
2531 * doc/openacc-library-and-environment-variables.rst: New file.
2532 * doc/openacc-library-interoperability.rst: New file.
2533 * doc/openacc-profiling-interface.rst: New file.
2534 * doc/openacc-runtime-library-routines.rst: New file.
2535 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2536 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2537 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2538 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2539 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2540 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2541 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2542 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2543 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2544 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2545 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2546 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2547 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2548 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2549 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2550 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2551 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2552 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2553 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2554 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2555 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2556 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2557 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2558 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2559 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2560 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2561 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2562 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2563 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2564 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2565 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2566 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2567 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2568 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2569 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2570 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2571 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2572 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2573 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2574 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2575 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2576 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2577 * doc/openmp-context-selectors.rst: New file.
2578 * doc/openmp-environment-variables.rst: New file.
2579 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2580 * doc/openmp-environment-variables/gompdebug.rst: New file.
2581 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2582 * doc/openmp-environment-variables/gompspincount.rst: New file.
2583 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2584 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2585 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2586 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2587 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2588 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2589 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2590 * doc/openmp-environment-variables/ompnested.rst: New file.
2591 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2592 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2593 * doc/openmp-environment-variables/ompplaces.rst: New file.
2594 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2595 * doc/openmp-environment-variables/ompschedule.rst: New file.
2596 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2597 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2598 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2599 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2600 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2601 * doc/openmp-implementation-specifics.rst: New file.
2602 * doc/openmp-implementation-status.rst: New file.
2603 * doc/openmp-implementation-status/openmp-45.rst: New file.
2604 * doc/openmp-implementation-status/openmp-50.rst: New file.
2605 * doc/openmp-implementation-status/openmp-51.rst: New file.
2606 * doc/openmp-implementation-status/openmp-52.rst: New file.
2607 * doc/openmp-runtime-library-routines.rst: New file.
2608 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2609 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2610 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2611 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2612 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2613 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2614 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2615 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2616 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2617 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2618 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2619 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2620 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2621 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2622 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2623 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2624 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2625 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2626 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2627 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2628 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2629 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2630 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2631 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2632 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2633 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2634 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2635 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2636 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2637 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2638 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2639 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2640 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2641 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2642 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2643 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2644 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2645 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2646 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2647 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2648 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2649 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2650 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2651 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2652 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2653 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2654 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2655 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2656 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2657 * doc/reporting-bugs.rst: New file.
2658 * doc/the-libgomp-abi.rst: New file.
2659 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2660 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2661 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2662 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2663 New file.
2664 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2665 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2666 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2667 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2668 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2669 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2670 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2671 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2672 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2673 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2674 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2675
89d0a14a
JJ
26762022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2677
2678 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2679 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2680 documentation.
2681 * plugin/configfrag.ac <enable_offload_targets>
2682 [*-intelmic-* | *-intelmicemul-*]: Remove.
2683 * configure: Regenerate.
2684 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2685 handling.
2686 (offload_target_to_openacc_device_type)
2687 [$offload_target = *-intelmic*]: Remove.
2688 (check_effective_target_offload_device_intel_mic)
2689 (check_effective_target_offload_device_any_intel_mic): Remove.
2690 * testsuite/libgomp.c-c++-common/on_device_arch.h
2691 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2692 (any_device_arch_intel_mic): Remove.
2693 * testsuite/libgomp.c-c++-common/target-45.c: Remove
2694 'offload_device_any_intel_mic' XFAIL.
2695 * testsuite/libgomp.fortran/target10.f90: Likewise.
2696
d29260ce
GA
26972022-11-03 Tobias Burnus <tobias@codesourcery.com>
2698
2699 * testsuite/libgomp.fortran/target-11.f90: New test.
2700 * testsuite/libgomp.fortran/target-13.f90: New test.
2701
58035eee
GA
27022022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2703
2704 PR libgomp/106643
2705 PR fortran/96668
2706 * oacc-mem.c (goacc_enter_data_internal): Support
2707 OpenACC 'declare create' with Fortran allocatable arrays, part II.
2708 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2709 Adjust.
2710 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2711
27122022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2713
2714 PR libgomp/106643
2715 * oacc-mem.c (goacc_enter_data_internal): Support
2716 OpenACC 'declare create' with Fortran allocatable arrays, part I.
2717 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2718 New.
2719 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2720 New.
2721
27222022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2723
2724 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2725 New.
2726
27272022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2728
2729 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2730 New.
2731
27322022-11-02 Cesar Philippidis <cesar@codesourcery.com>
2733 Thomas Schwinge <thomas@codesourcery.com>
2734
2735 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2736
3055829a
GA
27372022-10-28 Julian Brown <julian@codesourcery.com>
2738 Thomas Schwinge <thomas@codesourcery.com>
2739
2740 PR middle-end/90115
2741 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2742 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2743 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2744 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2745 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2746
4e939ae1
GA
27472022-10-24 Thomas Schwinge <thomas@codesourcery.com>
2748
2749 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2750 'ptx_dev->rev_data'.
2751
27522022-10-24 Tobias Burnus <tobias@codesourcery.com>
2753
2754 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2755 'static' for this variable.
2756 * config/nvptx/libgomp-nvptx.h: New file.
2757 * config/nvptx/target.c: Include it.
2758 (GOMP_ADDITIONAL_ICVS): Declare extern var.
2759 (GOMP_REV_OFFLOAD_VAR): Declare var.
2760 (GOMP_target_ext): Handle reverse offload.
2761 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2762 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2763 * target.c (gomp_target_rev): ... this new stub function.
2764 * libgomp.h (gomp_target_rev): Declare.
2765 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2766 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2767 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2768 (struct ptx_device): Add rev_data member.
2769 (nvptx_open_device): Remove async_engines query, last used in
2770 r10-304-g1f4c5b9b; add unified-address assert check.
2771 (GOMP_OFFLOAD_get_num_devices): Claim unified address
2772 support.
2773 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2774 offload functions exist. Make offload var available
2775 on host and device.
2776 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2777 (GOMP_OFFLOAD_run): Handle reverse offload.
2778
10439719
GA
27792022-10-21 Thomas Schwinge <thomas@codesourcery.com>
2780
2781 PR tree-optimization/107195
2782 PR target/107344
2783 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2784 regions checking.
2785
47a6ae56
GA
27862022-10-20 Tobias Burnus <tobias@codesourcery.com>
2787
2788 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2789 New.
2790 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2791 on_device_arch_gcn): New.
2792 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2793 requires-4.c but using heap-allocated memory.
2794
27952022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2796
2797 PR target/105421
2798 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
2799
6237663c
GA
28002022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2801
2802 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
2803 '-foffload-options' syntax.
2804
621a911d
GA
28052022-10-13 Tobias Burnus <tobias@codesourcery.com>
2806
2807 * testsuite/libgomp.fortran/task-7.f90: New test.
2808 * testsuite/libgomp.fortran/task-8.f90: New test.
2809 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
2810 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
2811 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
2812 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
2813 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
2814
781f477a
GA
28152022-10-12 Jakub Jelinek <jakub@redhat.com>
2816
2817 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
2818 in deprecation bullet.
2819
28202022-10-12 Jakub Jelinek <jakub@redhat.com>
2821
2822 * omp.h.in (omp_in_explicit_task): Declare.
2823 * omp_lib.h.in (omp_in_explicit_task): Likewise.
2824 * omp_lib.f90.in (omp_in_explicit_task): New interface.
2825 * libgomp.map (OMP_5.2): New symbol version, export
2826 omp_in_explicit_task and omp_in_explicit_task_.
2827 * task.c (omp_in_explicit_task): New function.
2828 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
2829 (omp_in_explicit_task_): New function.
2830 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
2831 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
2832 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
2833 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
2834
28352022-10-12 Jakub Jelinek <jakub@redhat.com>
2836
2837 * task.c (gomp_create_artificial_team): Fix up handling of invocations
2838 from within explicit task.
2839 * target.c (GOMP_target_ext): Likewise.
2840 * testsuite/libgomp.c/task-7.c: New test.
2841 * testsuite/libgomp.c/task-8.c: New test.
2842 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
2843 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
2844
28452022-10-12 Martin Liska <mliska@suse.cz>
2846
2847 * configure: Regenerate.
2848
ab332cd7
GA
28492022-10-11 Olivier Hainque <hainque@adacore.com>
2850 Olivier Hainque <hainque@adacore.com>
2851
2852 * configure: Regenerate.
2853
966010b2
GA
28542022-10-05 Tobias Burnus <tobias@codesourcery.com>
2855
2856 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
2857
85872a69
GA
28582022-10-04 Jakub Jelinek <jakub@redhat.com>
2859
2860 * libgomp.texi (Support begin/end declare target syntax in C/C++):
2861 Mark as implemented.
2862
3a221b73
GA
28632022-09-30 Tobias Burnus <tobias@codesourcery.com>
2864
2865 PR fortran/105318
2866 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
2867
9e79a25b
GA
28682022-09-28 Tobias Burnus <tobias@codesourcery.com>
2869
2870 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
2871 for C/C++. Remove duplicated 'begin declare target' entry.
2872
28a61ecd
GA
28732022-09-24 Jakub Jelinek <jakub@redhat.com>
2874
2875 PR c/106981
2876 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
2877
ff822367
GA
28782022-09-14 Julian Brown <julian@codesourcery.com>
2879
2880 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
2881 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
2882 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
2883 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
2884 test to here, make "run" test.
2885
1995a022
GA
28862022-09-13 Jakub Jelinek <jakub@redhat.com>
2887
2888 PR libgomp/106906
2889 * env.c (get_icv_member_addr): Cast false to void * before assigning
2890 it to icv_addr[1], and comment the whole assignment out.
2891
28922022-09-13 Tobias Burnus <tobias@codesourcery.com>
2893
2894 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
2895 (nvptx): ... here.
2896
b5f09bd7
GA
28972022-09-12 Tobias Burnus <tobias@codesourcery.com>
2898
2899 * libgomp.texi (Offload-Target Specifics: nvptx): Document
2900 that reverse offload requires >= -march=sm_35.
2901 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
2902 with -misa=sm_35.
2903 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2904 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
2905 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
2906 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
2907 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
2908
29092022-09-12 Tobias Burnus <tobias@codesourcery.com>
2910
2911 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
2912 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
2913
29142022-09-12 Jakub Jelinek <jakub@redhat.com>
2915
2916 PR libgomp/106894
2917 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
2918 (main): Avoid tests for which corresponding non-_ALL suffixed variable
2919 is in the environment, or for OMP_NUM_TEAMS on the device
2920 OMP_NUM_TEAMS_DEV_?.
2921
5b3496e2
GA
29222022-09-10 Iain Sandoe <iain@sandoe.co.uk>
2923
2924 * env.c (initialize_env): Include libiberty environ.h.
2925
861d1a11
GA
29262022-09-09 Tobias Burnus <tobias@codesourcery.com>
2927
2928 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
2929 function address table '$offload_func_table' if rev_fn_table
2930 is not NULL.
2931
29322022-09-09 Tobias Burnus <tobias@codesourcery.com>
2933
2934 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
2935 .offload_func_table to populate rev_fn_table when requested.
2936
29372022-09-09 Tobias Burnus <tobias@codesourcery.com>
2938
2939 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
2940 'uint64_t **rev_fn_table' argument.
2941 * oacc-host.c (host_load_image): Likewise.
2942 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
2943 currently unused.
2944 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2945 * target.c (gomp_load_image_to_device): Update call but pass
2946 NULL for now.
2947
29482022-09-09 Jakub Jelinek <jakub@redhat.com>
2949
2950 PR libgomp/106894
2951 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
2952 char * for dest[1] initialization from params[1]. Formatting fixes.
2953
2e7ad70c
GA
29542022-09-08 Tobias Burnus <tobias@codesourcery.com>
2955
2956 PR fortran/106670
2957 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
2958
29592022-09-08 Tobias Burnus <tobias@codesourcery.com>
2960
2961 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
2962 section; move OpenMP Context Selectors from ...
2963 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
2964 'nvptx' sections.
2965
29662022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
2967
2968 * config/gcn/icv-device.c (omp_get_default_device): Return device-
2969 specific ICV.
2970 (omp_get_max_teams): Added for GCN devices.
2971 (omp_set_num_teams): Likewise.
2972 (ialias): Likewise.
2973 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
2974 specific ICV.
2975 (omp_get_max_teams): Added for NVPTX devices.
2976 (omp_set_num_teams): Likewise.
2977 (ialias): Likewise.
2978 * env.c (struct gomp_icv_list): New struct to store entries of initial
2979 ICV values.
2980 (struct gomp_offload_icv_list): New struct to store entries of device-
2981 specific ICV values that are copied to the device and back.
2982 (struct gomp_default_icv_values): New struct to store default values of
2983 ICVs according to the OpenMP standard.
2984 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
2985 (print_env_var_error): Function that prints an error for invalid values
2986 for ICVs.
2987 (parse_unsigned_long_1): Removed getenv. Generalized.
2988 (parse_unsigned_long): Likewise.
2989 (parse_int_1): Likewise.
2990 (parse_int): Likewise.
2991 (parse_int_secure): Likewise.
2992 (parse_unsigned_long_list): Likewise.
2993 (parse_target_offload): Likewise.
2994 (parse_bind_var): Likewise.
2995 (parse_stacksize): Likewise.
2996 (parse_boolean): Likewise.
2997 (parse_wait_policy): Likewise.
2998 (parse_allocator): Likewise.
2999 (omp_display_env): Extended to output different variants of environment
3000 variables.
3001 (print_schedule): New helper function for omp_display_env which prints
3002 the values of run_sched_var.
3003 (print_proc_bind): New helper function for omp_display_env which prints
3004 the values of proc_bind_var.
3005 (enum gomp_parse_type): Collection of types used for parsing environment
3006 variables.
3007 (ENTRY): Preprocess string lengths of environment variables.
3008 (OMP_VAR_CNT): Preprocess table size.
3009 (OMP_HOST_VAR_CNT): Likewise.
3010 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3011 number.
3012 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3013 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3014 (print_device_specific_icvs): New helper function for omp_display_env to
3015 print device specific ICV values.
3016 (get_device_num): New helper function for parse_device_specific.
3017 Extracts the device number from an environment variable name.
3018 (get_icv_member_addr): Gets the memory address for a particular member
3019 of an ICV struct.
3020 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3021 (initialize_icvs): New function to initialize a gomp_initial_icvs
3022 struct.
3023 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3024 (startswith): Checks if a string starts with a given prefix.
3025 (initialize_env): Extended to parse the new syntax of environment
3026 variables.
3027 * icv-device.c (omp_get_max_teams): Added.
3028 (ialias): Likewise.
3029 (omp_set_num_teams): Likewise.
3030 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3031 (omp_get_max_teams): Likewise.
3032 (ialias): Likewise.
3033 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3034 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3035 holds the designated ICVs of the target device.
3036 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3037 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3038 no suffix.
3039 (enum gomp_env_suffix): Collection of possible suffixes of environment
3040 variables.
3041 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3042 initial values.
3043 (struct gomp_default_icv):New struct to hold ICVs for which we need
3044 to store initial values.
3045 (struct gomp_icv_list): Definition of a linked list that is used for
3046 storing ICVs for the devices and also for _DEV, _ALL, and without
3047 suffix.
3048 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3049 a device.
3050 (struct gomp_offload_icv_list): Definition of a linked list that holds
3051 device-specific ICVs that are copied to devices.
3052 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3053 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3054 * libgomp.texi: Updated.
3055 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3056 further ICVs from the offload image.
3057 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3058 * target.c (gomp_get_offload_icv_item): Get a list item of
3059 gomp_offload_icv_list.
3060 (get_gomp_offload_icvs): New. Returns the ICV values
3061 depending on the device num and the variable hierarchy.
3062 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3063 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3064 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3065 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3066 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3067 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3068 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3069
30702022-09-08 Jakub Jelinek <jakub@redhat.com>
3071
3072 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3073 fully supported.
3074 * testsuite/libgomp.c/doacross-4.c: New test.
3075 * testsuite/libgomp.c/doacross-5.c: New test.
3076 * testsuite/libgomp.c/doacross-6.c: New test.
3077 * testsuite/libgomp.c/doacross-7.c: New test.
3078
47d2dcd1
GA
30792022-09-05 Tobias Burnus <tobias@codesourcery.com>
3080
3081 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3082
16f542d6
GA
30832022-08-26 Tobias Burnus <tobias@codesourcery.com>
3084
3085 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3086 refer to 'requires'.
3087 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3088 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3089 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3090 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3091
0342f034
GA
30922022-08-17 Tobias Burnus <tobias@codesourcery.com>
3093
3094 PR middle-end/106548
3095 * testsuite/libgomp.c/linear-2.c: New test.
3096
30972022-08-17 Tobias Burnus <tobias@codesourcery.com>
3098
3099 * splay-tree.h: Fix splay_* macro unsetting if
3100 splay_tree_prefix is defined.
3101
b2bf0473
GA
31022022-07-29 Tobias Burnus <tobias@codesourcery.com>
3103
3104 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3105
31062022-07-29 Jakub Jelinek <jakub@redhat.com>
3107
3108 PR middle-end/106449
3109 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3110
43997608
GA
31112022-07-12 Tobias Burnus <tobias@codesourcery.com>
3112
3113 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3114
31152022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3116
3117 PR middle-end/101551
3118 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3119 'offloading_enabled' diagnostics issue.
3120
c72d4714
GA
31212022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3122
3123 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3124 '_Pragma' diagnostics verification.
3125
b53ebbc5
GA
31262022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3127
3128 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3129 improved warning locations.
3130 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3131
0fe604a2
GA
31322022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3133
3134 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3135 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3136 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3137 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3138 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3139
6345c414
GA
31402022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3141
3142 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3143 Denote as legacy entry points.
3144 * testsuite/lib/libgomp.exp
3145 (check_effective_target_offload_target_any): New proc.
3146 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3147 'offload_target_any'.
3148 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3149 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3150 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3151
31522022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3153
3154 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3155 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3156
31572022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3158
3159 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3160
4bc92c3b
GA
31612022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3162
3163 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3164 'data'.
3165 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3166
8467574d
GA
31672022-07-04 Tobias Burnus <tobias@codesourcery.com>
3168 Jakub Jelinek <jakub@redhat.com>
3169
3170 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3171
31722022-07-04 Tobias Burnus <tobias@codesourcery.com>
3173 Chung-Lin Tang <cltang@codesourcery.com>
3174 Thomas Schwinge <thomas@codesourcery.com>
3175
3176 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3177 omp_requires_mask arg.
3178 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3179 return -1 when device available but omp_requires_mask != 0.
3180 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3181 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3182 Update call.
3183 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3184 goacc_attach_host_thread_to_device, acc_get_num_devices,
3185 acc_set_device_num, get_property_any): Likewise.
3186 * target.c (omp_requires_mask): New global var.
3187 (gomp_requires_to_name): New.
3188 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3189 (gomp_target_init): Handle omp_requires_mask.
3190 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3191 (OpenMP 5.1): Add a missed item.
3192 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3193 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3194 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3195 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3196 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3197 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3198 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3199 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3200 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3201 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3202 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3203 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3204 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3205 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3206 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3207 * testsuite/libgomp.fortran/requires-1.f90: New test.
3208
ed974488
GA
32092022-07-01 Tobias Burnus <tobias@codesourcery.com>
3210
3211 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3212 with fromto as implemented.
3213
fb29fdea
GA
32142022-06-28 Martin Liska <mliska@suse.cz>
3215
3216 * acinclude.m4: Fix typo in mold linker detection.
3217 * Makefile.in: Regenerate.
3218 * configure: Regenerate.
3219
de89b078
GA
32202022-06-21 Jakub Jelinek <jakub@redhat.com>
3221 Paul Iannetta <piannetta@kalrayinc.com>
3222
3223 PR libgomp/106045
3224 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3225
5a66d7dd
GA
32262022-06-17 Martin Liska <mliska@suse.cz>
3227
3228 * libgomp.texi: Add table header for new features of
3229 OpenMP 5.2.
3230
499b9c5f
GA
32312022-06-15 Jakub Jelinek <jakub@redhat.com>
3232
3233 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3234 q to ddress of an automatic variable. Use -5 instead of -1 in
3235 omp_get_mapped_ptr call. Add test with omp_initial_device.
3236 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3237 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3238 Renumber stop arguments afterwards.
3239
c3642271
GA
32402022-06-13 Jakub Jelinek <jakub@redhat.com>
3241
3242 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3243 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3244 parameters.
3245 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3246 * target.c (resolve_device): Add remapped argument, handle
3247 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3248 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3249 if remapped, otherwise treat omp_initial_device that way. For
3250 omp_invalid_device, always emit gomp_fatal, even when
3251 OMP_TARGET_OFFLOAD isn't mandatory.
3252 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3253 GOMP_target_update, GOMP_target_update_ext,
3254 GOMP_target_enter_exit_data): Pass true as remapped argument to
3255 resolve_device.
3256 (omp_target_alloc, omp_target_free, omp_target_is_present,
3257 omp_target_memcpy_check, omp_target_associate_ptr,
3258 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3259 omp_target_is_accessible): Pass false as remapped argument to
3260 resolve_device. Treat omp_initial_device the same as
3261 gomp_get_num_devices (). Don't bypass resolve_device calls if
3262 device_num is negative.
3263 (omp_pause_resource): Treat omp_initial_device the same as
3264 gomp_get_num_devices (). Call resolve_device.
3265 * icv-device.c (omp_set_default_device): Always set to device_num
3266 even when it is negative.
3267 * libgomp.texi: Document that Conforming device numbers,
3268 omp_initial_device and omp_invalid_device is implemented.
3269 * testsuite/libgomp.c/target-41.c (main): Add test with
3270 omp_initial_device.
3271 * testsuite/libgomp.c/target-45.c: New test.
3272 * testsuite/libgomp.c/target-46.c: New test.
3273 * testsuite/libgomp.c/target-47.c: New test.
3274 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3275 test with omp_initial_device. Use -5 instead of -1 for negative value
3276 test.
3277 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3278 Likewise. Reorder stop numbers.
3279
ef1e4d80
GA
32802022-06-10 Jakub Jelinek <jakub@redhat.com>
3281
3282 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3283 rather than "libmemkind.so".
3284
32852022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3286
3287 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3288 * plugin/configfrag.ac (--with-cuda-driver)
3289 (--with-cuda-driver-include, --with-cuda-driver-lib)
3290 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3291 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3292 Remove.
3293 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3294 (cuda_driver_lib): Remove.
3295 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3296 * Makefile.in: Regenerate.
3297 * configure: Likewise.
3298 * testsuite/Makefile.in: Likewise.
3299
e3bba42f
GA
33002022-06-09 Jakub Jelinek <jakub@redhat.com>
3301
3302 * config/linux/allocator.c: Fix up #include directive.
3303
33042022-06-09 Jakub Jelinek <jakub@redhat.com>
3305
3306 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3307 (enum gomp_memkind_kind): New type.
3308 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3309 is defined.
3310 (struct gomp_memkind_data): New type.
3311 (memkind_data, memkind_data_once): New variables.
3312 (gomp_init_memkind, gomp_get_memkind): New functions.
3313 (omp_init_allocator): Initialize data.memkind, don't fail for
3314 omp_high_bw_mem_space if libmemkind supports it.
3315 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3316 memkind support of LIBGOMP_USE_MEMKIND is defined.
3317 * config/linux/allocator.c: New file.
3318
58b67140
GA
33192022-06-03 Tobias Burnus <tobias@codesourcery.com>
3320
3321 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3322 * testsuite/libgomp.fortran/scope-2.f90: New test.
3323
b168441c
GA
33242022-06-02 David Malcolm <dmalcolm@redhat.com>
3325
3326 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3327
820ead45
GA
33282022-05-31 Jakub Jelinek <jakub@redhat.com>
3329
3330 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3331 scope construct with allocate clause.
3332 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3333 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3334
37b3b5da
GA
33352022-05-28 Tobias Burnus <tobias@codesourcery.com>
3336
3337 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3338 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3339 explicit 'to' and 'enter' clause.
3340 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3341
33422022-05-28 Jakub Jelinek <jakub@redhat.com>
3343
3344 PR libgomp/105745
3345 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3346 defined(HAVE__ALIGNED_MALLOC) case.
3347 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3348 handling as last option before fallback instead of first.
3349 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3350 _aligned_free.
3351
d9176e64
GA
33522022-05-27 Jakub Jelinek <jakub@redhat.com>
3353
3354 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3355 clauses to enter.
3356 * testsuite/libgomp.c/target-41.c: Likewise.
3357
33582022-05-27 Tobias Burnus <tobias@codesourcery.com>
3359
3360 * libgomp.texi (Other new OpenMP 5.1 features): Add
3361 'begin declare target'.
3362 (Other new OpenMP 5.2 features): New.
3363
3dff965c
GA
33642022-05-25 Jakub Jelinek <jakub@redhat.com>
3365
3366 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3367 is the last task taskwait depend depends on, wake it up.
3368 Similarly if it is the last child of a taskgroup, use atomic
3369 store instead of decrement and awak taskgroup wait if any.
3370 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3371
768f49a2
GA
33722022-05-24 Andrew Stubbs <ams@codesourcery.com>
3373
3374 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3375 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3376 (gcn_gfx90a_s): New.
3377 (isa_hsa_name): Support gfx90a.
3378 (isa_code): Likewise.
3379
33802022-05-24 Tobias Burnus <tobias@codesourcery.com>
3381
3382 PR c/105378
3383 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3384 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3385
33862022-05-24 Jakub Jelinek <jakub@redhat.com>
3387
3388 PR c/105378
3389 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3390 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3391 * task.c (empty_task): New function.
3392 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3393 (gomp_task_run_post_handle_depend): Declare.
3394 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3395 for.
3396 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3397 (GOMP_taskwait_depend_nowait): New function.
3398 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3399
168fc8bd
GA
34002022-05-23 Tobias Burnus <tobias@codesourcery.com>
3401
3402 PR fortran/104949
3403 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3404 Support attach for GOMP_MAP_FIRSTPRIVATE.
3405 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3406 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3407 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3408
57f2ce6a
GA
34092022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3410
3411 * libgomp.map: Added omp_target_memcpy_async and
3412 omp_target_memcpy_rect_async.
3413 * libgomp.texi: Both functions are now supported.
3414 * omp.h.in: Added omp_target_memcpy_async and
3415 omp_target_memcpy_rect_async.
3416 * omp_lib.f90.in: Added interfaces for both new functions.
3417 * omp_lib.h.in: Likewise.
3418 * target.c (ialias_redirect): Added for GOMP_task.
3419 (omp_target_memcpy): Restructured into check and copy part.
3420 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3421 omp_target_memcpy_async that checks requirements.
3422 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3423 omp_target_memcpy_async that performs the memcpy.
3424 (omp_target_memcpy_async_helper): New helper function that is used in
3425 omp_target_memcpy_async for the asynchronous task.
3426 (omp_target_memcpy_async): Added.
3427 (omp_target_memcpy_rect): Restructured into check and copy part.
3428 (omp_target_memcpy_rect_check): New helper function for
3429 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3430 requirements.
3431 (omp_target_memcpy_rect_copy): New helper function for
3432 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3433 the memcpy.
3434 (omp_target_memcpy_rect_async_helper): New helper function that is used
3435 in omp_target_memcpy_rect_async for the asynchronous task.
3436 (omp_target_memcpy_rect_async): Added.
3437 * task.c (ialias): Added for GOMP_task.
3438 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3439 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3440 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3441 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3442 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3443 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3444 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3445 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3446
1cda629f
GA
34472022-05-18 Tobias Burnus <tobias@codesourcery.com>
3448
3449 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3450 (OpenMP Context Selectors): Add missing comma.
3451 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3452 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3453 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3454 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3455
3d9439b1
GA
34562022-05-17 Jakub Jelinek <jakub@redhat.com>
3457
3458 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3459 comment for omp_display_env feature.
3460
34612022-05-17 Tobias Burnus <tobias@codesourcery.com>
3462
3463 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3464 to document OpenMP context selectors.
3465
34662022-05-17 Jakub Jelinek <jakub@redhat.com>
3467
3468 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3469 from bool to unsigned char.
3470 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3471 Ignore dependencies where
3472 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3473 rather than just task->depend[i].is_in && ent->is_in. Remember
3474 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3475 conditional.
3476 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3477 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3478 rather than just elem.is_in && ent->is_in.
3479 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3480 inoutset depend-kind.
3481 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3482 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3483 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3484
34852022-05-17 Tobias Burnus <tobias@codesourcery.com>
3486
3487 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3488
34892022-05-17 Tobias Burnus <tobias@codesourcery.com>
3490
3491 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3492 * testsuite/libgomp.fortran/depend-5.f90: New test.
3493 * testsuite/libgomp.fortran/depend-6.f90: New test.
3494 * testsuite/libgomp.fortran/depend-7.f90: New test.
3495
702bd11f
GA
34962022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3497
3498 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3499 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3500 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3501
9df4ffe4
GA
35022022-05-13 Tobias Burnus <tobias@codesourcery.com>
3503
3504 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3505
35062022-05-13 Tobias Burnus <tobias@codesourcery.com>
3507
3508 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3509
35102022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3511
3512 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3513 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3514 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3515 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3516 * Makefile.in: Regenerate.
3517
49ace834
GA
35182022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3519
3520 * Makefile.am (libgomp_la_LIBADD): Initialize.
3521 * plugin/configfrag.ac (DL_LIBS): New.
3522 (PLUGIN_GCN_LIBS): Remove.
3523 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3524 * plugin/Makefrag.am (libgomp_la_LIBADD)
3525 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3526 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3527 * Makefile.in: Regenerate.
3528 * config.h.in: Likewise.
3529 * configure: Likewise.
3530 * testsuite/Makefile.in: Likewise.
3531
35322022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3533
3534 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3535 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3536 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3537 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3538 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3539 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3540 * Makefile.in: Regenerate.
3541 * config.h.in: Likewise.
3542 * configure: Likewise.
3543
35442022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3545
3546 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3547 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3548 * Makefile.in: Regenerate.
3549 * config.h.in: Likewise.
3550 * configure: Likewise.
3551 * testsuite/Makefile.in: Likewise.
3552
35532022-05-12 Jakub Jelinek <jakub@redhat.com>
3554
3555 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3556 * task.c (gomp_init_task): Initialize depend_all_memory.
3557 (gomp_task_handle_depend): Handle omp_all_memory.
3558 (gomp_task_run_post_handle_depend_hash): Clear
3559 parent->depend_all_memory if equal to current task.
3560 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3561 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3562 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3563 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3564
d0d513b5
GA
35652022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3566
3567 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3568 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3569 * Makefile.in: Regenerate.
3570 * configure: Likewise.
3571 * testsuite/Makefile.in: Likewise.
3572
35732022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3574
3575 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3576 consider 'PLUGIN_GCN_CPPFLAGS'.
3577 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3578 'PLUGIN_GCN_LDFLAGS'.
3579 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3580 Remove.
3581 * Makefile.in: Regenerate.
3582 * configure: Likewise.
3583 * testsuite/Makefile.in: Likewise.
3584
35852022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3586
3587 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3588 (HSA_RUNTIME_LDFLAGS): Remove.
3589 * configure: Regenerate.
3590
35912022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3592
3593 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3594 'append always_ld_library_path ":$hsa_runtime_lib"'.
3595 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3596
e8778989
GA
35972022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3598
3599 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3600 multi-device testing.
3601
ea3fbfda
GA
36022022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3603
3604 * libgomp.map: Added omp_target_is_accessible.
3605 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3606 * omp.h.in: Added omp_target_is_accessible.
3607 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3608 * omp_lib.h.in: Likewise.
3609 * target.c (omp_target_is_accessible): Added implementation of
3610 omp_target_is_accessible.
3611 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3612 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3613
ab869e7f
GA
36142022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3615
3616 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3617
3e7db517
GA
36182022-05-04 Tobias Burnus <tobias@codesourcery.com>
3619
3620 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3621
36222022-05-04 Tobias Burnus <tobias@codesourcery.com>
3623
3624 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3625
e66af28d
GA
36262022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3627
3628 * libgomp.map: Added omp_get_mapped_ptr.
3629 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3630 * omp.h.in: Added omp_get_mapped_ptr.
3631 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3632 * omp_lib.h.in: Likewise.
3633 * target.c (omp_get_mapped_ptr): Added implementation of
3634 omp_get_mapped_ptr.
3635 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3636 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3637 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3638 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3639 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3640 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3641 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3642 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3643
6b6f53d8
GA
36442022-04-28 Thomas Schwinge <thomas@codesourcery.com>
3645
3646 PR fortran/104717
3647 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3648 privatization scanning. For GCN offloading compilation, raise
3649 '-mgang-private-size'.
3650
01ad093b
GA
36512022-04-26 Jakub Jelinek <jakub@redhat.com>
3652
3653 PR libgomp/105358
3654 * work.c (gomp_init_work_share): Don't mask of adjustment for
3655 dynamic long long realignment if struct gomp_work_share has smaller
3656 alignof than long long.
3657 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3658 struct gomp_work_share has smaller alignof than long long or if
3659 sizeof (struct gomp_work_share) is smaller than
3660 INLINE_ORDERED_TEAM_IDS_OFF.
3661 * loop_ull.c (GOMP_loop_ull_start): Likewise.
3662 * sections.c (GOMP_sections2_start): Likewise.
3663
98de0da6
GA
36642022-04-25 Jakub Jelinek <jakub@redhat.com>
3665 Thomas Schwinge <thomas@codesourcery.com>
3666
3667 PR fortran/104717
3668 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3669
247bbed1
GA
36702022-04-13 Jakub Jelinek <jakub@redhat.com>
3671
3672 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3673
80eb8ec6
GA
36742022-04-06 Thomas Schwinge <thomas@codesourcery.com>
3675
3676 * plugin/cuda/cuda.h: Remove file.
3677 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3678 "cuda/cuda.h" instead of <cuda.h>.
3679 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3680 'PLUGIN_NVPTX_CPPFLAGS'.
3681 * configure: Regenerate.
3682
9d84ed68
GA
36832022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
3684
3685 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3686
5e09bb1b
GA
36872022-04-04 Tom de Vries <tdevries@suse.de>
3688
3689 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3690 on_device_arch_nvptx instead of offload_target_nvptx.
3691 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3692
8af4270d
GA
36932022-04-01 Tom de Vries <tdevries@suse.de>
3694
3695 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3696 and use REC_DEPTH.
3697 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3698
36992022-04-01 Tom de Vries <tdevries@suse.de>
3700
3701 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3702 num_workers check.
3703
9f774626
GA
37042022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
3705 Lulu Cheng <chenglulu@loongson.cn>
3706
3707 * configure.tgt: Add LoongArch triplet.
3708
aab0127d
GA
37092022-03-28 Tom de Vries <tdevries@suse.de>
3710
3711 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3712 instead of /libexec/.
3713 * configure: Regenerate.
3714
31e989a2
GA
37152022-03-25 Tom de Vries <tdevries@suse.de>
3716
3717 PR libgomp/105042
3718 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3719 execution time.
3720 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3721 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3722
d1ca63a1
GA
37232022-03-23 Tobias Burnus <tobias@codesourcery.com>
3724
3725 PR middle-end/104285
3726 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3727 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3728 * testsuite/libgomp.c++/target-same-name-2.C: New test.
3729 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3730 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3731 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3732
a2287813
GA
37332022-03-22 Tom de Vries <tdevries@suse.de>
3734
3735 PR target/104916
3736 PR target/104783
3737 * testsuite/libgomp.c/pr104783-2.c: New test.
3738
8ca61ad1
GA
37392022-03-18 Tobias Burnus <tobias@codesourcery.com>
3740
3741 PR fortran/103039
3742 * testsuite/libgomp.fortran/associate4.f90: New test.
3743
37442022-03-18 Tom de Vries <tdevries@suse.de>
3745
3746 PR target/104952
3747 * testsuite/libgomp.c/pr104952-1.c: New test.
3748 * testsuite/libgomp.c/pr104952-2.c: New test.
3749
37502022-03-18 Jakub Jelinek <jakub@redhat.com>
3751
3752 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3753 variable next to pl variable.
3754
e9ea3016
GA
37552022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3756
3757 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3758 Enhance.
3759 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3760 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3761
37622022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3763
3764 PR middle-end/90115
3765 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3766 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3767
9fc8f278
GA
37682022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
3769
3770 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3771 omp_set_max_active_levels.
3772 * testsuite/libgomp.fortran/icv-8.f90: New test.
3773
37742022-03-16 Thomas Schwinge <thomas@codesourcery.com>
3775
3776 PR testsuite/102841
3777 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3778
b9756c08
GA
37792022-03-13 Tobias Burnus <tobias@codesourcery.com>
3780
3781 * libgomp.texi: Fix typo.
3782
57eeedda
GA
37832022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3784
3785 PR middle-end/100280
3786 PR middle-end/104892
3787 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3788 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3789 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3790 Likewise.
3791 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3792 Likewise.
3793 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3794 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3795 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3796 Likewise.
3797
37982022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3799
3800 PR middle-end/104892
3801 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
3802 to PR104892.
3803 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
3804 enable '--param=openacc-kernels=decompose' and adjust.
3805 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3806 Likewise.
3807 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3808 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3809 Likewise.
3810
38112022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3812
3813 PR middle-end/90115
3814 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
3815 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
3816 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3817 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
3818
38192022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3820
3821 PR middle-end/100280
3822 PR middle-end/104086
3823 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3824 Merge this...
3825 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3826 ..., and this...
3827 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
3828 this, and adjust.
3829 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3830 Extend.
3831
5e28be89
GA
38322022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
3833
3834 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
3835 trait. Test last index in w and v array. Remove redundant
3836 assignment to V(1). Move alignment checks at the end of
3837 parallel region.
3838
38392022-03-10 Tom de Vries <tdevries@suse.de>
3840
3841 * testsuite/libgomp.c/pr104783.c: New test.
3842
38432022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3844
3845 PR middle-end/90115
3846 PR middle-end/102330
3847 PR middle-end/104774
3848 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3849 Enhance.
3850 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3851 Adjust.
3852 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3853 Likewise.
3854 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3855 Likewise.
3856 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3857 Likewise.
3858 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3859 Likewise.
3860 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3861 Likewise.
3862 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3863 Likewise.
3864 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3865 Likewise.
3866 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3867 Likewise.
3868 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3869 Likewise.
3870 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3871 Likewise.
3872 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3873 Likewise.
3874 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3875 Likewise.
3876 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3877 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3878 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3879
38802022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3881
3882 PR middle-end/90115
3883 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
3884 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3885 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3886 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3887
8d96e14c
GA
38882022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3889
3890 PR testsuite/104791
3891 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
3892 expected diagnostics.
3893
38942022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3895
3896 PR middle-end/104784
3897 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3898 Test with '--param=openacc-kernels=decompose'.
3899 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3900 Likewise.
3901 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3902 Likewise.
3903 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3904 Likewise.
3905 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3906 Likewise.
3907 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3908 Likewise.
3909 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3910 Likewise.
3911 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3912 Likewise.
3913 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3914 Likewise.
3915 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3916 Likewise.
3917 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3918 Likewise.
3919 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3920 Likewise.
3921 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3922 Likewise.
3923 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3924 Likewise.
3925 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3926 Likewise.
3927 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3928 Likewise.
3929 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3930 Likewise.
3931 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3932 Likewise.
3933 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3934 Likewise.
3935 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3936 Likewise.
3937 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3938 Likewise.
3939 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3940 Likewise.
3941 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3942 Likewise.
3943 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3944 Likewise.
3945 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3946 Likewise.
3947 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3948 Likewise.
3949 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3950 Likewise.
3951 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3952 Likewise.
3953 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3954 Likewise.
3955 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3956 Likewise.
3957 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3958 Likewise.
3959 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3960 Likewise.
3961 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3962 Likewise.
3963
39642022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3965
3966 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3967 Test '-fopt-info-omp-all'.
3968 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3969 Likewise.
3970 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3971 Likewise.
3972 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3973 Likewise.
3974 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3975 Likewise.
3976 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3977 Likewise.
3978 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3979 Likewise.
3980 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3981 Likewise.
3982 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3983 Likewise.
3984 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3985 Likewise.
3986 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3987 Likewise.
3988 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3989 Likewise.
3990 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3991 Likewise.
3992 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3993 Likewise.
3994 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3995 Likewise.
3996 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3997 Likewise.
3998 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3999 Likewise.
4000 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4001 Likewise.
4002 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4003 Likewise.
4004 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4005 Likewise.
4006 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4007 Likewise.
4008 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4009 Likewise.
4010 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4011 Likewise.
4012 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4013 Likewise.
4014 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4015 Likewise.
4016 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4017 Likewise.
4018 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4019 Likewise.
4020 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4021 Likewise.
4022 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4023 Likewise.
4024 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4025 Likewise.
4026 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4027 Likewise.
4028 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4029 Likewise.
4030 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4031 Likewise.
4032
40332022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4034
4035 PR middle-end/100280
4036 PR middle-end/104132
4037 PR middle-end/104133
4038 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4039 Extend.
4040
40412022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4042
4043 PR middle-end/100280
4044 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4045 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4046 Likewise.
4047
40482022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4049
4050 PR middle-end/100280
4051 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4052 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4053 Likewise.
4054
a35f1697
GA
40552022-02-28 Tom de Vries <tdevries@suse.de>
4056
4057 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4058 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4059 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4060 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4061 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4062 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4063
756a6185
GA
40642022-02-24 Tom de Vries <tdevries@suse.de>
4065
4066 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4067 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4068 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4069 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4070 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4071 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4072 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4073
2cfb33fc
GA
40742022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4075
4076 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4077 gang-redundant execution.
4078
40792022-02-22 Tom de Vries <tdevries@suse.de>
4080
4081 PR target/99555
4082 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4083 from config/rtems/bar.c.
4084 (futex_wait, futex_wake): New function.
4085 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4086 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4087 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4088 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4089 and replace with include of config/linux/bar.c.
4090 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4091 (gomp_barrier_init): Init new fields.
4092 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4093 workarounds.
4094 * testsuite/libgomp.c/pr99555-1.c: Same.
4095 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4096
40972022-02-22 Tom de Vries <tdevries@suse.de>
4098
4099 PR testsuite/104146
4100 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4101 -foffload=-Wa,--verify for nvptx.
4102 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4103
875e493b
GA
41042022-02-15 Tobias Burnus <tobias@codesourcery.com>
4105
4106 * testsuite/libgomp.fortran/depend-4.f90: New test.
4107
a645583d
GA
41082022-02-10 Tobias Burnus <tobias@codesourcery.com>
4109
4110 PR c++/102204
4111 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4112
41132022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4114
4115 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4116 * target.c (copy_firstprivate_data): Copy only if host address is not
4117 NULL.
4118 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4119 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4120 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4121 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4122 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4123 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4124 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4125 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4126 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4127 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4128
2a2fda2d
GA
41292022-02-08 Jakub Jelinek <jakub@redhat.com>
4130
4131 PR libgomp/104385
4132 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4133 clear task->parent.
4134 * testsuite/libgomp.c/pr104385.c: New test.
4135
3c1cbde1
GA
41362022-02-04 Tobias Burnus <tobias@codesourcery.com>
4137
4138 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4139 STOP of previous commit.
4140
41412022-02-04 Tobias Burnus <tobias@codesourcery.com>
4142
4143 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4144 from is_64bit_aligned_.
4145 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4146 and use it, more implicit none, remove unused argument.
4147
682ede39
GA
41482022-02-03 David Seifert <soap@gentoo.org>
4149 Jakub Jelinek <jakub@redhat.com>
4150
4151 * configure.ac: Support --disable-werror.
4152 * configure: Regenerate.
4153
ae7e4af9
GA
41542022-02-01 Tom de Vries <tdevries@suse.de>
4155
4156 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4157 PR83812 workaround.
4158 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4159 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4160
41612022-02-01 Tom de Vries <tdevries@suse.de>
4162
4163 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4164 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4165 resources'.
4166 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4167 Same.
4168 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4169
41702022-02-01 Tom de Vries <tdevries@suse.de>
4171
4172 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4173 recursion depth.
4174 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4175
1bb52662
GA
41762022-01-31 Martin Liska <mliska@suse.cz>
4177
4178 * acinclude.m4: Detect *_ld_is_mold and use it.
4179 * configure: Regenerate.
4180
99f17e99
GA
41812022-01-27 Tobias Burnus <tobias@codesourcery.com>
4182
4183 * libgomp.texi (OpenMP 5.0): Update implementation status.
4184
9dd44357
GA
41852022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4186
4187 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4188 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4189 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4190 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4191 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4192 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4193 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4194 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4195 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4196 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4197 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4198 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4199 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4200 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4201 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4202
fe1ad141
GA
42032022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4204
4205 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4206 "static") to make the device num available in the offload image.
4207
42082022-01-19 Martin Liska <mliska@suse.cz>
4209 Thomas Schwinge <thomas@codesourcery.com>
4210
4211 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4212 patterns.
4213 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4214 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4215 Likewise.
4216 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4217 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4218 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4219 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4220 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4221 Likewise.
4222 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4223 Likewise.
4224 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4225 Likewise.
4226 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4227 Likewise.
4228 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4229 Likewise.
4230 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4231 Likewise.
4232 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4233 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4234 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4235
7a761ae6
GA
42362022-01-18 Martin Liska <mliska@suse.cz>
4237
4238 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4239 in dg-warning.
4240 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4241 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4242 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4243 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4244 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4245 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4246 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4247 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4248 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4249 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4250 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4251 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4252 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4253 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4254 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4255
fc829782
GA
42562022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4257
4258 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4259 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4260 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4261
42622022-01-17 Julian Brown <julian@codesourcery.com>
4263 Thomas Schwinge <thomas@codesourcery.com>
4264
4265 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4266 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4267 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4268
1e942d7c
GA
42692022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4270 Andrew Stubbs <ams@codesourcery.com>
4271
4272 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4273 the number of teams and threads if necessary.
4274 (gcn_exec): Automatically set the number of gangs and workers if
4275 necessary.
4276
ad3f0d08
GA
42772022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4278
4279 * testsuite/libgomp.fortran/allocate-1.c: New test.
4280 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4281 * libgomp.texi: Remove string that says that allocate clause
4282 support is for C/C++ only.
4283
42842022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4285
4286 * testsuite/libgomp.c-c++-common/on_device_arch.h
4287 (any_device_arch, any_device_arch_intel_mic): New.
4288 * testsuite/lib/libgomp.exp
4289 (check_effective_target_offload_device_any_intel_mic): New.
4290 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4291 * testsuite/libgomp.fortran/target10.f90: Likewise.
4292
42932022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4294
4295 PR tree-optimization/102192
4296 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4297 '-Wuninitialized' diagnostics.
4298
42992022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4300
4301 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4302 current '-Wuninitialized' diagnostics.
4303 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4304 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4305 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4306 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4307 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4308 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4309 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4310 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4311 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4312 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4313 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4314 Likewise.
4315
43162022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4317
4318 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4319 for 'offload_device_intel_mic'.
4320
43212022-01-13 Julian Brown <julian@codesourcery.com>
4322 Thomas Schwinge <thomas@codesourcery.com>
4323
4324 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4325 offloading execution XFAIL.
4326
43272022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4328
4329 PR middle-end/100280
4330 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4331 Update.
4332 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4333 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4334 Likewise.
4335
43362022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4337
4338 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4339 Enhance.
4340 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4341 Likewise.
4342 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4343 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4344 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4345 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4346 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4347 Likewise.
4348 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4349 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4350 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4351 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4352
7d11b64b
GA
43532022-01-04 Tobias Burnus <tobias@codesourcery.com>
4354
4355 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4356 * testsuite/libgomp.fortran/target10.f90: Likewise.
4357
43582022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4359
4360 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4361 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4362 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4363
a4ae8c37
GA
43642022-01-03 Jakub Jelinek <jakub@redhat.com>
4365
4366 * libgomp.texi: Bump @copying's copyright year.
4367
7f1239cb
GA
43682021-12-13 Tobias Burnus <tobias@codesourcery.com>
4369
4370 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4371 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4372
0bceef16
GA
43732021-12-10 Andrew Stubbs <ams@codesourcery.com>
4374
4375 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4376 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4377 table, not individual symbols.
4378
4b4839e3
GA
43792021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4380
4381 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4382 "target offload_device_nonshared_as"
4383 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4384 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4385
641ff219
GA
43862021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4387
4388 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4389 not overwritten during cross-host/device copying.
4390 (gomp_update): Likewise.
4391 (gomp_exit_data): Likewise.
4392 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4393 * testsuite/libgomp.c++/target-12.C: Likewise.
4394 * testsuite/libgomp.c++/target-15.C: Likewise.
4395 * testsuite/libgomp.c++/target-16.C: Likewise.
4396 * testsuite/libgomp.c++/target-17.C: Likewise.
4397 * testsuite/libgomp.c++/target-21.C: Likewise.
4398 * testsuite/libgomp.c++/target-23.C: Likewise.
4399 * testsuite/libgomp.c/target-23.c: Likewise.
4400 * testsuite/libgomp.c/target-29.c: Likewise.
4401 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4402
44032021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4404
4405 PR middle-end/92120
4406 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4407 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4408 (goacc_enter_data_internal): Likewise.
4409 * target.c (gomp_map_vars_existing): Update assert condition to
4410 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4411 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4412 parameter, add support for mapping a pointer with NULL target.
4413 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4414 parameter, add support for attaching a pointer with NULL target.
4415 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4416 gomp_attach_pointer, add handling for
4417 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4418 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4419 * testsuite/libgomp.c++/target-23.C: New testcase.
4420 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4421 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4422 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4423 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4424 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4425 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4426 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4427
70e4cb66
GA
44282021-12-04 Tobias Burnus <tobias@codesourcery.com>
4429
4430 * libgomp.texi (OpenMP 5.1): Update status.
4431
44322021-12-04 Tobias Burnus <tobias@codesourcery.com>
4433
4434 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4435
ea6ef320
GA
44362021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4437
4438 PR fortran/90030
4439 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4440 * testsuite/libgomp.fortran/pr90030.f90: New test.
4441
c177e806
GA
44422021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4443 Thomas Schwinge <thomas@codesourcery.com>
4444
4445 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4446 temporary skip.
4447
44482021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4449 Thomas Schwinge <thomas@codesourcery.com>
4450
4451 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4452 skip.
4453
87cd82c8
GA
44542021-11-29 Richard Biener <rguenther@suse.de>
4455
4456 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4457 return.
4458
d9ca4b45
GA
44592021-11-24 Jakub Jelinek <jakub@redhat.com>
4460
4461 PR middle-end/103384
4462 * testsuite/libgomp.c/declare-variant-2.c: New test.
4463
483092d3
GA
44642021-11-18 David Edelsohn <dje.gcc@gmail.com>
4465
4466 * alloc.c (gomp_aligned_alloc): Fix typo.
4467
44682021-11-18 Jakub Jelinek <jakub@redhat.com>
4469
4470 PR libgomp/102838
4471 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4472 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4473 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4474 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4475 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4476 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4477 gomp_aligned_alloc instead of team_malloc.
4478
44792021-11-18 Jakub Jelinek <jakub@redhat.com>
4480
4481 PR libgomp/102838
4482 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4483 memalign over posix_memalign over aligned_alloc over fallback
4484 with malloc instead of aligned_alloc over _aligned_alloc over
4485 posix_memalign over memalign over fallback with malloc. For
4486 aligned_alloc, round up size up to multiple of al.
4487
6b1695f4
GA
44882021-11-16 Jakub Jelinek <jakub@redhat.com>
4489
4490 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4491 construct as implemented.
4492
e2b57363
GA
44932021-11-15 Tobias Burnus <tobias@codesourcery.com>
4494
4495 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4496
44972021-11-15 Jakub Jelinek <jakub@redhat.com>
4498
4499 * task.c (gomp_create_target_task): Copy args array as well.
4500 * target.c (gomp_target_fallback): Add args argument.
4501 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4502 (GOMP_target): Adjust gomp_target_fallback caller.
4503 (GOMP_target_ext): Likewise.
4504 (gomp_target_task_fn): Likewise.
4505 * config/nvptx/team.c (gomp_nvptx_main): Set
4506 gomp_global_icv.thread_limit_var.
4507 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4508
45092021-11-15 Jakub Jelinek <jakub@redhat.com>
4510
4511 * config/nvptx/team.c (__gomp_team_num): Define as
4512 __attribute__((shared)) var.
4513 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4514 * config/nvptx/target.c (__gomp_team_num): Declare as
4515 extern __attribute__((shared)) var.
4516 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4517 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4518 is bigger than num_blocks, use num_teams_lower teams and arrange for
4519 bumping of __gomp_team_num if !first and returning false once we run
4520 out of teams.
4521 * config/nvptx/teams.c (__gomp_team_num): Declare as
4522 extern __attribute__((shared)) var.
4523 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4524
45252021-11-15 Jakub Jelinek <jakub@redhat.com>
4526
4527 * testsuite/libgomp.c/teams-5.c: New test.
4528
af2852b9
GA
45292021-11-12 Jakub Jelinek <jakub@redhat.com>
4530
4531 PR target/103201
4532 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4533 to ...
4534 * config/gcn/teams.c: ... here. New file.
4535
45362021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4537
4538 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4539 implicit map handling to allow a "superset" existing map as valid case.
4540 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4541 (get_implicit): New function to extract implicit status.
4542 (gomp_map_fields_existing): Adjust arguments in calls to
4543 gomp_map_vars_existing, and add uses of get_implicit.
4544 (gomp_map_vars_internal): Likewise.
4545 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4546
45472021-11-12 Jakub Jelinek <jakub@redhat.com>
4548
4549 * libgomp_g.h (GOMP_teams4): Declare.
4550 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4551 * target.c (GOMP_teams4): New function.
4552 * config/nvptx/target.c (GOMP_teams): Remove.
4553 (GOMP_teams4): New function.
4554 * config/gcn/target.c (GOMP_teams): Remove.
4555 (GOMP_teams4): New function.
4556 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4557 teams instead of <= 2.
4558 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4559
b39265d4
GA
45602021-11-11 Tobias Burnus <tobias@codesourcery.com>
4561
4562 * testsuite/libgomp.fortran/teams-1.f90: New test.
4563
45642021-11-11 Jakub Jelinek <jakub@redhat.com>
4565
4566 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4567 * team.c (struct gomp_thread_start_data): Likewise.
4568 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4569 (gomp_team_start): Initialize start_data->num_teams and
4570 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4571 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4572 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4573 instead of gomp_num_teams and gomp_team_num.
4574 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4575 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4576 * testsuite/libgomp.c/teams-4.c: New test.
4577
45782021-11-11 Jakub Jelinek <jakub@redhat.com>
4579
4580 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4581
c9b1334e
GA
45822021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4583
4584 * env.c (parse_gomp_openacc_dim): Restore parsing.
4585
0ef94462
GA
45862021-10-30 Tobias Burnus <tobias@codesourcery.com>
4587
4588 PR middle-end/102972
4589 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4590 parallel construct.
4591 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4592 * testsuite/libgomp.c/target-3.c: Likewise.
4593 * testsuite/libgomp.c/target-5.c: Likewise.
4594 * testsuite/libgomp.c/target-6.c: Likewise.
4595 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4596 * testsuite/libgomp.c/teams-1.c: Likewise.
4597 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4598 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4599 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4600 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4601 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4602 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4603 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4604
4c61300f
GA
46052021-10-29 Aldy Hernandez <aldyh@redhat.com>
4606
4607 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4608 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4609
04a2cf3f
GA
46102021-10-27 Jakub Jelinek <jakub@redhat.com>
4611
4612 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4613 aren't implemented for Fortran yet.
4614
46152021-10-27 Jakub Jelinek <jakub@redhat.com>
4616
4617 * testsuite/libgomp.c/loop-26.c: New test.
4618 * testsuite/libgomp.c/loop-27.c: New test.
4619
b621508d
GA
46202021-10-25 Tobias Burnus <tobias@codesourcery.com>
4621
4622 PR testsuite/102910
4623 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4624 instead of #include <alloca.h> + alloca.
4625
ae5c5406
GA
46262021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4627
4628 * libgomp.texi (Support of strictly structured blocks in Fortran):
4629 Adjust to 'Y'.
4630 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4631
674dda6b
GA
46322021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4633
4634 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4635 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4636
46372021-10-20 Jakub Jelinek <jakub@redhat.com>
4638
4639 PR libgomp/102838
4640 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4641 (struct gomp_work_share): Only use aligned(64) attribute if
4642 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4643 add padding before lock to ensure lock is at offset 64 bytes
4644 into the structure.
4645 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4646 New poor man's static assertions.
4647 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4648 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4649
46502021-10-20 Aldy Hernandez <aldyh@redhat.com>
4651 Richard Biener <rguenther@suse.de>
4652
4653 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4654
ce4d1f63
GA
46552021-10-18 Jakub Jelinek <jakub@redhat.com>
4656
4657 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4658 && gomp_places_list_len < count after nfirst <= nlast loop condition.
4659
46602021-10-18 Tobias Burnus <tobias@codesourcery.com>
4661
4662 PR fortran/102086
4663 PR fortran/92189
4664 PR fortran/92621
4665 PR fortran/101308
4666 PR fortran/101309
4667 PR fortran/101635
4668 PR fortran/92482
4669 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4670
93d183a5
GA
46712021-10-15 Jakub Jelinek <jakub@redhat.com>
4672
4673 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4674 type from char [50] to const char *.
4675 (places_array): Add a testcase for simplified syntax place followed
4676 by length or length and stride.
4677
46782021-10-15 Jakub Jelinek <jakub@redhat.com>
4679
4680 * env.c (parse_one_place): Handle non-negative-number the same
4681 as { non-negative-number }. Reject even !number:1 and
4682 !number:1:stride or !place:1 or !place:1:stride instead of just
4683 length other than 1.
4684 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4685 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4686 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4687 as implemented.
4688 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4689 simplified syntax.
4690
46912021-10-15 Jakub Jelinek <jakub@redhat.com>
4692
4693 * env.c (parse_schedule): For strtoul or strtoull calls which don't
4694 clearly reject return value 0 as invalid handle the case where end
4695 pointer is the same as first argument as invalid.
4696 (parse_unsigned_long_1): Likewise.
4697 (parse_one_place): Likewise.
4698 (parse_places_var): Likewise.
4699 (parse_stacksize): Likewise.
4700 (parse_spincount): Likewise.
4701 (parse_affinity): Likewise.
4702 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
4703 Make code valid C89.
4704 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4705 For strtoul calls which don't clearly reject return value 0 as
4706 invalid handle the case where end pointer is the same as first
4707 argument as invalid.
4708 (gomp_affinity_init_level_1): Likewise.
4709 (gomp_affinity_init_numa_domains): Likewise.
4710 * config/rtems/proc.c (parse_thread_pools): Likewise.
4711
47122021-10-15 Jakub Jelinek <jakub@redhat.com>
4713
4714 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4715 after creating count places clean up and return immediately.
4716 * testsuite/libgomp.c/places-6.c: New test.
4717 * testsuite/libgomp.c/places-7.c: New test.
4718 * testsuite/libgomp.c/places-8.c: New test.
4719 * testsuite/libgomp.c/places-9.c: New test.
4720 * testsuite/libgomp.c/places-10.c: New test.
4721
47222021-10-15 Jakub Jelinek <jakub@redhat.com>
4723
4724 * env.c (parse_places_var): Handle numa_domains as level 5.
4725 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4726 function.
4727 (gomp_affinity_init_level): Use it instead of
4728 gomp_affinity_init_level_1 for level == 5.
4729 * testsuite/libgomp.c/places-5.c: New test.
4730
47312021-10-15 Jakub Jelinek <jakub@redhat.com>
4732
4733 * env.c (parse_places_var): Handle ll_caches as level 4.
4734 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4735 function.
4736 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4737 last level cache.
4738 (gomp_affinity_init_level): Likewise.
4739 * testsuite/libgomp.c/places-1.c: New test.
4740 * testsuite/libgomp.c/places-2.c: New test.
4741 * testsuite/libgomp.c/places-3.c: New test.
4742 * testsuite/libgomp.c/places-4.c: New test.
4743
5d5885c9
GA
47442021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4745
4746 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4747 directive.
4748
47492021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4750
4751 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4752
52055987
GA
47532021-10-12 Julian Brown <julian@codesourcery.com>
4754
4755 * target.c (gomp_copy_host2dev): Release device lock on cbuf
4756 error path.
4757
47582021-10-12 Tobias Burnus <tobias@codesourcery.com>
4759
4760 * testsuite/libgomp.fortran/icv-3.f90: New.
4761 * testsuite/libgomp.fortran/icv-4.f90: New.
4762
47632021-10-12 Jakub Jelinek <jakub@redhat.com>
4764
4765 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4766 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4767 OMP_TEAMS_THREAD_LIMIT): Document.
4768
47692021-10-12 Jakub Jelinek <jakub@redhat.com>
4770
4771 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4772 to avoid makeinfo warnings.
4773
47742021-10-12 Jakub Jelinek <jakub@redhat.com>
4775
4776 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4777 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4778
47792021-10-12 Jakub Jelinek <jakub@redhat.com>
4780
4781 PR libgomp/102628
4782 PR libgomp/102668
4783 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4784 allocation sizes from 420 to 320 and from 768 to 568.
4785 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4786 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4787 for cr from 16 to 4.
4788
47892021-10-12 Jakub Jelinek <jakub@redhat.com>
4790
4791 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4792 * testsuite/libgomp.c/scan-12.c: Likewise.
4793 * testsuite/libgomp.c/scan-13.c: Likewise.
4794 * testsuite/libgomp.c/scan-14.c: Likewise.
4795 * testsuite/libgomp.c/scan-15.c: Likewise.
4796 * testsuite/libgomp.c/scan-16.c: Likewise.
4797 * testsuite/libgomp.c/scan-17.c: Likewise.
4798 * testsuite/libgomp.c/scan-18.c: Likewise.
4799 * testsuite/libgomp.c/scan-19.c: Likewise.
4800 * testsuite/libgomp.c/scan-20.c: Likewise.
4801 * testsuite/libgomp.c/scan-21.c: Likewise.
4802 * testsuite/libgomp.c/scan-22.c: Likewise.
4803 * testsuite/libgomp.c++/scan-9.C: Likewise.
4804 * testsuite/libgomp.c++/scan-10.C: Likewise.
4805 * testsuite/libgomp.c++/scan-11.C: Likewise.
4806 * testsuite/libgomp.c++/scan-12.C: Likewise.
4807 * testsuite/libgomp.c++/scan-13.C: Likewise.
4808 * testsuite/libgomp.c++/scan-14.C: Likewise.
4809 * testsuite/libgomp.c++/scan-15.C: Likewise.
4810 * testsuite/libgomp.c++/scan-16.C: Likewise.
4811
48122021-10-12 Kewen Lin <linkw@linux.ibm.com>
4813
4814 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
4815
732d7638
GA
48162021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
4817
4818 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
4819 omp_atv_serialized.
4820 * omp.h.in: Add deprecated flag for omp_atv_sequential.
4821 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
4822 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
4823 * testsuite/libgomp.fortran/alloc-12.f90: New test.
4824
48252021-10-11 Jakub Jelinek <jakub@redhat.com>
4826
4827 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
4828 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4829 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
4830 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4831 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
4832 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4833 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
4834 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
4835 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
4836 omp_set_teams_thread_limit{,_,_8_}.
4837 * icv.c (omp_set_num_teams, omp_get_max_teams,
4838 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
4839 functions.
4840 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
4841 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
4842 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
4843 vars.
4844 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
4845 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
4846 is not specified, use gomp_nteams_var.
4847 * fortran.c (omp_set_num_teams, omp_get_max_teams,
4848 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
4849 ialias_redirect.
4850 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
4851 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
4852 omp_get_teams_thread_limit_): New functions.
4853
c9db17b8
GA
48542021-10-09 liuhongt <hongtao.liu@intel.com>
4855
4856 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
4857 * testsuite/libgomp.c++/scan-11.C: Ditto.
4858 * testsuite/libgomp.c++/scan-12.C: Ditto.
4859 * testsuite/libgomp.c++/scan-13.C: Ditto.
4860 * testsuite/libgomp.c++/scan-14.C: Ditto.
4861 * testsuite/libgomp.c++/scan-15.C: Ditto.
4862 * testsuite/libgomp.c++/scan-16.C: Ditto.
4863 * testsuite/libgomp.c++/scan-9.C: Ditto.
4864 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
4865 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
4866 * testsuite/libgomp.c/scan-11.c: Ditto.
4867 * testsuite/libgomp.c/scan-12.c: Ditto.
4868 * testsuite/libgomp.c/scan-13.c: Ditto.
4869 * testsuite/libgomp.c/scan-14.c: Ditto.
4870 * testsuite/libgomp.c/scan-15.c: Ditto.
4871 * testsuite/libgomp.c/scan-16.c: Ditto.
4872 * testsuite/libgomp.c/scan-17.c: Ditto.
4873 * testsuite/libgomp.c/scan-18.c: Ditto.
4874 * testsuite/libgomp.c/scan-19.c: Ditto.
4875 * testsuite/libgomp.c/scan-20.c: Ditto.
4876 * testsuite/libgomp.c/scan-21.c: Ditto.
4877 * testsuite/libgomp.c/scan-22.c: Ditto.
4878
48792021-10-09 Jakub Jelinek <jakub@redhat.com>
4880
4881 * libgomp.texi (OpenMP 5.1): Mention implemented support for
4882 structured block sequences in C/C++. Mention support for
4883 unconstrained/reproducible modifiers on order clause.
4884 Mention partial (C/C++ only) support of extentensions to atomics
4885 construct. Mention partial (C/C++ on clause only) support of
4886 align/allocator modifiers on allocate clause.
4887
e3e07b89
GA
48882021-10-02 Tobias Burnus <tobias@codesourcery.com>
4889
4890 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
4891 based on libgomp.c-c++-common/order-reproducible-1.c.
4892 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
4893 * testsuite/libgomp.fortran/my-usleep.c: New test.
4894
9d116bcc
GA
48952021-10-01 Tobias Burnus <tobias@codesourcery.com>
4896
4897 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
4898 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
4899 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
4900 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
4901 based on libgomp.c-c++-common/alloc-9.c.
4902
49032021-10-01 Jakub Jelinek <jakub@redhat.com>
4904
4905 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
4906 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
4907
49082021-10-01 Jakub Jelinek <jakub@redhat.com>
4909
4910 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
4911 ialias_redirect.
4912 * env.c (handle_omp_display_env): Use ialias_call.
4913 * icv-device.c: Move ialias right below each function.
4914 (omp_get_device_num): Use ialias_call.
4915 * fortran.c (omp_fulfill_event): Add ialias_redirect.
4916 * icv.c (omp_get_active_level): Add ialias_redirect.
4917
49182021-10-01 Jakub Jelinek <jakub@redhat.com>
4919
4920 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
4921 __alloc_align__ (1) attribute.
4922 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
4923
24679983
GA
49242021-09-30 Tobias Burnus <tobias@codesourcery.com>
4925
4926 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
4927 for -fintrinsic-modules-path= warning of the C compiler.
4928 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
4929 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
4930
49312021-09-30 Tobias Burnus <tobias@codesourcery.com>
4932
4933 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
4934 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
4935 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4936 omp_realloc): Add.
4937 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4938 omp_realloc): Add.
4939 * testsuite/libgomp.fortran/alloc-10.f90: New test.
4940 * testsuite/libgomp.fortran/alloc-6.f90: New test.
4941 * testsuite/libgomp.fortran/alloc-7.c: New test.
4942 * testsuite/libgomp.fortran/alloc-7.f90: New test.
4943 * testsuite/libgomp.fortran/alloc-8.f90: New test.
4944 * testsuite/libgomp.fortran/alloc-9.f90: New test.
4945
49462021-09-30 Jakub Jelinek <jakub@redhat.com>
4947
4948 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
4949 omp_realloc): New prototypes.
4950 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
4951 attribute.
4952 * allocator.c: Include string.h.
4953 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
4954 variable and use it instead of alignment so that when retrying the old
4955 alignment is used again. Don't retry if new alignment is the same
4956 as old alignment, unless allocator had pool size.
4957 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
4958 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
4959 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
4960 omp_aligned_calloc and omp_realloc.
4961 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
4962 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
4963 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
4964 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
4965 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
4966 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
4967
fd133479
GA
49682021-09-28 Tobias Burnus <tobias@codesourcery.com>
4969
4970 PR libgomp/96661
4971 * configure.ac: Only check for int-type = 2*size_t support when
4972 building with Fortran support.
4973 * configure: Regenerate.
4974
49752021-09-28 Thomas Schwinge <thomas@codesourcery.com>
4976
4977 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
4978 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4979
cf966403
GA
49802021-09-27 Aldy Hernandez <aldyh@redhat.com>
4981
4982 * team.c: Initialize start_data.
4983 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
4984 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
4985
49862021-09-27 Tobias Burnus <tobias@codesourcery.com>
4987
4988 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
4989 dg-message back to dg-note.
4990
49912021-09-27 Tobias Burnus <tobias@codesourcery.com>
4992
4993 PR fortran/94070
4994 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
4995 expected dg-note output.
4996
e4777439
GA
49972021-09-22 Tobias Burnus <tobias@codesourcery.com>
4998
4999 PR fortran/55534
5000 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5001 r12-3722 by removing -Wno-missing-include-dirs.
5002 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5003
50042021-09-22 Jakub Jelinek <jakub@redhat.com>
5005
5006 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5007 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5008
2c41dd82
GA
50092021-09-21 Tobias Burnus <tobias@codesourcery.com>
5010
5011 PR fortran/55534
5012 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5013 to ALWAYS_CFLAGS.
5014 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5015
cf74e7b5
GA
50162021-09-18 Jakub Jelinek <jakub@redhat.com>
5017
5018 * testsuite/libgomp.c++/default-1.C: New test.
5019 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5020 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5021 to default clause in C and C++" as implemented.
5022
0a4cb439
GA
50232021-09-17 Julian Brown <julian@codesourcery.com>
5024
5025 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5026
50272021-09-17 Julian Brown <julian@codesourcery.com>
5028
5029 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5030
50312021-09-17 Jakub Jelinek <jakub@redhat.com>
5032
5033 * libgomp.texi (OpenMP 5.1): Spelling fix,
5034 declare variante -> declare variant.
5035
50362021-09-17 Jakub Jelinek <jakub@redhat.com>
5037
5038 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5039 Use /* */ comments instead of //.
5040 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5041 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5042 * testsuite/libgomp.c++/atomic-16.C: New test.
5043 * testsuite/libgomp.c++/atomic-17.C: New test.
5044
a26206ec
GA
50452021-09-10 Jakub Jelinek <jakub@redhat.com>
5046
5047 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5048 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5049 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5050
b2748138
GA
50512021-09-07 Tobias Burnus <tobias@codesourcery.com>
5052
5053 * libgomp.texi (OpenMP Implementation Status): Extend
5054 OpenMP 5.0 section.
5055 (OpenACC Profiling Interface): Fix typo.
5056
50572021-09-07 Tobias Burnus <tobias@codesourcery.com>
5058
5059 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5060 not to 4.5; link to new section.
5061 (OpenMP Implementation Status): New.
5062
9f99555f
GA
50632021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5064
5065 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5066
7b739540
GA
50672021-09-03 Tobias Burnus <tobias@codesourcery.com>
5068
5069 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5070 dg-output.
5071 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5072
38b19c5b
GA
50732021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5074 Jakub Jelinek <jakub@redhat.com>
5075
5076 * testsuite/libgomp.c/address-space-1.c: New file.
5077
50782021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5079
5080 * testsuite/lib/libgomp.exp
5081 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5082 (check_effective_target_offload_device_intel_mic): New 'proc'.
5083 * testsuite/libgomp.c-c++-common/on_device_arch.h
5084 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5085 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5086 'dg-xfail-run-if'.
5087 * testsuite/libgomp.fortran/target10.f90: Likewise.
5088
50892021-08-23 Tobias Burnus <tobias@codesourcery.com>
5090
5091 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5092 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5093 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5094 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5095
50962021-08-23 Jakub Jelinek <jakub@redhat.com>
5097
5098 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5099 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5100 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5101
5b2876f9
GA
51022021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5103
5104 * config/nvptx/error.c (fwrite, exit): Override, too.
5105 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5106 of offloading testing.
5107 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5108
7c9e1645
GA
51092021-08-20 Tobias Burnus <tobias@codesourcery.com>
5110
5111 * testsuite/libgomp.fortran/error-1.f90: New test.
5112
51132021-08-20 Jakub Jelinek <jakub@redhat.com>
5114
5115 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5116 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5117 * error.c (GOMP_warning, GOMP_error): New functions.
5118 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5119
6e529985
GA
51202021-08-18 Tobias Burnus <tobias@codesourcery.com>
5121
5122 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5123 omp_target_free. omp_target_is_present, omp_target_memcpy,
5124 omp_target_memcpy_rect, omp_target_associate_ptr,
5125 omp_target_disassociate_ptr): Add interface.
5126 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5127 omp_target_free. omp_target_is_present, omp_target_memcpy,
5128 omp_target_memcpy_rect, omp_target_associate_ptr,
5129 omp_target_disassociate_ptr): Add interface.
5130 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5131 interface block for omp_alloc + omp_free.
5132 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5133 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5134 * testsuite/libgomp.fortran/target-12.f90: New test.
5135
51362021-08-18 Jakub Jelinek <jakub@redhat.com>
5137
5138 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5139
2d14d64b
GA
51402021-08-17 Tobias Burnus <tobias@codesourcery.com>
5141
5142 * testsuite/libgomp.fortran/scope-1.f90: New test.
5143 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5144
51452021-08-17 Jakub Jelinek <jakub@redhat.com>
5146
5147 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5148 * Makefile.in: Regenerated.
5149 * libgomp_g.h (GOMP_scope_start): Declare.
5150 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5151 * scope.c: New file.
5152 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5153 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5154
9d1d9fc8
GA
51552021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5156
5157 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5158 '?:' issues.
5159
51602021-08-16 Tobias Burnus <tobias@codesourcery.com>
5161
5162 * testsuite/libgomp.fortran/masked-1.f90: New test.
5163
261512fa
GA
51642021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5165
5166 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5167
72be20e2
GA
51682021-08-12 Jakub Jelinek <jakub@redhat.com>
5169
5170 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5171
51722021-08-12 Tobias Burnus <tobias@codesourcery.com>
5173
5174 * env.c (parse_bind_var): Accept 'primary' as alias for
5175 'master'.
5176 (omp_display_env): Add TODO comment to
5177 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5178 * libgomp.texi: Change 'master thread' to 'primary thread'
5179 in line with OpenMP 5.1.
5180 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5181 omp_proc_bind_master is an alias of it.
5182 (OMP_PROC_BIND): Mention 'PRIMARY'.
5183 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5184 (omp_proc_bind_primary): Add.
5185 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5186 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5187 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5188 * omp_lib.h.in (omp_proc_bind_primary): Add.
5189 * testsuite/libgomp.c/affinity-1.c: Check that
5190 'primary' works and is identical to 'master'.
5191
37768150
GA
51922021-08-09 Julian Brown <julian@codesourcery.com>
5193 Kwok Cheung Yeung <kcy@codesourcery.com>
5194 Thomas Schwinge <thomas@codesourcery.com>
5195
5196 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5197 16.
5198 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5199 [acc_device_radeon]: Update.
5200 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5201 [ACC_DEVICE_TYPE_radeon]: Likewise.
5202 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5203 [acc_device_radeon]: Likewise.
5204 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5205 [ACC_DEVICE_TYPE_radeon]: Likewise.
5206 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5207 'openacc_radeon_accel_selected' and '-O0'.
5208 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5209
8ebf4fb5
GA
52102021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5211
5212 * icv-device.c (omp_get_device_num): New API function, host side.
5213 * fortran.c (omp_get_device_num_): New interface function.
5214 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5215 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5216 omp_get_device_num_.
5217 * libgomp.texi (omp_get_device_num): Add documentation for new API
5218 function.
5219 * omp.h.in (omp_get_device_num): Add declaration.
5220 * omp_lib.f90.in (omp_get_device_num): Likewise.
5221 * omp_lib.h.in (omp_get_device_num): Likewise.
5222 * target.c (gomp_load_image_to_device): If additional entry for device
5223 number exists at end of returned entries from 'load_image_func' hook,
5224 copy the assigned device number over to the device variable.
5225 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5226 (omp_get_device_num): New API function, device side.
5227 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5228 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5229 at end of returned 'target_table' entries.
5230 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5231 (omp_get_device_num): New API function, device side.
5232 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5233 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5234 at end of returned 'target_table' entries.
5235 * testsuite/lib/libgomp.exp
5236 (check_effective_target_offload_target_intelmic): New function for
5237 testing for intelmic offloading.
5238 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5239 * testsuite/libgomp.fortran/target10.f90: New test.
5240
4d17ca1b
GA
52412021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5242 Ulrich Drepper <drepper@redhat.com>
5243
5244 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5245 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5246
52472021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5248 Julian Brown <julian@codesourcery.com>
5249 Kwok Cheung Yeung <kcy@codesourcery.com>
5250
5251 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5252 's%oaccdevlow%oaccloops%g'.
5253 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5254 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5255 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5256 Likewise.
5257 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5258 Likewise.
5259 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5260 Likewise.
5261 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5262 Likewise.
5263 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5264 Likewise.
5265 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5266 Likewise.
5267 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5268 Likewise.
5269 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5270 Likewise.
5271 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5272
872c1a56
ML
52732021-07-29 Aldy Hernandez <aldyh@redhat.com>
5274
5275 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5276 threader.
5277 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5278
af3f12e6
GA
52792021-07-27 Ulrich Drepper <drepper@gmail.com>
5280
5281 * env.c (wait_policy, stacksize): New static variables,
5282 move out of handle_omp_display_env.
5283 (omp_display_env): New function. The meat of the old
5284 handle_omp_display_env function.
5285 (handle_omp_display_env): Change to not take parameters
5286 and instead use the global variables. Only perform
5287 parsing, defer to omp_display_env for the implementation.
5288 (initialize_env): Remove local variables wait_policy and
5289 stacksize. Don't pass parameters to handle_omp_display_env.
5290 * fortran.c: Add ialias_redirect for omp_display_env.
5291 (omp_display_env_, omp_display_env_8_): New functions.
5292 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5293 omp_display_env_, and omp_display_env_8_.
5294 * omp.h.in: Declare omp_display_env.
5295 * omp_lib.f90.in: Likewise.
5296 * omp_lib.h.in: Likewise.
5297
52982021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5299 Julian Brown <julian@codesourcery.com>
5300
5301 * target.c (gomp_coalesce_buf_add): Update comment.
5302 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5303 'aq && cbuf'.
5304 (gomp_map_vars_internal): Only 'if (!aq)', do
5305 'gomp_coalesce_buf_add'.
5306 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5307 XFAIL.
5308
53092021-07-27 Julian Brown <julian@codesourcery.com>
5310 Thomas Schwinge <thomas@codesourcery.com>
5311
5312 * libgomp.h (gomp_copy_host2dev): Update prototype.
5313 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5314 argument to gomp_copy_host2dev (false).
5315 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5316 (copy_data): Don't free src.
5317 (queue_push_copy): Remove free_src handling.
5318 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5319 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5320 snapshotting.
5321 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5322 queue_push_copy.
5323 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5324 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5325 data when true, and set up deferred freeing of temporary buffer.
5326 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5327 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5328 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5329 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5330 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5331 XFAIL.
5332
53332021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5334 Tom de Vries <tom@codesourcery.com>
5335
5336 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5337 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5338
53392021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5340
5341 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5342 sequencing of 'async' data copying vs. profiling events.
5343 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5344 Likewise.
5345
53462021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5347 Julian Brown <julian@codesourcery.com>
5348
5349 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5350 'async'/'wait' issue.
5351 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5352 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5353 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5354
419c6c68
GA
53552021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5356 Joseph Myers <joseph@codesourcery.com>
5357 Cesar Philippidis <cesar@codesourcery.com>
5358
5359 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5360 file.
5361 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5362 Likewise.
5363 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5364 Likewise.
5365 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5366
92d45509
GA
53672021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5368
5369 PR target/101484
5370 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5371 '-Wno-error=array-bounds'.
5372 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5373 * libgomp.h [__AMDGCN__]: Likewise.
5374
21ea2f93
GA
53752021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5376
5377 PR target/101484
5378 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5379 * libgomp.h [__AMDGCN__]: Likewise.
5380
0e775456
GA
53812021-07-13 Jakub Jelinek <jakub@redhat.com>
5382 Florian Weimer <fweimer@redhat.com>
5383
5384 * config/linux/sem.h: Don't include limits.h.
5385 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5386 * config/linux/affinity.c: Include limits.h.
5387
bea7c16a
GA
53882021-07-01 Jakub Jelinek <jakub@redhat.com>
5389
5390 PR middle-end/94366
5391 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5392
6bc18203
GA
53932021-06-29 Tobias Burnus <tobias@codesourcery.com>
5394
5395 PR other/67300
5396 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5397 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5398 avoid disabling other offload targets.
5399 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5400 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5401 * testsuite/libgomp.c/target-44.c: Likewise.
5402
54032021-06-29 Tobias Burnus <tobias@codesourcery.com>
5404
5405 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5406 target has shared memory and disable some scalar pointer/allocatable
5407 checks if not as firstprivate does not work.
5408
90708f87
GA
54092021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5410
5411 PR testsuite/101114
5412 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5413 Add "target offload_device_nonshared_as" condition for enabling test.
5414
9aa8327e
GA
54152021-06-24 Jakub Jelinek <jakub@redhat.com>
5416
5417 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5418 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5419 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5420 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5421
fcf617f0
GA
54222021-06-23 Jakub Jelinek <jakub@redhat.com>
5423
5424 PR middle-end/101167
5425 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5426
688359a2
GA
54272021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5428
5429 * hashtab.h (htab_clear): New function with initialization code
5430 factored out from...
5431 (htab_create): ...here, adjust to use htab_clear function.
5432 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5433 special refcount values, add comments.
5434 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5435 (REFCOUNT_LINK): Likewise.
5436 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5437 element siblings.
5438 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5439 sibling maps.
5440 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5441 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5442 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5443 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5444 (struct splay_tree_key_s): Add structelem_refcount and
5445 structelem_refcount_ptr fields into a union with dynamic_refcount.
5446 Add comments.
5447 (gomp_map_vars): Delete declaration.
5448 (gomp_map_vars_async): Likewise.
5449 (gomp_unmap_vars): Likewise.
5450 (gomp_unmap_vars_async): Likewise.
5451 (goacc_map_vars): New declaration.
5452 (goacc_unmap_vars): Likewise.
5453 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5454 (goacc_enter_datum): Likewise.
5455 (goacc_enter_data_internal): Likewise.
5456 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5457 and goacc_unmap_vars.
5458 (GOACC_data_start): Adjust to use goacc_map_vars.
5459 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5460 * target.c (hash_entry_type): New typedef.
5461 (htab_alloc): New function hook for hashtab.h.
5462 (htab_free): Likewise.
5463 (htab_hash): Likewise.
5464 (htab_eq): Likewise.
5465 (hashtab.h): Add file include.
5466 (gomp_increment_refcount): New function.
5467 (gomp_decrement_refcount): Likewise.
5468 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5469 gomp_increment_refcount.
5470 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5471 to gomp_map_vars_existing.
5472 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5473 variable to guard OpenMP specific paths, adjust calls to
5474 gomp_map_vars_existing, add structure element sibling splay_tree_key
5475 sequence creation code, adjust Fortran map case to avoid increment
5476 under OpenMP.
5477 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5478 local refcount_set if caller passed in NULL, adjust call to
5479 gomp_map_vars_internal.
5480 (gomp_map_vars_async): Adjust and rename into...
5481 (goacc_map_vars): ...this new function, adjust call to
5482 gomp_map_vars_internal.
5483 (gomp_remove_splay_tree_key): New function with code factored out from
5484 gomp_remove_var_internal.
5485 (gomp_remove_var_internal): Add code to handle removing multiple
5486 splay_tree_key sequence for structure elements, adjust code to use
5487 gomp_remove_splay_tree_key for splay-tree key removal.
5488 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5489 gomp_decrement_refcount.
5490 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5491 local refcount_set if caller passed in NULL, adjust call to
5492 gomp_unmap_vars_internal.
5493 (gomp_unmap_vars_async): Adjust and rename into...
5494 (goacc_unmap_vars): ...this new function, adjust call to
5495 gomp_unmap_vars_internal.
5496 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5497 gomp_unmap_vars.
5498 (GOMP_target_ext): Likewise.
5499 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5500 (GOMP_target_data): Likewise.
5501 (GOMP_target_data_ext): Likewise.
5502 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5503 (gomp_exit_data): Add refcount_set parameter, adjust to use
5504 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5505 after main loop.
5506 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5507 gomp_map_vars and gomp_exit_data.
5508 (gomp_target_task_fn): Likewise.
5509 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5510 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5511 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5512 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5513 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5514 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5515
ede6c356
GA
55162021-06-15 Tobias Burnus <tobias@codesourcery.com>
5517
5518 PR fortran/92568
5519 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5520
43c35d0d
GA
55212021-06-10 Andrew Stubbs <ams@codesourcery.com>
5522 Thomas Schwinge <thomas@codesourcery.com>
5523
5524 * libgomp.map (GOACC_2.0.2): New symbol version.
5525 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5526 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5527
55282021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5529 Andrew Stubbs <ams@codesourcery.com>
5530
5531 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5532 extracted from...
5533 (GOACC_enter_exit_data): ... here.
5534 (GOACC_declare): Use it.
5535
55362021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5537
5538 * oacc-parallel.c (GOACC_declare): Move...
5539 * oacc-mem.c: ... here.
5540 * libgomp_g.h: Adjust.
5541
55422021-06-10 Andrew Stubbs <ams@codesourcery.com>
5543 Thomas Schwinge <thomas@codesourcery.com>
5544
5545 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5546 handling.
5547
55482021-06-10 Jakub Jelinek <jakub@redhat.com>
5549
5550 PR tree-optimization/100981
5551 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5552 dsdotr and dsdoti to 0.
5553
4f625f47
GA
55542021-06-09 H.J. Lu <hjl.tools@gmail.com>
5555
5556 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5557 if atomic compare-and-swap is supported on 'int'.
5558
55592021-06-09 Richard Biener <rguenther@suse.de>
5560
5561 PR tree-optimization/100981
5562 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5563
c6038721
GA
55642021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5565
5566 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5567 unconditionally.
5568 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5569 Update.
5570 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5571 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5572
55732021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5574
5575 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5576 '-DACC_MEM_SHARED=0'.
5577 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5578 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5579 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5580 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5581 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5582 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5583 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5584 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5585 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5586 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5587 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5588 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5589 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5590 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5591 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5592 'acc_device_radeon' testing.
5593 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5594 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5595 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5596 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5597 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5598 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5599 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5600 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5601 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5602 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5603 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5604 for non-'openacc_nvidia_accel_selected'.
5605 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5606 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5607 all implement this checking".
5608 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5609 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5610 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5611 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5612 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5613
56142021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5615
5616 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5617 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5618
56192021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5620
5621 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5622 for 'acc_device_radeon'.
5623
56242021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5625
5626 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5627 for non-'acc_device_nvidia'.
5628
56292021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5630
5631 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5632 'acc_device_radeon' testing.
5633 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5634 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5635 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5636
56372021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5638
5639 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5640 require 'openacc_nvidia_accel_selected'. Fix up for
5641 'ACC_DEVICE_TYPE_radeon'.
5642
56432021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5644
5645 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5646 'openacc_nvidia_accel_selected'.
5647 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5648
56492021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5650
5651 * testsuite/lib/libgomp.exp
5652 (check_effective_target_openacc_radeon_accel_selected):
5653 Streamline.
5654
56552021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5656
5657 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5658 PR80547 workaround.
5659
56602021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5661
5662 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5663 <acc_device_nvidia>: Update comment.
5664
48166757
GA
56652021-05-28 Tobias Burnus <tobias@codesourcery.com>
5666
5667 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5668
cd62d089
GA
56692021-05-27 Jakub Jelinek <jakub@redhat.com>
5670
5671 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5672 check_effective_target_openacc_cublas,
5673 check_effective_target_openacc_cudart): New.
5674 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5675 target openacc_cublas.
5676 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5677 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5678 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5679 target openacc_cuda.
5680 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5681 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5682 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5683 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5684 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5685 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5686 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5687 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5688 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5689 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5690 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5691 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5692 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5693 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5694 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5695 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5696 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5697 targets openacc_cublas and openacc_cudart.
5698 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5699 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5700 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5701 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5702 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5703 Require effective target openacc_cudart.
5704 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5705 for effective target openacc_cuda and add && defined USE_CUDA_H to
5706 preprocessor conditionals. Guard -lcuda also on openacc_cuda
5707 effective target.
5708
01c59ef2
GA
57092021-05-26 Jakub Jelinek <jakub@redhat.com>
5710
5711 PR libgomp/100573
5712 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5713 GOMP_target_end_data, GOMP_target_update_ext,
5714 GOMP_target_enter_exit_data): New dummy entrypoints.
5715 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5716 GOMP_target_end_data, GOMP_target_update_ext,
5717 GOMP_target_enter_exit_data): Likewise.
5718 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5719 OMPFROM, OMPTO): Define.
5720 (main): Remove #pragma omp target teams around all the tests.
5721 * testsuite/libgomp.c-c++-common/target-41.c: New test.
5722 * testsuite/libgomp.c-c++-common/target-42.c: New test.
5723
2bc6dace
GA
57242021-05-25 Jakub Jelinek <jakub@redhat.com>
5725
5726 PR middle-end/99928
5727 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5728
637569df
GA
57292021-05-24 Tobias Burnus <tobias@codesourcery.com>
5730
5731 PR fortran/86470
5732 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5733 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5734 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5735
15d30d2f
GA
57362021-05-22 Thomas Schwinge <thomas@codesourcery.com>
5737
5738 PR testsuite/90115
5739 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5740 uninteresting/varying diagnostics.
5741
2832d51b
GA
57422021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5743
5744 PR middle-end/90115
5745 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5746 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5747
57482021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5749
5750 PR middle-end/90115
5751 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5752 file.
5753 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5754 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5755 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5756 Likewise.
5757 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5758 Likewise.
5759 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5760 Likewise.
5761 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5762 Likewise.
5763 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5764 Likewise.
5765 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5766 Likewise.
5767 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5768 Likewise.
5769 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5770 Likewise.
5771 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5772 Likewise.
5773 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5774 Likewise.
5775 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5776 Likewise.
5777 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5778 Likewise.
5779 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5780 Likewise.
5781 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5782 Likewise.
5783 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5784 Likewise.
5785 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5786 Likewise.
5787 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5788 Likewise.
5789 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5790 Likewise.
5791 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5792 Likewise.
5793 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5794 Likewise.
5795 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5796 Likewise.
5797 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5798 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5799 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5800 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
5801 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5802 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5803 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5804 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5805 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5806 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5807 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5808 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5809 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5810 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5811 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5812 Likewise.
5813 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
5814 Likewise.
5815 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
5816 Likewise.
5817 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5818 Likewise.
5819 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5820 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5821 Likewise.
5822 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5823 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5824 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5825 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5826 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
5827 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5828 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5829 Likewise.
5830 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5831 Likewise.
5832 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5833 Likewise.
5834 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5835 Likewise.
5836 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5837 Likewise.
5838 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5839 Likewise.
5840 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5841 Likewise.
5842 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5843 Likewise.
5844 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5845 Likewise.
5846 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5847 Likewise.
5848 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5849 Likewise.
5850 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5851 Likewise.
5852 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5853 Likewise.
5854 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5855 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5856 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5857 Likewise.
5858 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5859 Likewise.
5860 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5861 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5862 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5863
58642021-05-21 Julian Brown <julian@codesourcery.com>
5865 Chung-Lin Tang <cltang@codesourcery.com>
5866 Thomas Schwinge <thomas@codesourcery.com>
5867
5868 PR middle-end/90115
5869 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
5870 test.
5871 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5872 Likewise.
5873 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5874 Likewise.
5875
58762021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5877
5878 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
5879 for nvptx offloading.
5880
58812021-05-21 Tobias Burnus <tobias@codesourcery.com>
5882
5883 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
5884
65f32e5d
GA
58852021-05-19 Thomas Schwinge <thomas@codesourcery.com>
5886
5887 PR target/83812
5888 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
5889
58902021-05-19 Julian Brown <julian@codesourcery.com>
5891
5892 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
5893
a8daf9a1
GA
58942021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5895
5896 * testsuite/lib/libgomp.exp
5897 (check_effective_target_offload_target_nvptx): Don't shadow global
5898 'offload_targets' variable.
5899
59002021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5901
5902 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
5903 '-latomic' to nvptx offloading compilation.
5904 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5905
59062021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5907
5908 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
5909 offloading compilation.
5910
a7ffc1ef
GA
59112021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
5912
5913 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
5914 if new tasks generated.
5915 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
5916
87a7d10c
GA
59172021-05-14 Tobias Burnus <tobias@codesourcery.com>
5918
5919 * testsuite/libgomp.fortran/parallel-master.f90: New test.
5920
f9af11c7
GA
59212021-05-13 Martin Liska <mliska@suse.cz>
5922
5923 PR testsuite/100569
5924 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
5925 * testsuite/libgomp.c/pr46032-2.c: Likewise.
5926 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
5927 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
5928
0ff3a0f2
GA
59292021-05-12 Tobias Burnus <tobias@codesourcery.com>
5930
5931 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
5932 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
5933
037e3661
GA
59342021-05-11 Jakub Jelinek <jakub@redhat.com>
5935
5936 PR middle-end/100471
5937 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
5938 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
5939 reduction pointer.
5940 * testsuite/libgomp.c/task-reduction-4.c: New test.
5941
62d87a32
GA
59422021-05-07 Tobias Burnus <tobias@codesourcery.com>
5943 Tom de Vries <tdevries@suse.de>
5944
5945 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
5946 complex/floating-point || + && reduction with 'omp target'.
5947 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5948
99e8df7a
GA
59492021-05-04 Tobias Burnus <tobias@codesourcery.com>
5950
5951 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
5952 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
5953 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
5954 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
5955
59562021-05-04 Tobias Burnus <tobias@codesourcery.com>
5957
5958 PR testsuite/100397
5959 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
5960 declaration to scope of non-'depend'-guarded assignment to avoid races.
5961
e690396d
GA
59622021-05-03 Tom de Vries <tdevries@suse.de>
5963
5964 PR target/100321
5965 * testsuite/libgomp.c/target-44.c: New test.
5966
9326049e
GA
59672021-04-30 Roman Zhuykov <zhroma@ispras.ru>
5968
5969 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
5970
3c8e539d
GA
59712021-04-29 Tom de Vries <tdevries@suse.de>
5972
5973 * testsuite/libgomp.c/pr81778.c: New test.
5974
59752021-04-29 Tom de Vries <tdevries@suse.de>
5976
5977 PR target/100232
5978 * testsuite/libgomp.c/target-43.c: New file.
5979
e4ff4ffb
GA
59802021-04-28 Jakub Jelinek <jakub@redhat.com>
5981 Tobias Burnus <tobias@codesourcery.com>
5982
5983 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
5984 * target.c (gomp_load_plugin_for_device): If set and if a plugin
5985 can't be dlopened, silently assume it has no devices.
5986 * Makefile.in: Regenerate.
5987 * config.h.in: Regenerate.
5988 * configure: Regenerate.
5989
c0fa3f2f
GA
59902021-04-26 Tobias Burnus <tobias@codesourcery.com>
5991
5992 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
5993 Use [Ww]arning in dg-bogus as FE diagnostic and default
5994 diagnostic differ and the result depends on ENABLE_OFFLOAD.
5995 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5996 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5997 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5998
59992021-04-26 Tobias Burnus <tobias@codesourcery.com>
6000
6001 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6002 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6003 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6004 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6005 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6006
60072021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6008 Nathan Sidwell <nathan@codesourcery.com>
6009 Tom de Vries <vries@codesourcery.com>
6010 Julian Brown <julian@codesourcery.com>
6011 Kwok Cheung Yeung <kcy@codesourcery.com>
6012
6013 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6014 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6015 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6016 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6017 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6018 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6019 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6020 Likewise.
6021 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6022 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6023 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6024 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6025 Likewise.
6026 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6027 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6028 Likewise.
6029 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6030 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6032 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6034 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6035 Likewise.
6036 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6037 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6038 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6039 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6040 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6041 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6042 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6043 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6044 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6045 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6046 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6047
60482021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6049
6050 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6051 compile with '-w'.
6052 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6053 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6054 Likewise.
6055 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6056 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6057 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6058 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6059 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6060 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6061 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6062
e3948473
GA
60632021-04-22 Richard Biener <rguenther@suse.de>
6064
6065 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6066 only on nvptx-none.
6067
c1ef0c92
GA
60682021-04-21 Tobias Burnus <tobias@codesourcery.com>
6069
6070 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6071 omp_depend_kind instead of defining it as 16.
6072
60732021-04-21 Tobias Burnus <tobias@codesourcery.com>
6074
6075 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6076 New, based on check_effective_target_offload_target_nvptx.
6077 (check_effective_target_offload_target_nvptx): Call it.
6078 (check_effective_target_offload_target_amdgcn): New.
6079 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6080 Require target offload_target_nvptx || offload_target_amdgcn.
6081 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6082 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6083 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6084
60852021-04-21 Tobias Burnus <tobias@codesourcery.com>
6086
6087 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6088
6e81e015
GA
60892021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6090
6091 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6092 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6093 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6094 Likewise.
6095 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6096 Likewise.
6097 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6098
ee351f7f
GA
60992021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6100
6101 PR target/99555
6102 * testsuite/lib/libgomp.exp
6103 (check_effective_target_offload_device_nvptx): New.
6104 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6105 resolved, make sure that we exit quickly, with error status,
6106 XFAILed.
6107 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6108 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6109
df3b1289
GA
61102021-04-14 Jakub Jelinek <jakub@redhat.com>
6111
6112 PR testsuite/100071
6113 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6114 cp = omp_alloc with cp, p arguments instead of cq, q and call
6115 c_f_pointer after last cq = omp_alloc with cq, q.
6116
a0ecde22
GA
61172021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6118
6119 PR middle-end/98088
6120 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6121 for loop with GT/GE condition.
6122 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6123
3115aba8
GA
61242021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6125
6126 PR middle-end/84991
6127 PR middle-end/84992
6128 PR middle-end/90779
6129 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6130
61312021-04-09 Jakub Jelinek <jakub@redhat.com>
6132
6133 PR libgomp/99984
6134 * team.c (gomp_thread_start): Call pthread_setspecific for
6135 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6136 has been initialized to avoid false positive warning.
6137
65374af2
GA
61382021-03-29 Tobias Burnus <tobias@codesourcery.com>
6139
6140 PR target/99555
6141 * testsuite/lib/on_device_arch.c: Move to ...
6142 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6143 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6144 #include on_device_arch.h.
6145 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6146 on_device_arch.h instead of using dg-additional-source.
6147 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6148 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6149 on_device_arch.c without relative paths.
6150
4493b1c1
GA
61512021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6152
6153 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6154 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6155 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6156 * config.h.in: Regenerate.
6157 * configure: Likewise.
6158
61592021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6160
6161 PR target/99555
6162 * testsuite/lib/on_device_arch.c: New file.
6163 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6164 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6165 skip for nvptx offloading, with error status.
6166 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6167
61682021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6169
6170 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6171 OpenACC 'serial' construct diagnostic for nvptx offloading.
6172
3c5b6d24
GA
61732021-03-15 Tobias Burnus <tobias@codesourcery.com>
6174
6175 PR c++/99509
6176 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6177
6da2762a
GA
61782021-03-12 Tobias Burnus <tobias@codesourcery.com>
6179
6180 PR fortran/98858
6181 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6182
67f10d28
GA
61832021-03-04 Jakub Jelinek <jakub@redhat.com>
6184
6185 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6186 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6187 checking of -m32 or -mx32 options on the command line.
6188 * config.h.in: Regenerated.
6189 * configure: Regenerated.
6190
ec9dc4fa
GA
61912021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6192
6193 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6194 support from the target.
6195
daa68844
GA
61962021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6197 Jakub Jelinek <jakub@redhat.com>
6198
6199 PR libgomp/98738
6200 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6201 (struct gomp_task): Replace detach and completion_sem fields with
6202 union containing completion_sem and detach_team. Add deferred_p
6203 field.
6204 (struct gomp_team): Remove task_detach_queue.
6205 * task.c: Include assert.h.
6206 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6207 Rearrange initialization order of fields.
6208 (task_fulfilled_p): Delete.
6209 (GOMP_task): Use address of task as the event handle. Remove
6210 initialization of detach field. Initialize deferred_p field.
6211 Use automatic local for completion_sem. Initialize detach_team field
6212 for deferred tasks.
6213 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6214 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6215 decrement task_running_count. Move finish_cancelled block out of
6216 else branch. Relocate call to gomp_team_barrier_done.
6217 (GOMP_taskwait): Handle tasks with completion events that have not
6218 been fulfilled.
6219 (GOMP_taskgroup_end): Likewise.
6220 (omp_fulfill_event): Use address of task as event handle. Post to
6221 completion_sem for undeferred tasks. Clear detach_team if task
6222 has not finished. For finished tasks, handle post-execution tasks,
6223 call gomp_team_barrier_wake if necessary, and free task.
6224 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6225 (free_team): Remove free of task_detach_queue.
6226 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6227 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6228 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6229 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6230 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6231 Change data-sharing of detach events on enclosing parallel to private.
6232 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6233 taskwait directive.
6234 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6235 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6236 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6237 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6238 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6239 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6240 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6241 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6242 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6243 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6244 Change data-sharing of detach events on enclosing parallel to private.
6245 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6246 taskwait directive.
6247 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6248 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6249 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6250 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6251 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6252
2f5765cf
GA
62532021-02-22 Tobias Burnus <tobias@codesourcery.com>
6254
6255 PR fortran/99171
6256 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6257
acc0ee5c
GA
62582021-02-17 Julian Brown <julian@codesourcery.com>
6259
6260 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6261 expected errors.
6262
62632021-02-17 Julian Brown <julian@codesourcery.com>
6264
6265 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6266 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6267
0c5cdb31
GA
62682021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6269
6270 * config/linux/x86/futex.h (__futex_wait):
6271 Revert output type back to long.
6272 (__futex_wake): Ditto.
6273 (futex_wait): Update for revert.
6274 (futex_wake): Ditto.
6275
62762021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6277
6278 * config/linux/x86/futex.h (__futex_wait): New static inline
6279 wrapper function. Correct output type to int and
6280 timeout type to void *.
6281 (__futex_wake): New static inline wrapper function.
6282 Correct output type to int.
6283 (futex_wait): Use __futex_wait.
6284 (futex_wake): Use __futex_wake.
6285
4b37c3ea
GA
62862021-02-10 Julian Brown <julian@codesourcery.com>
6287
6288 PR fortran/98979
6289 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6290 errors.
6291
a19dd5e6
GA
62922021-02-04 Julian Brown <julian@codesourcery.com>
6293
6294 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6295
9faaa807
GA
62962021-02-03 Andrew Stubbs <ams@codesourcery.com>
6297
6298 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6299 EF_AMDGPU_MACH_AMDGCN_GFX908.
6300 (gcn_gfx908_s): New constant string.
6301 (isa_hsa_name): Add gfx908.
6302 (isa_code): Add gfx908.
6303
161e4c08
GA
63042021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6305
6306 * libgomp.texi (omp_fulfill_event): New entry.
6307
b93d0e36
GA
63082021-01-20 Jakub Jelinek <jakub@redhat.com>
6309
6310 * task.c (GOMP_task): Rename priority argument to priority_arg,
6311 add priority automatic variable and modify that variable. Instead of
6312 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6313 check flags for that bit.
6314
f35a4f96
GA
63152021-01-19 Tobias Burnus <tobias@codesourcery.com>
6316
6317 PR fortran/98476
6318 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6319
ef1f8ee6
GA
63202021-01-18 Andreas Schwab <schwab@suse.de>
6321
6322 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6323
63242021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6325
6326 * config/rtems/sem.h (gomp_sem_getcount): New function.
6327
63282021-01-18 Jakub Jelinek <jakub@redhat.com>
6329
6330 * config/linux/sem.h (gomp_sem_getcount): New function.
6331 * config/posix/sem.h (gomp_sem_getcount): New function.
6332 * config/posix/sem.c (gomp_sem_getcount): New function.
6333 * config/accel/sem.h (gomp_sem_getcount): New function.
6334 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6335 (omp_fulfill_event): Likewise.
6336
59cf67d1
GA
63372021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6338
6339 * fortran.c (omp_fulfill_event_): New.
6340 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6341 (struct gomp_team): Add task_detach_queue and task_detach_count
6342 fields.
6343 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6344 * libgomp_g.h (GOMP_task): Add extra argument.
6345 * omp.h.in (enum omp_event_handle_t): New.
6346 (omp_fulfill_event): New.
6347 * omp_lib.f90.in (omp_event_handle_kind): New.
6348 (omp_fulfill_event): New.
6349 * omp_lib.h.in (omp_event_handle_kind): New.
6350 (omp_fulfill_event): Declare.
6351 * priority_queue.c (priority_tree_find): New.
6352 (priority_list_find): New.
6353 (priority_queue_find): New.
6354 * priority_queue.h (priority_queue_predicate): New.
6355 (priority_queue_find): New.
6356 * task.c (gomp_init_task): Initialize detach field.
6357 (task_fulfilled_p): New.
6358 (GOMP_task): Add detach argument. Ignore detach argument if
6359 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6360 field. Copy address of completion_sem into detach argument and
6361 into the start of the data record. Wait for detach event if task
6362 not deferred.
6363 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6364 Remove completed tasks and requeue dependent tasks.
6365 (omp_fulfill_event): New.
6366 * team.c (gomp_new_team): Initialize task_detach_queue and
6367 task_detach_count fields.
6368 (free_team): Free task_detach_queue field.
6369 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6370 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6371 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6372 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6373 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6374 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6375 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6376 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6377 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6378 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6379 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6380 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6381
2f7f0d32
GA
63822021-01-15 Jakub Jelinek <jakub@redhat.com>
6383
6384 PR target/70454
6385 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6386 be added through preprocessor check on
6387 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6388
5fff80fd
GA
63892021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6390
6391 PR libgomp/65099
6392 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6393 configurations.
6394 * configure: Regenerate.
6395 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6396 check.
6397
651b8a50
GA
63982021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6399
6400 * configure: Re-generate.
6401
64022021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6403
6404 * configure: Re-generate.
6405
64062021-01-05 Julian Brown <julian@codesourcery.com>
6407
6408 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6409 (struct ptx_device): Add omp_stacks struct.
6410 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6411 (nvptx_close_device): Free cached stacks block and mutex.
6412 (nvptx_stacks_free): New function.
6413 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6414 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6415 (nvptx_stacks_alloc): Rename to...
6416 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6417 size or smaller is required.
6418 (nvptx_stacks_free): Remove.
6419 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6420 during kernel execution.
6421
b6dd195a
GA
64222021-01-01 Jakub Jelinek <jakub@redhat.com>
6423
6424 * libgomp.texi: Bump @copying's copyright year.
6425
2d3425a5
GA
64262020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6427
6428 * libgomp.texi (Top): Avoid bad "up" link.
6429
b1a2242e
GA
64302020-12-18 Jakub Jelinek <jakub@redhat.com>
6431
6432 * testsuite/libgomp.c/task-6.c: New test.
6433
ca2bd949
GA
64342020-12-09 Andrew Stubbs <ams@codesourcery.com>
6435
6436 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6437 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6438
f6e8e279
GA
64392020-12-08 Tobias Burnus <tobias@codesourcery.com>
6440
6441 * testsuite/libgomp.fortran/scan-1.f90: New test.
6442
6e1edf48
GA
64432020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6444
6445 PR target/97865
6446 * configure: Regenerate.
6447
a9625c50
GA
64482020-11-29 John David Anglin <danglin@gcc.gnu.org>
6449
6450 * configure: Regenerate.
6451
360258da
GA
64522020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6453
6454 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6455 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6456
64572020-11-25 Andrew Stubbs <ams@codesourcery.com>
6458
6459 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6460 expected results.
6461
1e2c9a27
GA
64622020-11-24 Andrew Stubbs <ams@codesourcery.com>
6463
6464 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6465 (reserved): Delete unused define.
6466
64672020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6468
6469 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6470 Tcl 8.5-specific behavior.
6471 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6472
25bb75f8
GA
64732020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6474
6475 * env.c (gomp_global_icv): Remove nest_var field. Add
6476 max_active_levels_var field.
6477 (gomp_max_active_levels_var): Remove.
6478 (parse_boolean): Return true on success.
6479 (handle_omp_display_env): Express OMP_NESTED in terms of
6480 max_active_levels_var. Change format specifier for
6481 max_active_levels_var.
6482 (initialize_env): Set max_active_levels_var from
6483 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6484 OMP_PROC_BIND.
6485 * icv.c (omp_set_nested): Express in terms of
6486 max_active_levels_var.
6487 (omp_get_nested): Likewise.
6488 (omp_set_max_active_levels): Use max_active_levels_var field instead
6489 of gomp_max_active_levels_var.
6490 (omp_get_max_active_levels): Likewise.
6491 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6492 max_active_levels_var field.
6493 (gomp_supported_active_levels): Set to UCHAR_MAX.
6494 (gomp_max_active_levels_var): Delete.
6495 * libgomp.texi (omp_get_nested): Update documentation.
6496 (omp_set_nested): Likewise.
6497 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6498 (OMP_NESTED): Likewise.
6499 (OMP_NUM_THREADS): Likewise.
6500 (OMP_PROC_BIND): Likewise.
6501 * parallel.c (gomp_resolve_num_threads): Replace reference
6502 to nest_var with max_active_levels_var. Use max_active_levels_var
6503 field instead of gomp_max_active_levels_var.
6504
65052020-11-18 Tobias Burnus <tobias@codesourcery.com>
6506
6507 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6508 nvptx_usleep; use also for device={arch(gcn)}.
6509
faab61b5
GA
65102020-11-14 Jakub Jelinek <jakub@redhat.com>
6511
6512 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6513 (foo): Add tests for non-VLA private and firstprivate clauses on
6514 omp task.
6515 (bar): Likewise. Remove taking of address from private/firstprivate
6516 variables.
6517 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6518 (foo): Add p, q, px and s arguments. Add tests for array reductions
6519 and for non-VLA private and firstprivate clauses on omp task.
6520 (bar): Removed.
6521 (main): Adjust foo caller. Don't call bar.
6522
77f67db2
GA
65232020-11-13 Gergö Barany <gergo@codesourcery.com>
6524 Thomas Schwinge <thomas@codesourcery.com>
6525
6526 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6527 New.
6528 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6529 Likewise.
6530 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6531 Likewise.
6532 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6533 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6534
65352020-11-13 Gergö Barany <gergo@codesourcery.com>
6536 Thomas Schwinge <thomas@codesourcery.com>
6537
6538 PR fortran/94358
6539 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6540
65412020-11-13 Jakub Jelinek <jakub@redhat.com>
6542
6543 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6544 for array reductions.
6545 (main): Adjust foo callers.
6546
a5a11525
GA
65472020-11-12 Jakub Jelinek <jakub@redhat.com>
6548
6549 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6550 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6551 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6552 * allocator.c (omp_aligned_alloc): New for now static function,
6553 add alignment argument and handle it.
6554 (omp_alloc): Reimplement using omp_aligned_alloc.
6555 (GOMP_alloc, GOMP_free): New functions.
6556 (omp_free): Add ialias.
6557 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6558 * testsuite/libgomp.c++/allocate-1.C: New test.
6559
65602020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6561
6562 PR fortran/97782
6563 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6564
bb622641
GA
65652020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6566
6567 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6568 usable.
6569 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6570 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6571 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6572 (goacc_enter_data_internal): Likewise.
6573 * target.c (gomp_map_vars_internal):
6574 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6575 of gomp_attach_pointer for OpenMP cases.
6576 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6577 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6578 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6579
0cfd9109
GA
65802020-11-05 Ulrich Drepper <drepper@redhat.com>
6581 Kwok Cheung Yeung <kcy@codesourcery.com>
6582
6583 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6584 * Makefile.in: Regenerate.
6585 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6586 pragmas to ignore -Wdeprecated-declarations warnings.
6587 * icv.c: Likewise.
6588 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6589 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6590 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6591 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6592 deprecated.
6593 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6594 to test options.
6595 * testsuite/libgomp.c/affinity-1.c: Likewise.
6596 * testsuite/libgomp.c/affinity-2.c: Likewise.
6597 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6598 * testsuite/libgomp.c/lib-1.c: Likewise.
6599 * testsuite/libgomp.c/nested-1.c: Likewise.
6600 * testsuite/libgomp.c/nested-2.c: Likewise.
6601 * testsuite/libgomp.c/nested-3.c: Likewise.
6602 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6603 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6604 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6605 * testsuite/libgomp.c/pr35549.c: Likewise.
6606 * testsuite/libgomp.c/pr42942.c: Likewise.
6607 * testsuite/libgomp.c/pr61200.c: Likewise.
6608 * testsuite/libgomp.c/sort-1.c: Likewise.
6609 * testsuite/libgomp.c/target-5.c: Likewise.
6610 * testsuite/libgomp.c/target-6.c: Likewise.
6611 * testsuite/libgomp.c/teams-1.c: Likewise.
6612 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6613 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6614 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6615 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6616 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6617 * testsuite/libgomp.fortran/lib2.f: Likewise.
6618 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6619 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6620
88ce3d5f
GA
66212020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6622
6623 PR target/85486
6624 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6625 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6626 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6627
66282020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6629
6630 PR testsuite/80219
6631 PR testsuite/85303
6632 * testsuite/lib/libgomp.exp (libgomp_init): Set
6633 'gcc_warning_prefix', 'gcc_error_prefix'.
6634
66352020-10-30 Jakub Jelinek <jakub@redhat.com>
6636
6637 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6638 even in field_tgt_clear initializer.
6639
e93aae4a
GA
66402020-10-28 Jakub Jelinek <jakub@redhat.com>
6641
6642 * testsuite/libgomp.c/target-42.c: New test.
6643
66442020-10-28 Jakub Jelinek <jakub@redhat.com>
6645 Tom de Vries <tdevries@suse.de>
6646
6647 PR testsuite/81690
6648 * testsuite/libgomp.c/usleep.h: New file.
6649 * testsuite/libgomp.c/target-32.c: Include usleep.h.
6650 (main): Use tgt_usleep instead of usleep.
6651 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6652 (main): Use tgt_usleep instead of usleep.
6653
66542020-10-28 Jakub Jelinek <jakub@redhat.com>
6655
6656 PR lto/96680
6657 * testsuite/libgomp.c/declare-variant-1.c: New test.
6658
56ddd5e2
GA
66592020-10-22 Jakub Jelinek <jakub@redhat.com>
6660
6661 * testsuite/libgomp.c/target-41.c: New test.
6662
66632020-10-22 Jakub Jelinek <jakub@redhat.com>
6664
6665 * icv.c (omp_get_initial_device): Remove including corresponding
6666 ialias.
6667 * icv-device.c (omp_get_initial_device): New function. Return
6668 gomp_get_num_devices (). Add ialias.
6669 * target.c (resolve_device): Don't fail with
6670 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6671 gomp_get_num_devices ().
6672 (omp_target_alloc, omp_target_free, omp_target_is_present,
6673 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6674 omp_target_disassociate_ptr, omp_pause_resource): Use
6675 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6676 first use in the functions, in uses dominated by the
6677 gomp_get_num_devices call use num_devices_openmp instead.
6678 * libgomp.texi (omp_get_initial_device): Document.
6679 * config/gcn/icv-device.c (omp_get_initial_device): New function.
6680 Add ialias.
6681 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6682 * testsuite/libgomp.c/target-40.c: New test.
6683
66842020-10-21 Jakub Jelinek <jakub@redhat.com>
6685
6686 * env.c (parse_target_offload): Change new_offload var type to int,
6687 preinitialize to -1, remove found var and test new_offload != -1
6688 instead of found.
6689
e2e04288
GA
66902020-10-20 Jakub Jelinek <jakub@redhat.com>
6691
6692 * target.c (gomp_target_init): Inside of the function, use automatic
6693 variables corresponding to num_devices, num_devices_openmp and devices
6694 global variables and update the globals only at the end of the
6695 function.
6696
66972020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
6698
6699 * env.c (gomp_target_offload_var): New.
6700 (parse_target_offload): New.
6701 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6702 (initialize_env): Parse OMP_TARGET_OFFLOAD.
6703 * libgomp.h (gomp_target_offload_t): New.
6704 (gomp_target_offload_var): New.
6705 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6706 * target.c (resolve_device): Generate error if device not found and
6707 offloading is mandatory.
6708 (gomp_target_fallback): Generate error if offloading is mandatory.
6709 (GOMP_target): Add argument in call to gomp_target_fallback.
6710 (GOMP_target_ext): Likewise.
6711 (gomp_target_data_fallback): Generate error if offloading is mandatory.
6712 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6713 (GOMP_target_data_ext): Likewise.
6714 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6715 (gomp_target_init): Return early if offloading is disabled.
6716
b85d5dc5
GA
67172020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
6718
6719 * libgomp.texi (omp_get_max_active_levels): Modify description.
6720 (omp_get_supported_active_levels): Make descriptions consistent.
6721
b2698c21
GA
67222020-10-14 Jakub Jelinek <jakub@redhat.com>
6723
6724 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6725
bdd74cc2
GA
67262020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6727
6728 * env.c (gomp_max_active_levels_var): Initialize to
6729 gomp_supported_active_levels.
6730 (initialize_env): Limit gomp_max_active_levels_var to be at most
6731 equal to gomp_supported_active_levels.
6732 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6733 (omp_get_supported_active_levels_): New.
6734 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6735 to at most equal to gomp_supported_active_levels.
6736 (omp_get_supported_active_levels): New.
6737 * libgomp.h (gomp_supported_active_levels): New.
6738 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6739 omp_get_supported_active_levels_.
6740 * libgomp.texi (omp_get_supported_active_levels): New.
6741 (omp_set_max_active_levels): Update. Add reference to
6742 omp_get_supported_active_levels.
6743 * omp.h.in (omp_get_supported_active_levels): New.
6744 * omp_lib.f90.in (omp_get_supported_active_levels): New.
6745 * omp_lib.h.in (omp_get_supported_active_levels): New.
6746 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6747 against omp_get_supported_active_levels.
6748 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6749
2baa36d4
GA
67502020-10-11 Clement Chigot <clement.chigot@atos.net>
6751
6752 * config/t-aix: Delete and recreate libgomp before creating
6753 FAT library.
6754
da9df699
GA
67552020-10-08 Tom de Vries <tdevries@suse.de>
6756
6757 PR libgomp/81802
6758 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6759 dimensions.
6760
8e97b905
GA
67612020-10-06 Tom de Vries <tdevries@suse.de>
6762
6763 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6764
67652020-10-06 Tom de Vries <tdevries@suse.de>
6766
6767 PR middle-end/90861
6768 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6769
7e9282ae
GA
67702020-10-05 Tom de Vries <tdevries@suse.de>
6771
6772 PR fortran/95654
6773 * testsuite/libgomp.fortran/pr95654.f90: New test.
6774
b0b9b8f0
GA
67752020-10-02 Tobias Burnus <tobias@codesourcery.com>
6776
6777 * Makefile.in: Regenerate with automake 1.15.1.
6778 * aclocal.m4: Likewise.
6779 * configure: Likewise.
6780 * testsuite/Makefile.in: Likewise.
6781
660bfe61
GA
67822020-09-30 Andrew Stubbs <ams@codesourcery.com>
6783
6784 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6785 and amdgcn targets.
6786
67872020-09-30 Tobias Burnus <tobias@codesourcery.com>
6788
6789 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6790
93bca37c
GA
67912020-09-29 Andrew Stubbs <ams@codesourcery.com>
6792
6793 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6794 total number of threads is one.
6795 (gomp_team_barrier_wake): Likewise.
6796 (gomp_team_barrier_wait_end): Likewise.
6797 (gomp_team_barrier_wait_cancel_end): Likewise.
6798 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
6799 (gomp_team_barrier_wake): Likewise.
6800 (gomp_team_barrier_wait_end): Likewise.
6801 (gomp_team_barrier_wait_cancel_end): Likewise.
6802 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
6803
e84761c6
GA
68042020-09-28 Tobias Burnus <tobias@codesourcery.com>
6805
6806 PR middle-end/96390
6807 * testsuite/libgomp.c++/pr96390.C: New test.
6808 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
6809
4383c595
GA
68102020-09-27 Clement Chigot <clement.chigot@atos.net>
6811
6812 * config/t-aix: Use $(AR) without -X32_64.
6813
cdd8f031
GA
68142020-09-25 Jakub Jelinek <jakub@redhat.com>
6815
6816 * testsuite/libgomp.c/loop-25.c: New test.
6817
521d2711
GA
68182020-09-22 Tobias Burnus <tobias@codesourcery.com>
6819
6820 PR fortran/95654
6821 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
6822
68232020-09-22 Tom de Vries <tdevries@suse.de>
6824
6825 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
6826 fails.
6827
ecde1b0a
GA
68282020-09-16 Nathan Sidwell <nathan@acm.org>
6829
6830 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
6831
9f7ab8c5
GA
68322020-09-15 Tobias Burnus <tobias@codesourcery.com>
6833
6834 PR fortran/96668
6835 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
6836
68372020-09-15 Tobias Burnus <tobias@codesourcery.com>
6838
6839 PR fortran/96668
6840 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
6841 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
6842 (gomp_map_vars_existing): Update call to it.
6843 (gomp_map_fields_existing): Likewise
6844 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
6845 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
6846 remapped.
6847 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
6848 GOMP_MAP_POINTER.
6849 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
6850 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
6851
50a71cd0
GA
68522020-09-14 Tom de Vries <tdevries@suse.de>
6853
6854 * config/nvptx/atomic.c: New file. Add
6855 __sync_val_compare_and_swap_16.
6856 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
6857 target offload_target_nvptx.
6858
31a05046
GA
68592020-09-08 Julian Brown <julian@codesourcery.com>
6860
6861 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
6862 iteration-ordering assumptions.
6863
68642020-09-08 Julian Brown <julian@codesourcery.com>
6865
6866 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
6867 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6868
5b9a3d2a
GA
68692020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
6870
6871 * plugin/plugin-nvptx.c (nvptx_free):
6872 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
6873 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
6874 comments.
6875
68762020-08-20 Tobias Burnus <tobias@codesourcery.com>
6877
6878 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
6879
b3cb5606
GA
68802020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6881
6882 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
6883
68842020-08-13 Jakub Jelinek <jakub@redhat.com>
6885
6886 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
6887 * testsuite/libgomp.c/loop-23.c (main): Likewise.
6888 * testsuite/libgomp.c/loop-24.c: New test.
6889
bc0ca715
GA
68902020-08-08 Jakub Jelinek <jakub@redhat.com>
6891 Tobias Burnus <tobias@codesourcery.com>
6892
6893 PR fortran/93553
6894 * testsuite/libgomp.fortran/pr93553.f90: New test.
6895
aa5ea20c
GA
68962020-08-05 Jakub Jelinek <jakub@redhat.com>
6897
6898 * testsuite/libgomp.c/loop-22.c: New test.
6899 * testsuite/libgomp.c/loop-23.c: New test.
6900
69012020-08-05 Jakub Jelinek <jakub@redhat.com>
6902
6903 PR middle-end/96459
6904 * testsuite/libgomp.c/teams-3.c: New test.
6905 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
6906 if not defined yet.
6907 (N(test)): Use it before all N(f*) calls.
6908 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
6909 (main): Don't call all test_* functions from within
6910 #pragma omp teams reduction(|:err), call them directly.
6911
abba2591
GA
69122020-08-04 Tom de Vries <tdevries@suse.de>
6913
6914 PR target/96428
6915 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
6916 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
6917
6a1ad710
GA
69182020-08-03 Julian Brown <julian@codesourcery.com>
6919 Thomas Schwinge <thomas@codesourcery.com>
6920
6921 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
6922 shared-memory devices. Extend with further checking.
6923
69242020-08-03 Martin Jambor <mjambor@suse.cz>
6925
6926 * plugin/Makefrag.am: Remove configuration of HSA plugin.
6927 * aclocal.m4: Regenerated.
6928 * Makefile.in: Regenerated.
6929 * config.h.in: Regenerated.
6930 * configure: Regenerated.
6931 * plugin/configfrag.ac: Likewise.
6932 * plugin/hsa_ext_finalize.h: Removed.
6933 * plugin/plugin-hsa.c: Likewise.
6934 * testsuite/Makefile.in: Regenerated.
6935 * testsuite/lib/libgomp.exp
6936 (offload_target_to_openacc_device_type): Remove hsa case.
6937 (check_effective_target_hsa_offloading_selected_nocache): Removed
6938 (check_effective_target_hsa_offloading_selected): Likewise.
6939 (libgomp_init): Do not add -Wno-hsa to additional_flags.
6940 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
6941 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6942 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
6943 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6944 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6945 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6946 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
6947 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6948 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6949 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6950 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6951 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6952 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6953 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6954 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6955 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6956 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
6957 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6958 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
6959 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6960 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6961 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
6962 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6963 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6964
e71dab87
GA
69652020-07-27 Julian Brown <julian@codesourcery.com>
6966 Thomas Schwinge <thomas@codesourcery.com>
6967
6968 * libgomp.h (struct target_var_desc): Rename do_detach field to
6969 is_attach.
6970 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
6971 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
6972 (goacc_enter_data_internal): Don't affect reference counts
6973 for attach mappings.
6974 (goacc_exit_data_internal): Don't affect reference counts for detach
6975 mappings.
6976 * target.c (gomp_map_vars_existing): Don't affect reference counts for
6977 attach mappings.
6978 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
6979 mark attach mappings.
6980 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
6981 reference count for attach mappings.
6982 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
6983 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6984 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6985 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
6986 test as shouldfail.
6987 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
6988 gracefully in no-finalize mode.
6989 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
6990
53256ee3
GA
69912020-07-24 Thomas Schwinge <thomas@codesourcery.com>
6992
6993 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
6994 use.
6995 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6996 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6997
9bb403dc
GA
69982020-07-23 Julian Brown <julian@codesourcery.com>
6999 Thomas Schwinge <thomas@codesourcery.com>
7000
7001 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7002 finalization for detach operation.
7003 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7004 New test.
7005
70062020-07-23 Tobias Burnus <tobias@codesourcery.com>
7007
7008 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7009 * libgomp_f.h.in (omp_check_defines): Check whether
7010 sizeof of determined Fortran kind and C typedef match.
7011 * omp_lib.f90.in: Add omp_depened_kind.
7012 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7013 * configure: Regenerate.
7014 * Makefile.in: Regenerate.
7015 * testsuite/Makefile.in: Regenerate.
7016
3ea9abca
GA
70172020-07-22 Tobias Burnus <tobias@codesourcery.com>
7018
7019 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7020 gcc/testsuite/c-c++-common/gomp/.
7021 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7022 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7023 from gcc/testsuite/gfortran.dg/gomp/.
7024 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7025
70262020-07-22 Tobias Burnus <tobias@codesourcery.com>
7027
7028 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7029 * omp_lib.h.in: Likewise.
7030
aeb34e15
GA
70312020-07-18 H.J. Lu <hjl.tools@gmail.com>
7032
7033 PR target/95620
7034 * testsuite/libgomp.c/pr95620.c: New test.
7035
96686b3f
GA
70362020-07-16 Julian Brown <julian@codesourcery.com>
7037 Thomas Schwinge <thomas@codesourcery.com>
7038
7039 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7040 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7041
fe8185b5
GA
70422020-07-15 Tobias Burnus <tobias@codesourcery.com>
7043
7044 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7045 avoid conversion on 32bit systems from 32bit to 64bit due
7046 to -fdefault-integer-8.
7047
70482020-07-15 Tobias Burnus <tobias@codesourcery.com>
7049
7050 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7051 variables; add character(kind=4) tests; update TODO comment.
7052
70532020-07-15 Tobias Burnus <tobias@codesourcery.com>
7054
7055 * allocator.c: Add ialias for omp_init_allocator and
7056 omp_destroy_allocator.
7057 * configure.ac: Set INTPTR_T_KIND.
7058 * configure: Regenerate.
7059 * Makefile.in: Regenerate.
7060 * testsuite/Makefile.in: Regenerate.
7061 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7062 omp_set_default_allocator_, omp_get_default_allocator_): New
7063 functions and ialias_redirect.
7064 * icv.c: Add ialias for omp_set_default_allocator and
7065 omp_get_default_allocator.
7066 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7067 omp_destroy_allocator_, omp_set_default_allocator_ and
7068 omp_get_default_allocator_.
7069 * omp_lib.f90.in: Add allocator traits parameters, declare
7070 allocator routines and add related kind parameters.
7071 * omp_lib.h.in: Likewise.
7072 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7073 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7074 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7075 * testsuite/libgomp.fortran/alloc-3.F: New test.
7076 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7077 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7078
8ca07a30
GA
70792020-07-14 Tom de Vries <tom@codesourcery.com>
7080 Cesar Philippidis <cesar@codesourcery.com>
7081 Thomas Schwinge <thomas@codesourcery.com>
7082 Kwok Cheung Yeung <kcy@codesourcery.com>
7083
7084 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7085 New variable.
7086 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7087 acc_init_state to initializing at the start, and to initialized at the
7088 end.
7089 (self_initializing_p): New function.
7090 (acc_get_device_type): Return acc_device_none if called by thread that
7091 is currently executing acc_init_1.
7092 * libgomp.texi (acc_get_device_type): Update documentation.
7093 (Implementation Status and Implementation-Defined Behavior): Likewise.
7094 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7095
70962020-07-14 David Edelsohn <dje.gcc@gmail.com>
7097
7098 * config/t-aix: Set BITS from compiler cpp macro.
7099
71002020-07-14 Tobias Burnus <tobias@codesourcery.com>
7101
7102 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7103
71042020-07-14 Tobias Burnus <tobias@codesourcery.com>
7105
7106 PR fortran/67311
7107 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7108
71092020-07-14 Jakub Jelinek <jakub@redhat.com>
7110
7111 * testsuite/libgomp.c/loop-21.c: New test.
7112
ea69fcf9
GA
71132020-07-13 Julian Brown <julian@codesourcery.com>
7114 Thomas Schwinge <thomas@codesourcery.com>
7115
7116 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7117
86536295
GA
71182020-07-10 Julian Brown <julian@codesourcery.com>
7119 Thomas Schwinge <thomas@codesourcery.com>
7120
7121 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7122 dynamic_refcount.
7123 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7124 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7125 dynamic_refcount.
7126 (acc_unmap_data): Update comment.
7127 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7128 dynamic_refcount semantics.
7129 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7130 Adjust for dynamic_refcount semantics.
7131 (goacc_enter_data_internal): Implement "present" case of dynamic
7132 memory-map handling here. Update "non-present" case for
7133 dynamic_refcount semantics.
7134 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7135 * target.c (gomp_map_vars_internal): Remove
7136 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7137 handling.
7138 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7139 (gomp_load_image_to_device): Substitute dynamic_refcount for
7140 virtual_refcount.
7141 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7142 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7143 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7144 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7145 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7146 trace output.
7147 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7148 trace output.
7149 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7150 test.
7151 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7152 Remove stale comment.
7153 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7154 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7155 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7156 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7157 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7158 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7159
71602020-07-10 Julian Brown <julian@codesourcery.com>
7161 Thomas Schwinge <thomas@codesourcery.com>
7162
7163 * oacc-mem.c (goacc_map_var_existing): New function.
7164 (goacc_enter_datum): Use above function.
7165 (goacc_exit_datum_1): New function.
7166 (goacc_exit_datum): Use above function.
7167
3f8ca9cb
GA
71682020-07-09 Julian Brown <julian@codesourcery.com>
7169 Thomas Schwinge <thomas@codesourcery.com>
7170
7171 PR middle-end/95270
7172 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7173 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7174
71752020-07-09 Julian Brown <julian@codesourcery.com>
7176
7177 * oacc-mem.c (find_group_last): Group data-movement clauses
7178 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7179 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7180
71812020-07-09 Jakub Jelinek <jakub@redhat.com>
7182
7183 * testsuite/libgomp.c/loop-19.c: New test.
7184 * testsuite/libgomp.c/loop-20.c: New test.
7185
71862020-07-09 Jakub Jelinek <jakub@redhat.com>
7187
7188 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7189 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7190 it. Remove __omp_alloctrait_value_max__.
7191 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7192 omp_atk_alignment and omp_atk_pool_size.
7193
b991c834
GA
71942020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7195
7196 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7197 behavior for 'GOMP_MAP_FORCE_FROM'.
7198 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7199
72002020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7201
7202 * oacc-mem.c (goacc_exit_data_internal): Remove
7203 'GOMP_MAP_ALWAYS_FROM' handling.
7204
46fbb6c6
GA
72052020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7206
7207 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7208 'scan-assembler' with 'scan-offload-rtl'.
7209 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7210 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7211 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7212 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7213
72142020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7215
7216 * target.c (gomp_map_vars_existing): Assert 'kind !=
7217 GOMP_MAP_ATTACH'.
7218 (gomp_map_vars_internal): Clean up.
7219
9a33c41f
GA
72202020-06-27 Jakub Jelinek <jakub@redhat.com>
7221
7222 * testsuite/libgomp.c/loop-17.c: New test.
7223 * testsuite/libgomp.c/loop-18.c: New test.
7224
c9c05f73
GA
72252020-06-26 Marek Polacek <polacek@redhat.com>
7226
7227 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7228
4543acc8
GA
72292020-06-23 Alexandre Oliva <oliva@adacore.com>
7230
7231 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7232 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7233
605a8f3b
GA
72342020-06-22 David Edelsohn <dje.gcc@gmail.com>
7235
7236 * Makefile.am: Use -include.
7237 * Makefile.in: Regenerate.
7238
f86e11a2
GA
72392020-06-21 David Edelsohn <dje.gcc@gmail.com>
7240
7241 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7242 * Makefile.in: Regenerate
7243 * configure.ac (tmake_file): Substitute.
7244 * configure: Regenerate.
7245 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7246 * config/t-aix: New file.
7247
aff95ee7
GA
72482020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7249
7250 PR lto/94848
7251 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7252 'dg-do run'.
7253
72542020-06-17 Andrew Stubbs <ams@codesourcery.com>
7255
7256 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7257 variant for HSA_RUNTIME_LIB name.
7258 (find_executable_symbol_1): Delete.
7259 (find_executable_symbol): Delete.
7260 (init_kernel_properties): Add ".kd" suffix to symbol names.
7261 (find_load_offset): Delete.
7262 (create_and_finalize_hsa_program): Remove relocation handling.
7263
56638b9b
GA
72642020-06-16 Tobias Burnus <tobias@codesourcery.com>
7265
7266 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7267
2c455ae0
GA
72682020-06-08 Tobias Burnus <tobias@codesourcery.com>
7269
7270 PR lto/94848
7271 PR middle-end/95551
7272 * testsuite/libgomp.fortran/target-var.f90: New test.
7273
1a59f3db
GA
72742020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7275 Julian Brown <julian@codesourcery.com>
7276
7277 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7278 special handling.
7279
72802020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7281 Julian Brown <julian@codesourcery.com>
7282
7283 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7284 Simplify.
7285
72862020-06-05 Julian Brown <julian@codesourcery.com>
7287
7288 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7289 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7290
3add3425
GA
72912020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7292
7293 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7294 Evaluate 'copyfrom' individually for each entry.
7295 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7296
72972020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7298
7299 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7300 Evaluate 'finalize' individually for each entry.
7301 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7302 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7303 file.
7304
73052020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7306
7307 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7308 usage.
7309 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7310
73112020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7312 Julian Brown <julian@codesourcery.com>
7313
7314 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7315 checking.
7316 (acc_unmap_data, goacc_exit_data_internal): Restore
7317 'is_tgt_unmapped' checking.
7318 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7319 file.
7320 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7321 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7322 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7323 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7324 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7325 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7326
73272020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7328 Julian Brown <julian@codesourcery.com>
7329
7330 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7331
73322020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7333
7334 PR libgomp/92854
7335 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7336
73372020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7338
7339 PR libgomp/92854
7340 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7341 more.
7342
73432020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7344 Julian Brown <julian@codesourcery.com>
7345
7346 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7347 'gomp_map_vars'.
3d3b561f 7348 (acc_map_data): Clean up accordingly.
3add3425
GA
7349
73502020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7351
7352 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7353 of over-eager 'finalize' clause.
7354 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7355 file.
7356 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7357 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7358 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7359 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7360 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7361 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7362 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7363 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7364
73652020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7366
7367 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7368
73692020-06-04 Julian Brown <julian@codesourcery.com>
7370
7371 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7372 error path.
7373 (goacc_detach_internal): Likewise.
7374
73752020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7376
7377 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7378 the checkpoint.
7379 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7380 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7381 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7382 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7383 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7384
a9312a79
GA
73852020-06-02 Jakub Jelinek <jakub@redhat.com>
7386
7387 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7388 defined.
7389
945b53cc
GA
73902020-05-30 Jakub Jelinek <jakub@redhat.com>
7391
7392 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7393
73942020-05-30 Jakub Jelinek <jakub@redhat.com>
7395
7396 * allocator.c (omp_alloc): For size == 0, return NULL early.
7397
885ef72f
GA
73982020-05-29 H.J. Lu <hjl.tools@gmail.com>
7399
7400 PR bootstrap/95413
7401 * configure: Regenerated.
7402
8df7ee67
TK
74032020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7404
7405 PR libfortran/95191
7406 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7407
800bcc8c
JJ
74082020-05-19 Jakub Jelinek <jakub@redhat.com>
7409
7410 * omp.h.in (omp_uintptr_t): New typedef.
7411 (__GOMP_UINTPTR_T_ENUM): Define.
7412 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7413 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7414 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7415 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7416 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7417 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7418 (gomp_def_allocator): Declare.
7419 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7420 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7421 omp_alloc and omp_free.
7422 * team.c (gomp_team_start): Copy over ts.def_allocator.
7423 * env.c (gomp_def_allocator): New variable.
7424 (parse_wait_policy): Adjust function comment.
7425 (parse_allocator): New function.
7426 (handle_omp_display_env): Print OMP_ALLOCATOR.
7427 (initialize_env): Call parse_allocator.
7428 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7429 * allocator.c: New file.
7430 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7431 functions.
7432 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7433 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7434 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7435 * Makefile.in: Regenerated.
7436
4c1a5d8b
L
74372020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7438
7439 PR bootstrap/95147
7440 * configure: Regenerated.
7441
cdc34b50
TK
74422020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7443
7444 PR libfortran/95119
7445 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7446
74472020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7448
7449 * configure: Regenerated.
7450
74512020-05-14 Jakub Jelinek <jakub@redhat.com>
7452
7453 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7454
f884bef2
TB
74552020-05-13 Tobias Burnus <tobias@codesourcery.com>
7456
7457 PR fortran/94690
7458 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7459 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7460 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7461 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7462 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7463 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7464 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7465
dc703151
JJ
74662020-05-12 Jakub Jelinek <jakub@redhat.com>
7467
7468 * testsuite/libgomp.c/target-39.c: New test.
7469
b9dc11b6
TS
74702020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7471
a5d0bc12
TS
7472 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7473 * openacc.f90 (acc_device_current): Likewise.
7474 * openacc.h (acc_device_current): Likewise.
7475 * openacc_lib.h (acc_device_current): Likewise.
7476
7f198924
TS
7477 PR target/94282
7478 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7479 'dg-allow-blank-lines-in-output'.
7480
4912a04f
TS
7481 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7482 * testsuite/lib/libgomp.exp
7483 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7484 'radeon'. Adjust all users.
7485 (check_effective_target_openacc_amdgcn_accel_present): Rename
7486 to...
7487 (check_effective_target_openacc_radeon_accel_present): ... this.
7488 Adjust all users.
7489 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7490 (check_effective_target_openacc_radeon_accel_selected): ... this.
7491 Adjust all users.
7492
b9dc11b6
TS
7493 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7494 'dg-do run'.
7495
966de09b
AS
74962020-04-23 Andrew Stubbs <ams@codesourcery.com>
7497
7498 PR other/94629
7499
7500 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7501 hsa_iterate_agents.
7502 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7503 hsa_agent_iterate_regions.
7504
3f5d94c1
TS
75052020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7506
7507 PR middle-end/94635
7508 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7509 run'.
7510
85d8c05a
TB
75112020-04-20 Tobias Burnus <tobias@codesourcery.com>
7512
7513 PR middle-end/94120
7514 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7515 test case.
7516
af557050
TB
75172020-04-17 Tobias Burnus <tobias@codesourcery.com>
7518
7519 PR middle-end/94635
7520 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7521
af4c9257
TS
75222020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7523
7524 PR libgomp/92843
7525 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7526 Rename to...
7527 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7528 ... this.
7529 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7530 Rename to...
7531 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7532 ... this.
7533 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7534 Rename to...
7535 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7536 ... this.
7537 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7538 Rename to...
7539 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7540 ... this.
7541 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7542 Rename to...
7543 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7544 ... this.
7545 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7546 Rename to...
7547 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7548 ... this.
7549 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7550 Rename to...
7551 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7552 ... this.
7553 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7554 Rename to...
7555 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7556 ... this.
7557 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7558 Rename to...
7559 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7560 ... this.
7561 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7562 Rename to...
7563 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7564 ... this.
7565 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7566 Rename to...
7567 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7568 ... this.
7569 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7570 Rename to...
7571 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7572 ... this.
7573 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7574 Rename to...
7575 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7576 ... this.
7577 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7578 Rename to...
7579 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7580 ... this.
7581 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7582 Rename to...
7583 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7584 ... this.
7585 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7586 Rename to...
7587 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7588 ... this.
7589
be9862dd
JB
75902020-04-10 Julian Brown <julian@codesourcery.com>
7591 Thomas Schwinge <thomas@codesourcery.com>
7592
7593 PR libgomp/92843
7594 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7595 New file.
7596 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7597 Likewise.
7598 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7599 Likewise.
7600 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7601 Likewise.
7602 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7603 Likewise.
7604 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7605 Likewise.
7606 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7607 Likewise.
7608 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7609 Likewise.
7610 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7611 Likewise.
7612 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7613 Likewise.
7614 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7615 Likewise.
7616 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7617 Likewise.
7618 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7619 Likewise.
7620 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7621 Likewise.
7622 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7623 Likewise.
7624 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7625 Likewise.
7626
6b816a5f
TS
76272020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7628
7629 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7630 run'.
7631
13e41d8b
TB
76322020-04-08 Tobias Burnus <tobias@codesourcery.com>
7633
7634 PR middle-end/94120
7635 * libgomp.oacc-c++/declare-pr94120.C: New.
7636
749bd22d
MR
76372020-04-06 Maciej W. Rozycki <macro@wdc.com>
7638
7639 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7640 files.
7641 * configure: Regenerate.
7642 * testsuite/libgomp-site-extra.exp.in: New file.
7643 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7644 variable.
7645 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7646 variable.
7647 * testsuite/Makefile.in: Regenerate.
7648
2b1e849b
TS
76492020-04-03 Thomas Schwinge <thomas@codesourcery.com>
7650
7651 PR tree-optimization/89713
7652 PR c/94392
7653 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7654 'bar.sync'.
7655 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7656
689418b9
TB
76572020-03-31 Tobias Burnus <tobias@codesourcery.com>
7658
7659 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7660 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7661
c2211a60
TB
76622020-03-24 Tobias Burnus <tobias@codesourcery.com>
7663
7664 PR libgomp/81689
7665 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7666
4897bb00
TB
76672020-03-20 Tobias Burnus <tobias@codesourcery.com>
7668
7669 PR libgomp/94251
7670 * target.c (gomp_load_image_to_device): Fix link
7671 variable handling.
7672
02f7334a
JJ
76732020-03-19 Jakub Jelinek <jakub@redhat.com>
7674
7675 PR c++/93931
7676 * testsuite/libgomp.c++/pr93931.C: New test.
7677
bb83e069
TB
76782020-03-19 Tobias Burnus <tobias@codesourcery.com>
7679
7680 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7681 dg-allow-blank-lines-in-output.
7682
26cbcfe5
TB
76832020-03-18 Julian Brown <julian@codesourcery.com>
7684 Tobias Burnus <tobias@codesourcery.com>
7685
7686 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7687 it work concurrently.
7688
4da92887
TB
76892020-03-18 Tobias Burnus <tobias@codesourcery.com>
7690
7691 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7692 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7693 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7694
9c3cdb43
JJ
76952020-03-14 Jakub Jelinek <jakub@redhat.com>
7696
7697 PR middle-end/93566
7698 * testsuite/libgomp.c/pr93566.c: New test.
7699
83d45e1d
FH
77002020-02-21 Frederik Harwath <frederik@codesourcery.com>
7701
7702 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7703 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7704 integer(acc_device_property) for the type of the return value of
7705 acc_get_property.
7706
8d1a1cb1
TB
77072020-02-19 Tobias Burnus <tobias@codesourcery.com>
7708
7709 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7710 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7711 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7712 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7713 (acc_set_device_num): Fix Fortran argument name, use same name for C.
7714 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7715 corrections; add note about the previous interface and named constant.
7716 (OpenACC library and environment variables): Fix two typos.
7717 * openacc.f90: Use for all procedures the argument names from the spec
7718 as for …_h they are user visible.
7719 (openacc_kinds): Rename acc_device_property to
7720 acc_device_property_kinds and change value to int32 ; and update users.
7721 Re-add acc_device_property for for backward compatibility.
7722 (acc_get_property_string_h): Clean up as acc_device_property_kind
7723 changed.
7724 (acc_get_property_h): Likewise and return c_size_t instead of
7725 acc_device_property.
7726 (openacc): Also export acc_device_property_kinds.
7727 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7728 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7729 handling; check against /= 0 instead of == 1 to match C.
7730 * openacc_lib.h: Use for all procedures the argument names from the spec
7731 as for …_h they are user visible. Place !GCC$ into the first column to
7732 be active also for fixed-form souce form.
7733 (acc_device_current, acc_device_property_kind, acc_device_property,
7734 acc_property_memory, acc_property_free_memory, acc_property_name,
7735 acc_property_vendor, acc_property_driver): New named constants.
7736 (acc_get_property, acc_get_property_string): New generic interface.
7737
2d9eb4e4
FH
77382020-02-13 Frederik Harwath <frederik@codesourcery.com>
7739
7740 PR libgomp/93481
7741 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7742 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7743 optional.
7744 (gomp_target_task_fn): Assert "devicep->async_run_func".
7745 (clear_unsupported_flags): New function to remove unsupported flags
7746 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7747 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7748 * testsuite/libgomp.c/target-33.c:
7749 Remove xfail for offload_target_nvptx.
7750 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
7751
77522020-02-10 Frederik Harwath <frederik@codesourcery.com>
7753
7754 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7755 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7756 * testsuite/libgomp.c/target-34.c: Likewise.
7757 * testsuite/libgomp.c/target-link-1.c: Add xfail for
7758 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7759
9bc3b95d
JJ
77602020-02-09 Jakub Jelinek <jakub@redhat.com>
7761
7762 * testsuite/libgomp.c/target-38.c: New test.
7763
cb3f0648
JJ
77642020-02-06 Jakub Jelinek <jakub@redhat.com>
7765
7766 PR libgomp/93515
7767 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7768
91bc3c98
TB
77692020-02-05 Tobias Burnus <tobias@codesourcery.com>
7770
7771 * testsuite/lib/libgomp.exp
7772 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7773 and not as 'source' argument to libgomp_target_compile.
7774
591f869a
AS
77752020-02-03 Andrew Stubbs <ams@codesourcery.com>
7776
7777 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7778 (gcn_gfx801_s): Remove.
7779 (isa_hsa_name): Remove gfx801.
7780 (isa_gcc_name): Remove gfx801/carizzo.
7781 (isa_code): Remove gfx801.
7782
e464fc90
TB
77832020-02-03 Julian Brown <julian@codesourcery.com>
7784 Tobias Burnus <tobias@codesourcery.com>
7785
7786 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7787 and *_finalize variants; document acc_attach and acc_detach; update
7788 references from OpenACC 2.0 to 2.6.
7789 * openacc.f90 (openacc_version): Update to 201711.
7790 * openacc_lib.h (openacc_version): Update to 201711.
7791 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7792 openacc_version to 201711.
7793 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7794
5a28e272
KCY
77952020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
7796
7797 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
7798 and vgpr_count fields.
7799 (struct kernel_info): Add a field for a hsa_kernel_description.
7800 (run_kernel): Reduce the number of threads/workers if the requested
7801 number would require too many VGPRs.
7802 (init_basic_kernel_info): Initialize description field with
7803 the hsa_kernel_description entry for the kernel.
7804
5ab5d81b
TB
78052020-01-29 Tobias Burnus <tobias@codesourcery.com>
7806
7807 PR bootstrap/93409
7808 * plugin/configfrag.ac (enable_offload_targets): Skip
7809 HSA and GCN plugin besides -m32 also for -mx32.
7810 * configure: Regenerate.
7811
989a5fb3
FH
78122020-01-29 Frederik Harwath <frederik@codesourcery.com>
7813
7814 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
7815
78162020-01-29 Frederik Harwath <frederik@codesourcery.com>
7817
7818 * plugin-gcn.c (struct agent_info): Add fields "name" and
7819 "vendor_name" ...
7820 (GOMP_OFFLOAD_init_device): ... and init from here.
7821 (struct hsa_context_info): Add field "driver_version_s" ...
7822 (init_hsa_contest): ... and init from here.
7823 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
7824 implementation.
7825 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7826 Enable test execution for amdgcn and host offloading targets.
7827 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
7828 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7829 (expect_device_properties): Split function into ...
7830 (expect_device_string_properties): ... this new function ...
7831 (expect_device_memory): ... and this new function.
7832 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
7833 Add test.
7834
278c3214
JB
78352020-01-28 Julian Brown <julian@codesourcery.com>
7836
7837 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
7838 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
7839 component/non-component variable refs in a single directive.
7840 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
7841
e8e66971
MR
78422020-01-24 Maciej W. Rozycki <macro@wdc.com>
7843
7844 * configure.ac: Handle `--with-toolexeclibdir='.
7845 * Makefile.in: Regenerate.
7846 * aclocal.m4: Regenerate.
7847 * configure: Regenerate.
7848 * testsuite/Makefile.in: Regenerate.
7849
9e424d97
FH
78502020-01-24 Frederik Harwath <frederik@codesourcery.com>
7851
7852 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7853 (expect_device_properties): Remove "expected_free_mem" argument,
7854 change "expected_total_mem" argument type to size_t;
7855 change types of acc_get_property results to size_t,
7856 adapt format strings.
7857 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7858 Use %zu instead of %zd to print size_t values.
7859 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
7860 rename to ...
7861 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
7862 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
7863 rename to ...
7864 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
7865
14e5e746
AS
78662020-01-23 Andrew Stubbs <ams@codesourcery.com>
7867
7868 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
7869 the device id.
7870
09e0ad62
AS
78712020-01-20 Andrew Stubbs <ams@codesourcery.com>
7872
7873 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
7874 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
7875 Adjust test dimensions for amdgcn.
7876 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
7877 gang/worker/vector expectations dynamically.
7878 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
7879 (main): Likewise.
7880 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
7881 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
7882 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
7883 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
7884 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
7885 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
7886 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
7887 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
7888 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
7889 (acc_gang): Recognise acc_device_radeon.
7890 (acc_worker): Likewise.
7891 (acc_vector): Likewise.
7892 (main): Set expectations for amdgcn.
7893 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
7894 (main): Adjust gang/worker/vector expectations dynamically.
7895 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
7896 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
7897 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
7898 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
7899 for amdgcn.
7900
6687d13a
AS
79012020-01-17 Andrew Stubbs <ams@codesourcery.com>
7902
7903 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
7904 acc_device_radeon.
7905 (openacc): Likewise.
7906 * openacc.f90 (openacc_kinds): Likewise.
7907 (openacc): Likewise.
7908 * openacc.h (acc_device_t): Likewise.
7909 * openacc_lib.h: Likewise.
7910 * testsuite/lib/libgomp.exp
7911 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
7912 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
7913 (cb_compute_construct_end): Likewise.
7914 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
7915 (cb_enqueue_launch_start): Likewise.
7916 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
7917 (cb_enter_data_end): Likewise.
7918 (cb_exit_data_start): Likewise.
7919 (cb_exit_data_end): Likewise.
7920 (cb_compute_construct_end): Likewise.
7921 (cb_enqueue_launch_start): Likewise.
7922 (cb_enqueue_launch_end): Likewise.
7923 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
7924 (main): Likewise.
7925
b3b75e66
TS
79262020-01-10 Thomas Schwinge <thomas@codesourcery.com>
7927
6fc0385c
TS
7928 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
7929 to use this instead of 'enum gomp_device_property'.
7930 (GOMP_OFFLOAD_get_property): Rename to...
7931 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
7932 * libgomp.h (struct gomp_device_descr): Move
7933 'GOMP_OFFLOAD_openacc_get_property'...
7934 (struct acc_dispatch_t): ... here. Adjust all users.
7935 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
7936
b3b75e66
TS
7937 * target.c (gomp_map_vars_internal)
7938 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
7939 paths.
7940
91df4397
JJ
79412020-01-10 Jakub Jelinek <jakub@redhat.com>
7942
7943 PR libgomp/93219
7944 * libgomp.h (gomp_print_string): Change return type from void to int.
7945 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
7946 not all characters have been written.
7947
df2c0d36
TB
79482020-01-08 Tobias Burnus <tobias@codesourcery.com>
7949
7950 * libgomp.texi: Fix typos, use https.
7951
f760c0c7
TB
79522020-01-03 Tobias Burnus <tobias@codesourcery.com>
7953
7954 * testsuite/libgomp.fortran/optional-map.f90: Add test for
7955 unallocated/disassociated actual arguments to nonallocatable/nonpointer
7956 dummy arguments; those are/shall be regarded as absent arguments.
7957 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
7958 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
7959
7e7065b9
JJ
79602020-01-01 Jakub Jelinek <jakub@redhat.com>
7961
8d9254fc
JJ
7962 Update copyright years.
7963
7e7065b9
JJ
7964 * libgomp.texi: Bump @copying's copyright year.
7965
2c829799
AM
79662019-12-31 Ayush Mittal <ayush.m@samsung.com>
7967
7968 PR libgomp/93065
7969 * oacc-init.c (goacc_runtime_deinitialize): New function.
7970
e9dcb75e
JJ
79712019-12-28 Jakub Jelinek <jakub@redhat.com>
7972
7973 PR bootstrap/93074
7974 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
7975 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
7976
6c84c8bf
MR
79772019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
7978 Frederik Harwath <frederik@codesourcery.com>
7979 Thomas Schwinge <tschwinge@codesourcery.com>
7980
7981 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
7982 * libgomp-plugin.h (gomp_device_property_value): New union.
7983 (gomp_device_property_value): New prototype.
7984 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
7985 constant.
7986 (acc_device_property_t): New enum.
7987 (acc_get_property, acc_get_property_string): New prototypes.
7988 * oacc-init.c (acc_get_device_type): Also assert that result
7989 is not `acc_device_current'.
7990 (get_property_any, acc_get_property, acc_get_property_string):
7991 New functions.
7992 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
7993 `acc_property_memory', `acc_property_free_memory',
7994 `acc_property_name', `acc_property_vendor' and
7995 `acc_property_driver' constants. Add `acc_device_property' data
7996 type.
7997 (openacc_internal): Add `acc_get_property' and
7998 `acc_get_property_string' interfaces. Add `acc_get_property_h',
7999 `acc_get_property_string_h', `acc_get_property_l' and
8000 `acc_get_property_string_l'.
8001 * oacc-host.c (host_get_property): New function.
8002 (host_dispatch): Wire it.
8003 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8004 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8005 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8006 * libgomp.texi (OpenACC Runtime Library Routines): Add
8007 `acc_get_property'.
8008 (acc_get_property): New node.
8009 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8010 function (stub).
8011 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8012 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8013 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8014 calls.
8015 (GOMP_OFFLOAD_get_property): New function.
8016 (struct ptx_device): Add new field "name".
8017 (cuda_driver_version_s): Add new static variable ...
8018 (nvptx_init): ... and init from here.
8019
8020 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8021 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8022 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8023 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8024 with test helper functions.
8025
8026 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8027
c8e759b4
MR
80282019-12-22 Maciej W. Rozycki <macro@wdc.com>
8029
8030 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8031 variable.
8032
b092fb3b
TS
80332019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8034
8035 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8036 link' handling.
8037
9be3ac5d
JB
80382019-12-19 Julian Brown <julian@codesourcery.com>
8039
8040 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8041 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8042 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8043
02817027
JB
80442019-12-19 Julian Brown <julian@codesourcery.com>
8045 Cesar Philippidis <cesar@codesourcery.com>
8046
8047 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8048 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8049 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8050 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8051 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8052 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8053 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8054 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8055 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8056 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8057 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8058 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8059 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8060
c2eb021f
JB
80612019-12-19 Julian Brown <julian@codesourcery.com>
8062
8063 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8064 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8065 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8066 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8067 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8068 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8069 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8070 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8071 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8072 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8073 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8074 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8075
8e7e71ff
JB
80762019-12-19 Julian Brown <julian@codesourcery.com>
8077
8078 * libgomp.h (struct target_var_desc): Add do_detach flag.
8079 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8080 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8081 struct components. Tidy up and add some new checks.
8082 (goacc_enter_data_internal): Update call to find_group_last.
8083 (goacc_exit_data_internal): Support detach operations and
8084 GOMP_MAP_STRUCT.
8085 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8086 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8087 attach/detach in enter/exit data detection code.
8088 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8089 tgt_var_desc.
8090 (gomp_map_vars_internal): Support attach.
8091 (gomp_unmap_vars_internal): Support detach.
8092
5d5be7bf
JB
80932019-12-19 Julian Brown <julian@codesourcery.com>
8094 Thomas Schwinge <thomas@codesourcery.com>
8095
8096 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8097 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8098 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8099 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8100 acc_detach_finalize_async.
8101 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8102 acc_detach, acc_detach_async, acc_detach_finalize,
8103 acc_detach_finalize_async): New functions.
8104 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8105 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8106 prototypes.
8107 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8108 (gomp_remove_var_internal): Free attachment counts if present.
8109 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8110 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8111
5bcd470b
JB
81122019-12-19 Julian Brown <julian@codesourcery.com>
8113 Cesar Philippidis <cesar@codesourcery.com>
8114
8115 * libgomp.h (gomp_map_val): Add prototype.
8116 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8117 open-coding device-address calculation.
8118 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8119 non-present case.
8120
378da98f
JB
81212019-12-19 Julian Brown <julian@codesourcery.com>
8122
8123 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8124 field for virtual_refcount.
8125 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8126 (gomp_free_memmap): Remove prototype.
8127 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8128 instead of calling gomp_free_memmap.
8129 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8130 dynamic_refcount.
8131 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8132 to_free field to NULL then calling gomp_unmap_vars. Handle
8133 REFCOUNT_INFINITY on target blocks.
8134 (goacc_enter_data): Rename to...
8135 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8136 handling for mapping groups. Use virtual_refcount instead of
8137 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8138 map_map_vars_async call. Re-do lookup for target pointer return value.
8139 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8140 renamed goacc_enter_datum function.
8141 (goacc_exit_data): Rename to...
8142 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8143 (acc_delete, acc_delete_async, acc_delete_finalize,
8144 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8145 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8146 goacc_exit_datum function.
8147 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8148 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8149 New functions.
8150 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8151 goacc_exit_data_internal helper functions.
8152 * target.c (gomp_map_vars_internal): Handle
8153 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8154 semantics.
8155 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8156 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8157 virtual_refcount field instead of dynamic_refcount.
8158 (gomp_free_memmap): Remove function.
8159 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8160 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8161 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8162
2a656a93
JB
81632019-12-19 Julian Brown <julian@codesourcery.com>
8164 Thomas Schwinge <thomas@codesourcery.com>
8165
8166 * libgomp.h (struct splay_tree_aux): New.
8167 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8168 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8169 to aux struct.
8170 (gomp_remove_var_internal): Free aux block if present.
8171 (gomp_load_image_to_device): Zero-initialise aux field instead of
8172 link_key field.
8173 (omp_target_associate_pointer): Zero-initialise aux field.
8174
601399c0
JJ
81752019-12-18 Jakub Jelinek <jakub@redhat.com>
8176
8177 PR middle-end/86416
8178 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8179 q or none.
8180 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8181 L or none.
8182
a6163563
JB
81832019-12-19 Julian Brown <julian@codesourcery.com>
8184 Maciej W. Rozycki <macro@codesourcery.com>
8185 Tobias Burnus <tobias@codesourcery.com>
8186 Thomas Schwinge <thomas@codesourcery.com>
8187
8188 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8189 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8190 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8191 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8192 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8193 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8194 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8195 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8196 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8197
6278b549
TS
81982019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8199
77ce5555
TS
8200 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8201 called...
8202 (goacc_insert_pointer): ... from here, "present" case.
8203 (goacc_insert_pointer): Inline function into...
8204 (GOACC_enter_exit_data): ... here, and simplify.
8205
9444a299
TS
8206 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8207 called...
8208 (goacc_insert_pointer): ... from here, "not present" case.
8209
5031b619
TS
8210 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8211 all users.
8212
1a79b578
TS
8213 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8214 'goacc_enter_data', 'goacc_exit_data'.
8215
34cfe31e
TS
8216 * oacc-mem.c (delete_copyout): Refactor into...
8217 (goacc_exit_data): ... this. Adjust all users.
8218
aaf0e9d7
TS
8219 * oacc-mem.c (present_create_copy): Refactor into...
8220 (goacc_enter_data): ... this. Adjust all users.
8221
83d1d065
TS
8222 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8223 'gomp_remove_var'.
8224
cc3f11f5
TS
8225 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8226 like 'GOMP_MAP_FROM'.
8227
ddb25eb9
TS
8228 PR libgomp/92726
8229 PR libgomp/92970
8230 PR libgomp/92984
8231 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8232 fails.
8233 (GOACC_enter_exit_data): Simplify accordingly.
8234 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8235 subsuming...
8236 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8237 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8238 file.
8239 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8240 subsuming...
8241 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8242 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8243 file.
8244 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8245 subsuming...
8246 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8247
32128577
TS
8248 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8249 'finalize' handling.
8250
ba40277f
TS
8251 PR libgomp/92848
8252 * oacc-mem.c (acc_map_data, present_create_copy)
8253 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8254 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8255 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8256 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8257 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8258 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8259 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8260 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8261 Remove "XFAIL"s.
8262
6278b549
TS
8263 * target.c (gomp_unmap_tgt): Make it 'static'.
8264 * libgomp.h (gomp_unmap_tgt): Remove.
8265
c80c9e26
TB
82662019-12-18 Tobias Burnus <tobias@codesourcery.com>
8267
8268 PR middle-end/86416
8269 * testsuite/libgomp.c/pr86416-1.c: New.
8270 * testsuite/libgomp.c/pr86416-2.c: New.
8271
0b8499a4
TB
82722019-12-17 Tobias Burnus <tobias@codesourcery.com>
8273
8274 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8275 all symbols as public except for the 'use …, only' imported symbol,
8276 which is private.
8277 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8278 all symbols from module openacc_kinds as PUBLIC
8279 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8280 fix comment typo.
8281 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8282
1cbd94e8
JB
82832019-12-13 Julian Brown <julian@codesourcery.com>
8284
8285 PR libgomp/92881
8286
8287 * libgomp.h (gomp_remove_var_async): Add prototype.
8288 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8289 gomp_remove_var.
8290 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8291 whether target_mem_desc was unmapped.
8292 (gomp_unref_tgt_void): New.
8293 (gomp_remove_var): Reimplement in terms of...
8294 (gomp_remove_var_internal): ...this new helper function.
8295 (gomp_remove_var_async): New, implemented using above helper function.
8296 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8297 gomp_unref_tgt.
8298
26b74ed0
AS
82992019-12-13 Andrew Stubbs <ams@codesourcery.com>
8300
8301 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8302 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8303 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8304 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8305 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8306 Likewise.
8307 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8308 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8309
7858bb96
TB
83102019-12-13 Tobias Burnus <tobias@codesourcery.com>
8311
8312 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8313 as public except for the 'use …, only' imported symbol, which is
8314 private.
8315 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8316 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8317 attributes for acc_copyout_finalize and acc_delete_finalize.
8318
f8ac7d8f
JJ
83192019-12-11 Jakub Jelinek <jakub@redhat.com>
8320
8321 PR fortran/92899
8322 * testsuite/libgomp.fortran/atomic1.f90: New test.
8323
3d1b5e71
TS
83242019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8325
d6e8c01c
TS
8326 PR libgomp/92843
8327 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8328 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8329 assertions.
8330 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8331 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8332 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8333 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8334 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8335
57963e39
TS
8336 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8337 * oacc-mem.c: ... here.
8338 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8339 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8340 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8341 Remove.
8342 * libgomp_g.h: Update.
8343
c5578b56
TS
8344 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8345 * oacc-async.c: ... here.
8346 * oacc-int.h (goacc_wait): Declare.
8347 * libgomp_g.h: Update
8348
3d1b5e71
TS
8349 PR libgomp/92854
8350 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8351 New file.
8352 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8353 Likewise.
8354 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8355 Likewise.
8356 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8357 Likewise.
8358 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8359 Likewise.
8360 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8361 Likewise.
8362
5e939438
TS
83632019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8364 Julian Brown <julian@codesourcery.com>
8365
8366 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8367 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8368
93d90219
TB
83692019-12-11 Tobias Burnus <tobias@codesourcery.com>
8370
8371 * omp_lib.h.in: Fix spelling of function declaration
8372 omp_get_cancell(l)ation.
8373 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8374 Fix typos.
8375 * env.c: Fix comment typos.
8376 * oacc-host.c: Likewise.
8377 * ordered.c: Likewise.
8378 * task.c: Likewise.
8379 * team.c: Likewise.
8380 * config/gcn/task.c: Likewise.
8381 * config/gcn/team.c: Likewise.
8382 * config/nvptx/task.c: Likewise.
8383 * config/nvptx/team.c: Likewise.
8384 * plugin/plugin-gcn.c: Likewise.
8385 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8386 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8387 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8388
a0221aee
TB
83892019-12-11 Tobias Burnus <tobias@codesourcery.com>
8390
8391 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8392 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8393 unnecessary 'dg-additional-options "-w"'.
8394
47afc7b4
TS
83952019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8396 Julian Brown <julian@codesourcery.com>
8397
8398 PR libgomp/92116
8399 PR libgomp/92877
8400
8401 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8402 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8403 Adjust all users.
8404 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8405 Remove XFAIL.
8406 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8407 Likewise.
8408 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8409
b5859e40
TS
84102019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8411
cec41816
TS
8412 PR libgomp/92503
8413 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8414 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8415 file.
8416 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8417 Likewise.
8418 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8419 Likewise.
8420 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8421 Likewise.
8422 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8423 Likewise.
8424 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8425 Likewise.
8426 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8427 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8428 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8429 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8430 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8431 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8432 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8433 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8434 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8435 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8436
e103542b
TS
8437 PR libgomp/92840
8438 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8439 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8440 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8441 New file.
8442 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8443 Likewise.
8444 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8445 Likewise.
8446 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8447 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8448
41f36f22
TS
8449 PR libgomp/92511
8450 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8451 this file...
8452 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8453 this file...
8454 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8455 file...
8456 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8457 file...
8458 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8459 ... with their content moved into, and extended in this new file.
8460 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8461 New file.
8462 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8463 Likewise.
8464 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8465 Likewise.
8466 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8467 Likewise.
8468
6effebe1
TS
8469 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8470
7d020473
TS
8471 PR libgomp/92854
8472 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8473
1e1fb715
TS
8474 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8475
b5859e40
TS
8476 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8477
11586ed9
TB
84782019-12-09 Tobias Burnus <tobias@codesourcery.com>
8479
8480 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8481 unique.
8482 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8483 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8484 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8485 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8486 Ditto.
8487 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8488 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8489
3ad4a03a
KCY
84902019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8491
8492 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8493
6e4d01d6
TB
84942019-12-06 Tobias Burnus <tobias@codesourcery.com>
8495 Kwok Cheung Yeung <kcy@codesourcery.com>
8496
8497 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8498 if input it a NULL pointer.
8499 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8500 diagnostic of NULL pointer.
8501 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8502 * testsuite/libgomp.fortran/optional-map.f90: New.
8503 * testsuite/libgomp.fortran/use_device_addr-1.f90
8504 (test_dummy_opt_callee_1_absent): New.
8505 (test_dummy_opt_call_1): Call it.
8506 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8507 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8508 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8509 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8510 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8511 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8512 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8513 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8514 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8515 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8516 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8517 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8518 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8519 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8520 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8521 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8522
ad80ec46
TB
85232019-12-05 Tobias Burnus <tobias@codesourcery.com>
8524
8525 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8526 expect dg-output of 'Error termination.' for GCN.
8527 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8528 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8529
a8a5f4cc
JJ
85302019-12-04 Jakub Jelinek <jakub@redhat.com>
8531
8532 PR fortran/92756
8533 * testsuite/libgomp.fortran/teams1.f90: New test.
8534 * testsuite/libgomp.fortran/teams2.f90: New test.
8535
d8f0024b
FH
85362019-12-03 Frederik Harwath <frederik@codesourcery.com>
8537
8538 * oacc-init.c (acc_known_device_type): Add function.
8539 (unknown_device_type_error): Add function.
8540 (name_of_acc_device_t): Change to call unknown_device_type_error
8541 on unknown type.
8542 (resolve_device): Use acc_known_device_type.
8543 (acc_init): Fail if acc_device_t argument is not valid.
8544 (acc_shutdown): Likewise.
8545 (acc_get_num_devices): Likewise.
8546 (acc_set_device_type): Likewise.
8547 (acc_get_device_num): Likewise.
8548 (acc_set_device_num): Likewise.
8549 (acc_on_device): Add comment that argument validity is not checked.
8550
83caa34e
AS
85512019-12-03 Andrew Stubbs <ams@codesourcery.com>
8552
8553 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8554 Recognize amdgcn.
8555 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8556 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8557 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8558 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8559 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8560
00484365
SN
85612019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8562
8563 PR libgomp/91938
8564 * configure.tgt: Avoid IE tls on *-*-musl*.
8565
9909a059
TB
85662019-11-29 Tobias Burnus <tobias@codesourcery.com>
8567
8568 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8569 adding a common-block test case.
8570
b3f44388
JJ
85712019-11-29 Jakub Jelinek <jakub@redhat.com>
8572
8573 PR c++/60228
8574 * testsuite/libgomp.c++/udr-20.C: New test.
8575 * testsuite/libgomp.c++/udr-21.C: New test.
8576
b1a73b48
TS
85772019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8578
8579 * testsuite/lib/libgomp.exp
8580 (check_effective_target_offload_target_nvptx): New proc.
8581 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8582 'dg-skip-if'.
8583 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8584 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8585 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8586
b8e72446
RO
85872019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8588
8589 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8590 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8591 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8592 * testsuite/libgomp.c/private-1.c: Likewise.
8593 * testsuite/libgomp.c/task-1.c: Likewise.
8594 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8595
d88b27da
JB
85962019-11-20 Julian Brown <julian@codesourcery.com>
8597
8598 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8599 aq->mutex here.
8600 (queue_push_launch): Lock aq->mutex before calling
8601 wait_for_queue_nonfull.
8602 (queue_push_callback): Likewise.
8603 (queue_push_asyncwait): Likewise.
8604 (queue_push_placeholder): Likewise.
8605
8d2f4ddf
JB
86062019-11-20 Julian Brown <julian@codesourcery.com>
8607
8608 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8609 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8610 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8611 return code.
8612
e307b05f
JB
86132019-11-20 Julian Brown <julian@codesourcery.com>
8614
8615 PR libgomp/92511
8616
8617 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8618 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8619 in non-present/create case.
8620 (delete_copyout): Change error condition to fail only on copies outside
8621 of mapped block. Adjust error message accordingly.
8622 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8623 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8624 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8625 message.
8626 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8627 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8628 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8629
83115e9e
MR
86302019-11-20 Maciej W. Rozycki <macro@wdc.com>
8631
8632 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8633 libatomic in build-tree testing.
8634
a1289887
MR
86352019-11-18 Maciej W. Rozycki <macro@wdc.com>
8636
8637 * testsuite/Makefile.in: Regenerate.
8638
8916ba87
AS
86392019-11-15 Andrew Stubbs <ams@codesourcery.com>
8640
8641 * testsuite/libgomp.c/target-print-1.c: New file.
8642 * testsuite/libgomp.fortran/target-print-1.f90: New file.
8643 * testsuite/libgomp.oacc-c/print-1.c: New file.
8644 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8645
237957cc
AS
86462019-11-13 Andrew Stubbs <ams@codesourcery.com>
8647 Kwok Cheung Yeung <kcy@codesourcery.com>
8648 Julian Brown <julian@codesourcery.com>
8649 Tom de Vries <tom@codesourcery.com>
8650
8651 * plugin/Makefrag.am: Add amdgcn plugin support.
8652 * plugin/configfrag.ac: Likewise.
8653 * plugin/plugin-gcn.c: New file.
8654 * configure: Regenerate.
8655 * Makefile.in: Regenerate.
8656 * testsuite/Makefile.in: Regenerate.
8657
cee16451
AS
86582019-11-13 Andrew Stubbs <ams@codesourcery.com>
8659
8660 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8661 and use team_malloc variants.
8662 (gomp_gcn_exit_kernel): Use team_free.
8663 * libgomp.h (TEAM_ARENA_SIZE): Define.
8664 (TEAM_ARENA_START): Define.
8665 (TEAM_ARENA_FREE): Define.
8666 (TEAM_ARENA_END): Define.
8667 (team_malloc): New function.
8668 (team_malloc_cleared): New function.
8669 (team_free): New function.
8670 * team.c (gomp_new_team): Initialize and use team_malloc.
8671 (free_team): Use team_free.
8672 (gomp_free_thread): Use team_free.
8673 (gomp_pause_host): Use team_free.
8674 * work.c (gomp_init_work_share): Use team_malloc.
8675 (gomp_fini_work_share): Use team_free.
8676
fa499995
AS
86772019-11-13 Andrew Stubbs <ams@codesourcery.com>
8678 Kwok Cheung Yeung <kcy@codesourcery.com>
8679 Julian Brown <julian@codesourcery.com>
8680 Tom de Vries <tom@codesourcery.com>
8681
8682 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8683 * Makefile.in: Regenerate.
8684 * config.h.in (PLUGIN_GCN): Add new undef.
8685 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8686 * config/gcn/affinity-fmt.c: New file.
8687 * config/gcn/bar.c: New file.
8688 * config/gcn/bar.h: New file.
8689 * config/gcn/doacross.h: New file.
8690 * config/gcn/icv-device.c: New file.
8691 * config/gcn/oacc-target.c: New file.
8692 * config/gcn/simple-bar.h: New file.
8693 * config/gcn/target.c: New file.
8694 * config/gcn/task.c: New file.
8695 * config/gcn/team.c: New file.
8696 * config/gcn/time.c: New file.
8697 * configure.ac: Add amdgcn*-*-*.
8698 * configure: Regenerate.
8699 * configure.tgt: Add amdgcn*-*-*.
8700 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8701 * libgomp.h (gcn_thrs): Add amdgcn variant.
8702 (set_gcn_thrs): Likewise.
8703 (gomp_thread): Likewise.
8704 * oacc-int.h (goacc_thread): Likewise.
8705 * oacc-target.c: New file.
8706 * openacc.f90 (acc_device_gcn): New parameter.
8707 * openacc.h (acc_device_t): Add acc_device_gcn.
8708 * team.c (gomp_free_pool_helper): Add amdgcn support.
8709
d2903ce0
AS
87102019-11-13 Andrew Stubbs <ams@codesourcery.com>
8711 Julian Brown <julian@codesourcery.com>
8712
8713 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8714 parameter.
8715 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8716 queue constructor.
8717 * oacc-host.c (host_openacc_async_construct): Add device parameter.
8718 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8719 device parameter.
8720
b3d14b3a
AS
87212019-11-13 Andrew Stubbs <ams@codesourcery.com>
8722
8723 * configure.tgt (nvptx*-*-*): Add "accel" directory.
8724 * config/nvptx/libgomp-plugin.c: Move ...
8725 * config/accel/libgomp-plugin.c: ... to here.
8726 * config/nvptx/lock.c: Move ...
8727 * config/accel/lock.c: ... to here.
8728 * config/nvptx/mutex.c: Move ...
8729 * config/accel/mutex.c: ... to here.
8730 * config/nvptx/mutex.h: Move ...
8731 * config/accel/mutex.h: ... to here.
8732 * config/nvptx/oacc-async.c: Move ...
8733 * config/accel/oacc-async.c: ... to here.
8734 * config/nvptx/oacc-cuda.c: Move ...
8735 * config/accel/oacc-cuda.c: ... to here.
8736 * config/nvptx/oacc-host.c: Move ...
8737 * config/accel/oacc-host.c: ... to here.
8738 * config/nvptx/oacc-init.c: Move ...
8739 * config/accel/oacc-init.c: ... to here.
8740 * config/nvptx/oacc-mem.c: Move ...
8741 * config/accel/oacc-mem.c: ... to here.
8742 * config/nvptx/oacc-plugin.c: Move ...
8743 * config/accel/oacc-plugin.c: ... to here.
8744 * config/nvptx/omp-lock.h: Move ...
8745 * config/accel/omp-lock.h: ... to here.
8746 * config/nvptx/openacc.f90: Move ...
8747 * config/accel/openacc.f90: ... to here.
8748 * config/nvptx/pool.h: Move ...
8749 * config/accel/pool.h: ... to here.
8750 * config/nvptx/proc.c: Move ...
8751 * config/accel/proc.c: ... to here.
8752 * config/nvptx/ptrlock.c: Move ...
8753 * config/accel/ptrlock.c: ... to here.
8754 * config/nvptx/ptrlock.h: Move ...
8755 * config/accel/ptrlock.h: ... to here.
8756 * config/nvptx/sem.c: Move ...
8757 * config/accel/sem.c: ... to here.
8758 * config/nvptx/sem.h: Move ...
8759 * config/accel/sem.h: ... to here.
8760 * config/nvptx/thread-stacksize.h: Move ...
8761 * config/accel/thread-stacksize.h: ... to here.
8762
62aee289
MR
87632019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
8764 Tobias Burnus <tobias@codesourcery.com>
8765 Frederik Harwath <frederik@codesourcery.com>
8766 Thomas Schwinge <thomas@codesourcery.com>
8767
8768 libgomp/
8769 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8770 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8771 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8772
a2c26c50
TB
87732019-11-11 Tobias Burnus <tobias@codesourcery.com>
8774 Kwok Cheung Yeung <kcy@codesourcery.com>
8775
8776 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8777 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8778
6d4868f3
TS
87792019-11-11 Thomas Schwinge <thomas@codesourcery.com>
8780
bfa1837b
TS
8781 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8782
6d4868f3
TS
8783 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8784 run'.
8785 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8786 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8787
5d183d17
FH
87882019-11-06 Thomas Schwinge <thomas@codesourcery.com>
8789
8790 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8791 Add expected warnings about missing reduction clauses.
8792 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8793 Likewise.
8794 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8795 Likewise.
8796 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
8797 Likewise.
8798
d8f03b03
TB
87992019-11-04 Tobias Burnus <tobias@codesourcery.com>
8800
8801 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
8802 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
8803 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
8804 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8805 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8806 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8807
12fd2ec5
TB
88082019-11-04 Tobias Burnus <tobias@codesourcery.com>
8809
8810 PR fortran/92305
8811 * testsuite/libgomp.fortran/allocatable2.f90: Use
8812 unique numbers with 'stop'.
8813 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8814 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8815 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
8816 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
8817 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
8818
92e63bd2
TB
88192019-11-01 Tobias Burnus <tobias@codesourcery.com>
8820
8821 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
8822 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
8823 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8824 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
8825 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
8826 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
8827
91ae0a46
TB
88282019-10-30 Tobias Burnus <tobias@codesourcery.com>
8829
8830 * testsuite/libgomp.fortran/target9.f90: New.
8831
c425e66b
TB
88322019-10-30 Tobias Burnus <tobias@codesourcery.com>
8833
8834 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
8835 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
8836 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
8837 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
8838 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
8839 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
8840 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
8841 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
8842 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
8843 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
8844 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
8845 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
8846 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
8847 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
8848 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
8849 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
8850 * testsuite/libgomp.fortran/associate1.f90: Ditto.
8851 * testsuite/libgomp.fortran/associate2.f90: Ditto.
8852 * testsuite/libgomp.fortran/associate3.f90: Ditto.
8853 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
8854 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
8855 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
8856 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
8857 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
8858 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
8859 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
8860 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
8861 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
8862 * testsuite/libgomp.fortran/character1.f90: Ditto.
8863 * testsuite/libgomp.fortran/character2.f90: Ditto.
8864 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
8865 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
8866 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
8867 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
8868 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
8869 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
8870 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
8871 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
8872 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
8873 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
8874 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
8875 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
8876 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
8877 * testsuite/libgomp.fortran/do1.f90: Ditto.
8878 * testsuite/libgomp.fortran/do2.f90: Ditto.
8879 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
8880 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
8881 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
8882 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
8883 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
8884 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
8885 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
8886 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
8887 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
8888 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
8889 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
8890 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
8891 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
8892 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
8893 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
8894 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
8895 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
8896 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
8897 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
8898 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
8899 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
8900 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
8901 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
8902 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
8903 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
8904 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
8905 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
8906 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
8907 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
8908 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
8909 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
8910 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
8911 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
8912 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
8913 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
8914 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
8915 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
8916 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
8917 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
8918 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
8919 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
8920 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
8921 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
8922 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
8923 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
8924 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
8925 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
8926 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
8927 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
8928 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
8929 * testsuite/libgomp.fortran/lib1.f90: Ditto.
8930 * testsuite/libgomp.fortran/lib4.f90: Ditto.
8931 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
8932 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
8933 * testsuite/libgomp.fortran/nested1.f90: Ditto.
8934 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
8935 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
8936 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
8937 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8938 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
8939 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
8940 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8941 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
8942 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
8943 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
8944 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
8945 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
8946 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
8947 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
8948 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8949 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
8950 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8951 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
8952 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
8953 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
8954 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
8955 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
8956 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
8957 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
8958 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
8959 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
8960 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
8961 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
8962 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
8963 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
8964 * testsuite/libgomp.fortran/pr28390.f: Ditto.
8965 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
8966 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8967 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
8968 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
8969 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
8970 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
8971 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
8972 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
8973 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
8974 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
8975 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
8976 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
8977 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
8978 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
8979 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
8980 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
8981 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
8982 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
8983 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
8984 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
8985 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
8986 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
8987 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
8988 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
8989 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
8990 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
8991 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
8992 * testsuite/libgomp.fortran/reference1.f90: Ditto.
8993 * testsuite/libgomp.fortran/reference2.f90: Ditto.
8994 * testsuite/libgomp.fortran/retval1.f90: Ditto.
8995 * testsuite/libgomp.fortran/retval2.f90: Ditto.
8996 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
8997 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
8998 * testsuite/libgomp.fortran/simd1.f90: Ditto.
8999 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9000 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9001 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9002 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9003 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9004 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9005 * testsuite/libgomp.fortran/stack.f90: Ditto.
9006 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9007 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9008 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9009 * testsuite/libgomp.fortran/target1.f90: Ditto.
9010 * testsuite/libgomp.fortran/target2.f90: Ditto.
9011 * testsuite/libgomp.fortran/target3.f90: Ditto.
9012 * testsuite/libgomp.fortran/target4.f90: Ditto.
9013 * testsuite/libgomp.fortran/target5.f90: Ditto.
9014 * testsuite/libgomp.fortran/target6.f90: Ditto.
9015 * testsuite/libgomp.fortran/target7.f90: Ditto.
9016 * testsuite/libgomp.fortran/target8.f90: Ditto.
9017 * testsuite/libgomp.fortran/task1.f90: Ditto.
9018 * testsuite/libgomp.fortran/task2.f90: Ditto.
9019 * testsuite/libgomp.fortran/task3.f90: Ditto.
9020 * testsuite/libgomp.fortran/task4.f90: Ditto.
9021 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9022 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9023 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9024 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9025 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9026 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9027 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9028 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9029 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9030 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9031 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9032 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9033 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9034 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9035 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9036 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9037 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9038 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9039 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9040 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9041 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9042 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9043 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9044 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9045 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9046 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9047 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9048 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9049 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9050 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9051 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9052 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9053 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9054 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9055
01509e2f
TB
90562019-10-30 Tobias Burnus <tobias@codesourcery.com>
9057
9058 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9059 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9060 Ditto; add 'dg-do run' for torture testing.
9061 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9062 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9063 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9064 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9065 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9066 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9067 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9068 * testsuite/libgomp.fortran/task2.f90: Ditto.
9069 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9070 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9071 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9072 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9073 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9074 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9075
ffbdd78a
TB
90762019-10-28 Tobias Burnus <tobias@codesourcery.com>
9077
9078 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9079 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9080 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9081 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9082 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9083 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9084 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9085 Use 'stop' not abort().
9086 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9087 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9088 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9089 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9090 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9091 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9092 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9093 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9094 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9095 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9096 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9097 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9098 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9099 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9100 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9101 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9102 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9103 Ditto.
9104 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9105 Ditto.
9106 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9107 Ditto.
9108 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9109 Ditto.
9110 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9111 Ditto.
9112 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9113 Ditto.
9114 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9115 Ditto.
9116 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9117 Ditto.
9118 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9119 Ditto.
9120 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9121 Ditto.
9122 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9123 Ditto.
9124 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9125 Ditto.
9126 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9127 Ditto.
9128 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9129 Ditto.
9130 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9131 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9132 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9133 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9134 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9135 Likewise and also add 'dg-do run'.
9136 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9137 Ditto.
9138
ec084613
CP
91392019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9140 Tobias Burnus <tobias@codesourcery.com>
9141
9142 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9143 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9144 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9145
77ef3394
JJ
91462019-10-14 Jakub Jelinek <jakub@redhat.com>
9147
9148 PR libgomp/92081
9149 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9150 than 0.
9151
08c14aaa
TB
91522019-10-11 Tobias Burnus <tobias@codesourcery.com>
9153
9154 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9155 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9156
6bbead0c
TS
91572019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9158
9159 PR middle-end/92036
9160 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9161 file.
9162
eba3dee8
TB
91632019-10-09 Tobias Burnus <tobias@codesourcery.com>
9164
9165 PR testsuite/91884
9166 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9167 add -lquadmath.
9168 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9169
7d48e14f
JJ
91702019-10-09 Jakub Jelinek <jakub@redhat.com>
9171
9172 PR libgomp/92028
9173 * target.c (gomp_map_vars_internal): Readd the previous
9174 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9175 though do that just in the !not_found_cnt case.
9176
65b67cf3
TB
91772019-10-08 Tobias Burnus <tobias@codesourcery.com>
9178
9179 * gfortran.dg/gomp/target-simd.f90: New.
9180
6c7e076b
JB
91812019-10-02 Julian Brown <julian@codesourcery.com>
9182 Cesar Philippidis <cesar@codesourcery.com>
9183
9184 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9185 * target.c (FIELD_TGT_EMPTY): Define.
9186 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9187 as switch instead of list of ifs.
9188 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9189
d61bff85
AT
91902019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9191
9192 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9193 include. Replace alloca () with __builtin_alloca ().
9194 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9195
810f316d
JJ
91962019-10-01 Jakub Jelinek <jakub@redhat.com>
9197
9198 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9199 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9200 * oacc-parallel.c: Don't include "libgomp_g.h".
9201 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9202 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9203 * aclocal.m4: Regenerated.
9204 * config.h.in: Regenerated.
9205 * configure: Regenerated.
9206 * Makefile.in: Regenerated.
9207
d7f9ee98
KCY
92082019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9209
9210 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9211
e9085da5
MR
92122019-09-27 Maciej W. Rozycki <macro@wdc.com>
9213
9214 * configure: Regenerate.
9215
c28712be
TB
92162019-09-13 Tobias Burnus <tobias@codesourcery.com>
9217
9218 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9219 string is initialized.
9220
3c086f8d
FW
92212019-09-06 Florian Weimer <fweimer@redhat.com>
9222
9223 * configure: Regenerate.
9224
c6c2d1bc
CLT
92252019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9226
9227 PR other/79543
9228 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9229 scanning to conform to the GNU Coding Standards.
9230 * configure: Regenerate.
9231
5cb72d83
JJ
92322019-08-28 Jakub Jelinek <jakub@redhat.com>
9233
9234 PR libgomp/91530
9235 * testsuite/libgomp.c/scan-21.c: New test.
9236 * testsuite/libgomp.c/scan-22.c: New test.
9237
0ad7981c
JJ
92382019-08-27 Jakub Jelinek <jakub@redhat.com>
9239
9240 PR libgomp/91530
9241 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9242 targets.
9243 * testsuite/libgomp.c/scan-12.c: Likewise.
9244 * testsuite/libgomp.c/scan-13.c: Likewise.
9245 * testsuite/libgomp.c/scan-14.c: Likewise.
9246 * testsuite/libgomp.c/scan-15.c: Likewise.
9247 * testsuite/libgomp.c/scan-16.c: Likewise.
9248 * testsuite/libgomp.c/scan-17.c: Likewise.
9249 * testsuite/libgomp.c/scan-18.c: Likewise.
9250 * testsuite/libgomp.c/scan-19.c: Likewise.
9251 * testsuite/libgomp.c/scan-20.c: Likewise.
9252 * testsuite/libgomp.c++/scan-9.C: Likewise.
9253 * testsuite/libgomp.c++/scan-10.C: Likewise.
9254 * testsuite/libgomp.c++/scan-11.C: Likewise.
9255 * testsuite/libgomp.c++/scan-12.C: Likewise.
9256 * testsuite/libgomp.c++/scan-14.C: Likewise.
9257 * testsuite/libgomp.c++/scan-15.C: Likewise.
9258 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9259 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9260 * testsuite/libgomp.c++/scan-16.C: Likewise.
9261
1e67491a
TK
92622019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9263
9264 PR fortran/91473
9265 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9266 -std=legacy so invalid code in the test case is accepted.
9267
393fdeb1
TK
92682019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9269
9270 PR fortran/91422
9271 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9272 dimension.
9273
8860d270
JJ
92742019-08-08 Jakub Jelinek <jakub@redhat.com>
9275
9276 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9277 perform the lookup in the first loop only if !not_found_cnt, otherwise
9278 perform lookups for it in the second loop guarded with
9279 if (not_found_cnt || has_firstprivate).
9280 * testsuite/libgomp.c/target-37.c: New test.
9281 * testsuite/libgomp.c++/target-22.C: New test.
9282
398e3feb
JJ
92832019-08-07 Jakub Jelinek <jakub@redhat.com>
9284
9285 * testsuite/libgomp.c/target-18.c (struct S): New type.
9286 (foo): Use use_device_addr clause instead of use_device_ptr clause
9287 where required by OpenMP 5.0, add further tests for both use_device_ptr
9288 and use_device_addr clauses.
9289 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9290 (foo): Use use_device_addr clause instead of use_device_ptr clause
9291 where required by OpenMP 5.0, add further tests for both use_device_ptr
9292 and use_device_addr clauses. Add t and u arguments.
9293 (main): Adjust caller.
9294
d81ab49d
JJ
92952019-08-06 Jakub Jelinek <jakub@redhat.com>
9296
9297 * testsuite/libgomp.c++/loop-13.C: New test.
9298 * testsuite/libgomp.c++/loop-14.C: New test.
9299 * testsuite/libgomp.c++/loop-15.C: New test.
9300
c3ac76aa
JJ
93012019-07-31 Jakub Jelinek <jakub@redhat.com>
9302
9303 PR middle-end/91301
9304 * testsuite/libgomp.c++/for-27.C: New test.
9305
8dc63166
SK
93062019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9307
393fdeb1 9308 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 9309 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 9310
554a530f
JJ
93112019-07-20 Jakub Jelinek <jakub@redhat.com>
9312
9313 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9314
6cda84b5
JJ
93152019-07-08 Jakub Jelinek <jakub@redhat.com>
9316
9317 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9318 * testsuite/libgomp.c++/scan-16.C: Likewise.
9319
1f52d1a8
JJ
93202019-07-06 Jakub Jelinek <jakub@redhat.com>
9321
6f67abcd
JJ
9322 * testsuite/libgomp.c/scan-19.c: New test.
9323 * testsuite/libgomp.c/scan-20.c: New test.
9324
1f52d1a8
JJ
9325 * testsuite/libgomp.c/scan-11.c: New test.
9326 * testsuite/libgomp.c/scan-12.c: New test.
9327 * testsuite/libgomp.c/scan-13.c: New test.
9328 * testsuite/libgomp.c/scan-14.c: New test.
9329 * testsuite/libgomp.c/scan-15.c: New test.
9330 * testsuite/libgomp.c/scan-16.c: New test.
9331 * testsuite/libgomp.c/scan-17.c: New test.
9332 * testsuite/libgomp.c/scan-18.c: New test.
9333 * testsuite/libgomp.c++/scan-9.C: New test.
9334 * testsuite/libgomp.c++/scan-10.C: New test.
9335 * testsuite/libgomp.c++/scan-11.C: New test.
9336 * testsuite/libgomp.c++/scan-12.C: New test.
9337 * testsuite/libgomp.c++/scan-13.C: New test.
9338 * testsuite/libgomp.c++/scan-14.C: New test.
9339 * testsuite/libgomp.c++/scan-15.C: New test.
9340 * testsuite/libgomp.c++/scan-16.C: New test.
9341
2f03073f
JJ
93422019-07-04 Jakub Jelinek <jakub@redhat.com>
9343
9344 * testsuite/libgomp.c/scan-9.c: New test.
9345 * testsuite/libgomp.c/scan-10.c: New test.
9346
2f6bb511
JJ
93472019-07-03 Jakub Jelinek <jakub@redhat.com>
9348
9349 * testsuite/libgomp.c++/scan-1.C: New test.
9350 * testsuite/libgomp.c++/scan-2.C: New test.
9351 * testsuite/libgomp.c++/scan-3.C: New test.
9352 * testsuite/libgomp.c++/scan-4.C: New test.
9353 * testsuite/libgomp.c++/scan-5.C: New test.
9354 * testsuite/libgomp.c++/scan-6.C: New test.
9355 * testsuite/libgomp.c++/scan-7.C: New test.
9356 * testsuite/libgomp.c++/scan-8.C: New test.
9357 * testsuite/libgomp.c/scan-1.c: New test.
9358 * testsuite/libgomp.c/scan-2.c: New test.
9359 * testsuite/libgomp.c/scan-3.c: New test.
9360 * testsuite/libgomp.c/scan-4.c: New test.
9361 * testsuite/libgomp.c/scan-5.c: New test.
9362 * testsuite/libgomp.c/scan-6.c: New test.
9363 * testsuite/libgomp.c/scan-7.c: New test.
9364 * testsuite/libgomp.c/scan-8.c: New test.
9365
bd194a51
TS
93662019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9367
85fca03a
TS
9368 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9369 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9370 Likewise.
9371
bd194a51
TS
9372 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9373 check.
9374
6652161e
CP
93752019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9376
9377 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9378 file.
9379
3a37d6f6
TS
93802019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9381
4017da8d
TS
9382 PR fortran/90743
9383 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9384 case.
9385 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9386 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9387 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9388 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9389
6f7c1f65
TS
9390 PR testsuite/90861
9391 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9392
3a37d6f6
TS
9393 PR middle-end/90862
9394 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9395
f45ce17d
TV
93962019-06-16 Tom de Vries <tdevries@suse.de>
9397
9398 PR tree-optimization/89376
9399 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9400
00908992
TV
94012019-06-15 Tom de Vries <tdevries@suse.de>
9402
9403 PR tree-optimization/89713
9404 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9405 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9406
211b7533
JJ
94072019-06-15 Jakub Jelinek <jakub@redhat.com>
9408
9409 PR middle-end/90779
9410 * testsuite/libgomp.c/pr90779.c: New test.
9411 * testsuite/libgomp.fortran/pr90779.f90: New test.
9412
120a01d1
TV
94132019-06-15 Tom de Vries <tdevries@suse.de>
9414
9415 PR tree-optimization/90009
9416 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9417
c29c92c7
FX
94182019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9419
9420 PR tree-optimization/89713
9421 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9422
ce9c4ec3
JJ
94232019-06-11 Jakub Jelinek <jakub@redhat.com>
9424
9425 PR target/90811
9426 * testsuite/libgomp.c/pr90811.c: New test.
9427
28b3a77c
JJ
94282019-06-05 Jakub Jelinek <jakub@redhat.com>
9429
9430 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9431 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9432
7855700e
JJ
94332019-06-04 Jakub Jelinek <jakub@redhat.com>
9434
9435 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9436 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9437 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9438 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9439
a7155c2e
RO
94402019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9441
9442 * configure.ac: Call AX_COUNT_CPUS.
9443 Substitute CPU_COUNT.
9444 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9445 count fallback.
9446 * aclocal.m4: Regenerate.
9447 * configure: Regenerate.
9448 * Makefile.in, testsuite/Makefile.in: Regenerate.
9449
7e47198b
JJ
94502019-05-29 Jakub Jelinek <jakub@redhat.com>
9451
9452 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9453 to ...
9454 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9455 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9456 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9457
fcfb8032
JJ
94582019-05-27 Jakub Jelinek <jakub@redhat.com>
9459
8e7757ba
JJ
9460 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9461
36c7a3ff
JJ
9462 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9463
fcfb8032
JJ
9464 PR libgomp/90641
9465 * work.c (gomp_init_work_share): Instead of aligning final ordered
9466 value to multiples of long long alignment, align to that the
9467 first part (ordered team ids) and if inline_ordered_team_ids
9468 is not on a long long alignment boundary within the structure,
9469 use __alignof__ (long long) - 1 pad size always.
9470 * loop.c (GOMP_loop_start): Fix *mem computation if
9471 inline_ordered_team_ids is not aligned on long long alignment boundary
9472 within the structure.
9473 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9474 * sections.c (GOMP_sections2_start): Likewise.
9475
b5c26449
JJ
94762019-05-24 Jakub Jelinek <jakub@redhat.com>
9477
6c7ae8c5
JJ
9478 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9479 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9480
b5c26449
JJ
9481 PR libgomp/90585
9482 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9483 HAVE_INTTYPES_H is defined.
9484 (print_uint64_t): New typedef.
9485 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9486 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9487 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9488 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9489 before casting to void *.
9490 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9491 * oacc-mem.c: Don't include config.h nor stdint.h.
9492 * target.c: Don't include config.h.
9493 * oacc-cuda.c: Likewise.
9494 * oacc-host.c: Don't include stdint.h.
9495
3e03ed66
JJ
94962019-05-20 Jakub Jelinek <jakub@redhat.com>
9497
9498 PR libgomp/90527
9499 * alloc.c (_GNU_SOURCE): Define.
9500
5fae049d
TS
95012019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9502
9503 * acc_prof.h: New file.
9504 * oacc-profiling.c: Likewise.
9505 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9506 Add these, respectively.
9507 * Makefile.in: Regenerate.
9508 * env.c (initialize_env): Call goacc_profiling_initialize.
9509 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9510 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9511 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9512 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9513 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9514 acc_prof_register, acc_prof_unregister, and acc_register_library.
9515 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9516 GOMP_PLUGIN_goacc_thread.
9517 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9518 prof_callbacks_enabled members.
9519 (goacc_prof_enabled, goacc_profiling_initialize)
9520 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9521 (goacc_profiling_dispatch): Declare.
9522 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9523 (GOACC_PROFILING_SETUP_P): Define.
9524 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9525 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9526 OpenACC Profiling Interface.
9527 * oacc-cuda.c (acc_get_current_cuda_device)
9528 (acc_get_current_cuda_context, acc_get_cuda_stream)
9529 (acc_set_cuda_stream): Likewise.
9530 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9531 (acc_init, acc_set_device_type, acc_get_device_type)
9532 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9533 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9534 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9535 (acc_unmap_data, present_create_copy, delete_copyout)
9536 (update_dev_host): Likewise.
9537 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9538 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9539 Likewise.
9540 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9541 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9542 Likewise.
9543 * libgomp.texi: Update.
9544 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9545 file.
9546 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9547 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9548 Likewise.
9549 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9550 Likewise.
9551 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9552 Likewise.
9553 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9554 Likewise.
9555
1f4c5b9b
CLT
95562019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9557
9558 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9559 (struct goacc_asyncqueue_list): Likewise.
9560 (goacc_aq): Likewise.
9561 (goacc_aq_list): Likewise.
9562 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9563 (GOMP_OFFLOAD_openacc_async_test): Remove.
9564 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9565 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9566 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9567 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9568 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9569 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9570 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9571 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9572 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9573 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9574 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9575 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9576 (GOMP_OFFLOAD_openacc_async_test): Declare.
9577 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9578 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9579 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9580 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9581 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9582
9583 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9584 (gomp_acc_insert_pointer): Adjust declaration.
9585 (gomp_copy_host2dev): New declaration.
9586 (gomp_copy_dev2host): Likewise.
9587 (gomp_map_vars_async): Likewise.
9588 (gomp_unmap_tgt): Likewise.
9589 (gomp_unmap_vars_async): Likewise.
9590 (gomp_fini_device): Likewise.
9591
9592 * oacc-async.c (get_goacc_thread): New function.
9593 (get_goacc_thread_device): New function.
9594 (lookup_goacc_asyncqueue): New function.
9595 (get_goacc_asyncqueue): New function.
9596 (acc_async_test): Adjust code to use new async design.
9597 (acc_async_test_all): Likewise.
9598 (acc_wait): Likewise.
9599 (acc_wait_async): Likewise.
9600 (acc_wait_all): Likewise.
9601 (acc_wait_all_async): Likewise.
9602 (goacc_async_free): New function.
9603 (goacc_init_asyncqueues): Likewise.
9604 (goacc_fini_asyncqueues): Likewise.
9605 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9606 design.
9607 (acc_set_cuda_stream): Likewise.
9608 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9609 (host_openacc_register_async_cleanup): Remove.
9610 (host_openacc_async_exec): New function.
9611 (host_openacc_async_test): Adjust parameters.
9612 (host_openacc_async_test_all): Remove.
9613 (host_openacc_async_wait): Remove.
9614 (host_openacc_async_wait_async): Remove.
9615 (host_openacc_async_wait_all): Remove.
9616 (host_openacc_async_wait_all_async): Remove.
9617 (host_openacc_async_set_async): Remove.
9618 (host_openacc_async_synchronize): New function.
9619 (host_openacc_async_serialize): New function.
9620 (host_openacc_async_host2dev): New function.
9621 (host_openacc_async_dev2host): New function.
9622 (host_openacc_async_queue_callback): New function.
9623 (host_openacc_async_construct): New function.
9624 (host_openacc_async_destruct): New function.
9625 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 9626 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
9627 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9628 (goacc_attach_host_thread_to_device): Remove old async code usage.
9629 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9630 (goacc_fini_asyncqueues): Likewise.
9631 (goacc_async_copyout_unmap_vars): Likewise.
9632 (goacc_async_free): Likewise.
9633 (get_goacc_asyncqueue): Likewise.
9634 (lookup_goacc_asyncqueue): Likewise.
9635 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9636 design.
9637 (present_create_copy): Adjust code to use new async design.
9638 (delete_copyout): Likewise.
9639 (update_dev_host): Likewise.
9640 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9641 async design.
9642 (gomp_acc_remove_pointer): Adjust code to use new async design.
9643 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9644 design.
9645 (GOACC_enter_exit_data): Likewise.
9646 (goacc_wait): Likewise.
9647 (GOACC_update): Likewise.
9648 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9649 when called, warn as obsolete in comment.
9650 * target.c (goacc_device_copy_async): New function.
9651 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9652 add goacc_device_copy_async case.
9653 (gomp_copy_dev2host): Likewise.
9654 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9655 (gomp_map_pointer): Likewise.
9656 (gomp_map_fields_existing): Likewise.
9657 (gomp_map_vars_internal): New always_inline function, renamed from
9658 gomp_map_vars.
9659 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9660 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9661 passing goacc_asyncqueue argument.
9662 (gomp_unmap_tgt): Remove static, add attribute_hidden.
9663 (gomp_unref_tgt): New function.
9664 (gomp_unmap_vars_internal): New always_inline function, renamed from
9665 gomp_unmap_vars.
9666 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9667 (gomp_unmap_vars_async): Implement by calling
9668 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9669 (gomp_fini_device): New function.
9670 (gomp_exit_data): Adjust gomp_copy_dev2host call.
9671 (gomp_load_plugin_for_device): Remove old interface, adjust to load
9672 new async interface.
9673 (gomp_target_fini): Adjust code to call gomp_fini_device.
9674
9675 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9676 (struct ptx_stream): Remove.
9677 (struct nvptx_thread): Remove current_stream field.
9678 (cuda_map_create): Remove.
9679 (cuda_map_destroy): Remove.
9680 (map_init): Remove.
9681 (map_fini): Remove.
9682 (map_pop): Remove.
9683 (map_push): Remove.
9684 (struct goacc_asyncqueue): Define.
9685 (struct nvptx_callback): Define.
9686 (struct ptx_free_block): Define.
9687 (struct ptx_device): Remove null_stream, active_streams, async_streams,
9688 stream_lock, and next fields.
9689 (enum ptx_event_type): Remove.
9690 (struct ptx_event): Remove.
9691 (ptx_event_lock): Remove.
9692 (ptx_events): Remove.
9693 (init_streams_for_device): Remove.
9694 (fini_streams_for_device): Remove.
9695 (select_stream_for_async): Remove.
9696 (nvptx_init): Remove ptx_events and ptx_event_lock references.
9697 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9698 case.
9699 (nvptx_open_device): Add free_blocks initialization, remove
9700 init_streams_for_device call.
9701 (nvptx_close_device): Remove fini_streams_for_device call, add
9702 free_blocks destruct code.
9703 (event_gc): Remove.
9704 (event_add): Remove.
9705 (nvptx_exec): Adjust parameters and code.
9706 (nvptx_free): Likewise.
9707 (nvptx_host2dev): Remove.
9708 (nvptx_dev2host): Remove.
9709 (nvptx_set_async): Remove.
9710 (nvptx_async_test): Remove.
9711 (nvptx_async_test_all): Remove.
9712 (nvptx_wait): Remove.
9713 (nvptx_wait_async): Remove.
9714 (nvptx_wait_all): Remove.
9715 (nvptx_wait_all_async): Remove.
9716 (nvptx_get_cuda_stream): Remove.
9717 (nvptx_set_cuda_stream): Remove.
9718 (GOMP_OFFLOAD_alloc): Adjust code.
9719 (GOMP_OFFLOAD_free): Likewise.
9720 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9721 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9722 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9723 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9724 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9725 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9726 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9727 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9728 (cuda_free_argmem): New function.
9729 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9730 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9731 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9732 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9733 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9734 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9735 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9736 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9737 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9738 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9739 (cuda_callback_wrapper): New function.
9740 (cuda_memcpy_sanity_check): New function.
9741 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9742 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9743 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9744 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9745
da2d30c1
TS
97462019-05-07 Thomas Schwinge <thomas@codesourcery.com>
9747
9748 PR target/87835
9749 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9750
2bbbfa4e
TS
97512019-05-06 Thomas Schwinge <thomas@codesourcery.com>
9752
9753 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9754
bbf1efe1
KB
97552019-03-27 Kevin Buettner <kevinb@redhat.com>
9756
9757 * team.c (gomp_team_start): Initialize pool->threads[0].
9758
1241136c
TS
97592019-02-22 Thomas Schwinge <thomas@codesourcery.com>
9760
b03d721a
TS
9761 * testsuite/libgomp.oacc-c++/c++.exp: Specify
9762 "-foffload=$offload_target".
9763 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9764 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9765 * testsuite/lib/libgomp.exp
9766 (check_effective_target_openacc_nvidia_accel_configured): Remove,
9767 as (conceptually) merged into
9768 check_effective_target_openacc_nvidia_accel_selected. Adjust all
9769 users.
9770
0a0384b4
TS
9771 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9772 * testsuite/libgomp-test-support.exp.in: Adjust.
9773 * testsuite/lib/libgomp.exp: Likewise. Don't populate
9774 openacc_device_types_s.
9775 (offload_target_to_openacc_device_type): New proc.
9776 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9777 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9778 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9779 * Makefile.in: Regenerate.
9780 * configure: Likewise.
9781 * testsuite/Makefile.in: Likewise.
9782
ee332b4a
TS
9783 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9784 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9785 instead of OFFLOAD_TARGETS.
9786 * target.c (gomp_target_init): Adjust.
9787 * testsuite/libgomp-test-support.exp.in: Likewise.
9788 * testsuite/lib/libgomp.exp: Likewise. Populate
9789 openacc_device_types_s instead of offload_targets_s_openacc.
9790 (check_effective_target_openacc_nvidia_accel_selected)
9791 (check_effective_target_openacc_host_selected): Adjust.
9792 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9793 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9794 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9795 * Makefile.in: Regenerate.
9796 * config.h.in: Likewise.
9797 * configure: Likewise.
9798 * testsuite/Makefile.in: Likewise.
9799
1241136c
TS
9800 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
9801 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
9802 "offloading: supported, but hardware not accessible".
9803 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9804 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9805
19695f4d
CLT
98062019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
9807
9808 PR c/87924
9809 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
9810 goacc_wait().
9811 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
9812 and related adjustment.
9813
8b44f8ec
JJ
98142019-01-30 Jakub Jelinek <jakub@redhat.com>
9815
9816 PR c++/88988
9817 * testsuite/libgomp.c++/pr88988.C: New test.
9818
be3a87e7
JJ
98192019-01-28 Jakub Jelinek <jakub@redhat.com>
9820
9821 PR middle-end/89002
9822 * testsuite/libgomp.c/pr89002.c: New test.
9823
497ef4d7
RB
98242019-01-28 Richard Biener <rguenther@suse.de>
9825
9826 PR testsuite/89064
9827 PR tree-optimization/86865
9828 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
9829
738c56d4
TV
98302019-01-24 Tom de Vries <tdevries@suse.de>
9831
9832 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
9833 once instantiated_devices drops to 0.
9834
4a75460b
TV
98352019-01-23 Tom de Vries <tdevries@suse.de>
9836
9837 PR target/PR88946
9838 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
9839 cuMemFree.
9840 (nvptx_exec): Don't call map_push if mapnum == 0.
9841 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
9842
4fef8e4d
TV
98432019-01-23 Tom de Vries <tdevries@suse.de>
9844
9845 PR target/88941
9846 PR target/88939
9847 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
9848 (map_fini): Remove "assert (!s->map->active)".
9849 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
9850
2ee6cb22
TV
98512019-01-23 Tom de Vries <tdevries@suse.de>
9852
9853 PR target/87835
9854 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
9855 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
9856
d41d952c
TV
98572019-01-15 Tom de Vries <tdevries@suse.de>
9858
9859 PR target/80547
9860 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
9861 New test.
9862
efb56ae8
TV
98632019-01-12 Tom de Vries <tdevries@suse.de>
9864
9865 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
9866 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
9867 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
9868 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
9869
2c2ff168
TV
98702019-01-12 Tom de Vries <tdevries@suse.de>
9871
9872 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
9873
a1057758
TV
98742019-01-12 Tom de Vries <tdevries@suse.de>
9875
9876 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
9877 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
9878 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
9879
56314b77
TV
98802019-01-12 Tom de Vries <tdevries@suse.de>
9881
9882 PR target/85486
9883 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
9884 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
9885
b39e4366
TV
98862019-01-12 Tom de Vries <tdevries@suse.de>
9887
9888 PR target/85381
9889 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
9890 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
9891
2cb7a501
TV
98922019-01-12 Tom de Vries <tdevries@suse.de>
9893
9894 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
9895 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
9896 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
9897
8e77f71e
TV
98982019-01-12 Tom de Vries <tdevries@suse.de>
9899
9900 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
9901 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
9902 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
9903
52d22ece
TV
99042019-01-12 Tom de Vries <tdevries@suse.de>
9905
9906 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
9907 resources diagnostic.
9908
2b9d9e39
TV
99092019-01-12 Tom de Vries <tdevries@suse.de>
9910
9911 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
9912 vector length to be 128.
9913 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
9914 length 2097152 to be reduced to 1024 instead of 32.
9915
4102bda6
TS
99162019-01-11 Thomas Schwinge <thomas@codesourcery.com>
9917 James Norris <jnorris@codesourcery.com>
9918
9919 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
9920 Library Routines", and "Environment Variables".
9921
052aaace
TV
99222019-01-11 Tom de Vries <tdevries@suse.de>
9923
9924 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
9925 num_workers 16.
9926
9390f916
TV
99272019-01-11 Tom de Vries <tdevries@suse.de>
9928
9929 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
9930 -foffload=-w.
9931 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
9932 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
9933 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
9934 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
9935
2c3e7ad2
TV
99362019-01-11 Tom de Vries <tdevries@suse.de>
9937
9938 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
9939 test.
9940
e222497d
NS
99412019-01-10 Nathan Sidwell <nathan@acm.org>
9942 Julian Brown <julian@codesourcery.com>
9943
9944 PR lto/71959
9945 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
9946 * testsuite/libgomp.oacc-c++/pr71959.C: New.
9947
cb87fec3
SH
99482019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9949
9950 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
9951 and paste code.
9952
30b4d0d0
SH
99532019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9954
9955 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
9956 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9957 write.
9958
5d0bc70a
TV
99592019-01-09 Tom de Vries <tdevries@suse.de>
9960
9961 PR target/88756
9962 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
9963 #define instead of "const int".
9964 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
9965 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
9966 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
9967 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
9968
2c372e81
TV
99692019-01-09 Tom de Vries <tdevries@suse.de>
9970
9971 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
9972 one worker.
9973
43493c97
TV
99742019-01-07 Tom de Vries <tdevries@suse.de>
9975
9976 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
9977 GOMP_OPENACC_DIM argument.
9978
5c571497
TV
99792019-01-03 Tom de Vries <tdevries@suse.de>
9980
9981 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
9982 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
9983
a5544970
JJ
99842019-01-01 Jakub Jelinek <jakub@redhat.com>
9985
9986 Update copyright years.
9987
3f27508c
JJ
99882019-01-01 Jakub Jelinek <jakub@redhat.com>
9989
9990 * libgomp.texi: Bump @copying's copyright year.
9991
59d5960c
TS
99922018-12-28 Thomas Schwinge <thomas@codesourcery.com>
9993
9994 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
9995 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
9996 (GOACC_declare): Redefine the "device" argument to "flags".
9997
a44c1790
TS
99982018-12-28 Thomas Schwinge <thomas@codesourcery.com>
9999 Cesar Philippidis <cesar@codesourcery.com>
10000
10001 * target.c (struct gomp_coalesce_chunk): New structure.
10002 (struct gomp_coalesce_buf): Update the chunks member to use that
10003 type. Adjust all users.
10004
a152954e
TV
100052018-12-19 Tom de Vries <tdevries@suse.de>
10006
10007 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10008 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10009 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10010
49188cd1
TV
100112018-12-19 Tom de Vries <tdevries@suse.de>
10012
10013 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10014 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10015 gcc/testsuite/gcc.dg/goacc.
10016 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10017
c759830b
TS
100182018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10019 Chung-Lin Tang <cltang@codesourcery.com>
10020
10021 * oacc-mem.c (acc_present_or_create): Remove definition and change
10022 to alias of acc_create.
10023 (acc_present_or_copyin): Remove definition and change to alias of
10024 acc_copyin.
10025 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10026 of acc_present_or_create.
10027 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10028 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10029 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10030 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10031 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10032 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10033 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10034 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10035 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10036 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10037 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10038 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10039 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10040 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10041 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10042 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10043
7de562ee
TS
100442018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10045
f847198e
TS
10046 PR libgomp/88495
10047 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10048 "identical parameters".
10049 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10050 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10051
c8ab8aab
TS
10052 PR libgomp/88484
10053 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10054 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10055
1404af62
TS
10056 PR libgomp/88407
10057 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10058 (nvptx_wait_async): Unseen async-argument is a no-op.
10059 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10060 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10061 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10062 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10063 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10064 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10065 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10066 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10067 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10068
7de562ee
TS
10069 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10070 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10071
17469af7
CLT
100722018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10073
10074 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10075 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10076 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10077
18c247cc
TS
100782018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10079
10080 PR libgomp/88370
10081 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10082 (acc_set_cuda_stream): Clarify.
10083 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10084 "async_valid_p".
10085 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10086 acc_async_sync".
10087 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10088 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10089 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10090 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10091
b0aba46c
TV
100922018-12-14 Tom de Vries <tdevries@suse.de>
10093
10094 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10095 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10096 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10097 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10098 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10099
fe0827ee
TV
101002018-12-13 Tom de Vries <tdevries@suse.de>
10101
10102 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10103 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10104 * fortran.c (omp_display_affinity_): ... here.
10105 * libgomp.h (gomp_print_string): Declare.
10106 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10107 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10108 write.
10109
a51f8c92
JJ
101102018-12-13 Jakub Jelinek <jakub@redhat.com>
10111
10112 PR libgomp/88460
10113 * testsuite/libgomp.c++/for-24.C (results): Include it in
10114 omp declare target region.
10115 (main): Use map (always, tofrom: results) instead of
10116 map (tofrom: results).
10117
a6ef2ac9
JJ
101182018-12-12 Jakub Jelinek <jakub@redhat.com>
10119
7a289b7d
JJ
10120 PR fortran/88463
10121 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10122 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10123
a6ef2ac9
JJ
10124 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10125
9c47a019
AS
101262018-12-12 Andreas Schwab <schwab@suse.de>
10127
10128 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10129 clobbered.
10130
d0cbb206
TK
101312018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10132
10133 PR fortran/88411
10134 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10135
84ca08d2
TS
101362018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10137 Jakub Jelinek <jakub@redhat.com>
10138
10139 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10140 devicep->host2dev_func.
10141
6997628d
JJ
101422018-12-08 Jakub Jelinek <jakub@redhat.com>
10143
10144 PR libgomp/87995
10145 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10146 tls_runtime effective target.
10147 (t): New threadprivate variable.
10148 (main): Set t in threads which execute iterations of the worksharing
10149 loop. Propagate that to the task after the loop and don't abort
10150 if the current taskgroup hasn't been cancelled.
10151
daa8c1d7
JJ
101522018-12-02 Jakub Jelinek <jakub@redhat.com>
10153
4a82df9a
JJ
10154 * testsuite/libgomp.c/task-reduction-3.c: New test.
10155
daa8c1d7
JJ
10156 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10157
fe570ff8
CP
101582018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10159
10160 PR libgomp/88288
10161 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10162 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10163
c223608f
TS
101642018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10165
10166 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10167
fc60283c
RB
101682018-10-19 Richard Biener <rguenther@suse.de>
10169
10170 PR tree-optimization/88182
10171 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10172
ffcf3b79
JJ
101732018-11-26 Jakub Jelinek <jakub@redhat.com>
10174
10175 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10176 (RUNTEST): Don't define.
10177 (RUNTESTDEFAULTFLAGS): Add.
10178 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10179 (distclean-am): Depend on distclean-DEJAGNU.
10180 (check-am): If -j% option is present in MFLAGS and if
10181 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10182 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10183 * testsuite/Makefile.in: Regenerated.
10184
ef6e6914
RB
101852018-11-26 Richard Biener <rguenther@suse.de>
10186
10187 PR tree-optimization/88182
10188 * testsuite/libgomp.c++/pr88182.C: New testcase.
10189
72d3bb76
JJ
101902018-11-20 Jakub Jelinek <jakub@redhat.com>
10191
10192 PR bootstrap/88106
10193 * config/mingw32/affinity-fmt.c: New file.
10194
207286c3
JJ
101952018-11-09 Jakub Jelinek <jakub@redhat.com>
10196
9666c522
JJ
10197 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10198 (gomp_display_affinity): Use __builtin_choose_expr to handle
10199 properly handle argument having integral, or pointer or some other
10200 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10201 with uint64_t type instead of %llx and unsigned long long.
10202
207286c3
JJ
10203 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10204 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10205
2033f45b
RO
102062018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10207
10208 * affinity.c: Include <string.h>, <stdio.h>.
10209 (gomp_display_affinity_place): Remove cpusetp.
10210 * teams.c: Include <limits.h>.
10211
28567c40
JJ
102122018-11-08 Jakub Jelinek <jakub@redhat.com>
10213
8991d779
JJ
10214 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10215 in_reduction clause for s[0].
10216
28567c40
JJ
10217 * affinity.c (gomp_display_affinity_place): New function.
10218 * affinity-fmt.c: New file.
10219 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10220 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10221 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10222 Move these functions to ...
10223 * config/nvptx/teams.c: ... here. New file.
10224 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10225 New functions.
10226 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10227 functions.
10228 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10229 and _aligned_malloc.
10230 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10231 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10232 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10233 gomp_affinity_format_len): New variables.
10234 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10235 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10236 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10237 modifiers. Display (non-default) chunk sizes. Print
10238 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10239 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10240 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10241 * fortran.c: Include stdio.h and string.h.
10242 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10243 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10244 (omp_set_affinity_format_, omp_get_affinity_format_,
10245 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10246 omp_pause_resource_all_): New functions.
10247 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10248 switch.
10249 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10250 functions to ...
10251 * teams.c: ... here. New file.
10252 * libgomp_g.h: Include gstdint.h.
10253 (GOMP_loop_nonmonotonic_runtime_start,
10254 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10255 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10256 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10257 GOMP_parallel_loop_nonmonotonic_runtime,
10258 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10259 GOMP_loop_ull_nonmonotonic_runtime_start,
10260 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10261 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10262 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10263 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10264 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10265 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10266 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10267 GOMP_teams_reg): Declare.
10268 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10269 gomp_aligned_alloc uses fallback implementation.
10270 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10271 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10272 (struct gomp_doacross_work_share): Add extra field.
10273 (struct gomp_work_share): Add task_reductions field.
10274 (struct gomp_taskgroup): Add workshare and reductions fields.
10275 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10276 (gomp_thread_handle): New typedef.
10277 (gomp_display_affinity_place, gomp_set_affinity_format,
10278 gomp_display_string, gomp_display_affinity,
10279 gomp_display_affinity_thread): Declare.
10280 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10281 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10282 gomp_workshare_task_reduction_register): Declare.
10283 (gomp_team_start): Add taskgroup argument.
10284 (gomp_pause_host): Declare.
10285 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10286 to size_t.
10287 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10288 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10289 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10290 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10291 GOMP_loop_ull_doacross_start,
10292 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10293 GOMP_loop_maybe_nonmonotonic_runtime_next,
10294 GOMP_loop_maybe_nonmonotonic_runtime_start,
10295 GOMP_loop_nonmonotonic_runtime_next,
10296 GOMP_loop_nonmonotonic_runtime_start,
10297 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10298 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10299 GOMP_loop_ull_nonmonotonic_runtime_next,
10300 GOMP_loop_ull_nonmonotonic_runtime_start,
10301 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10302 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10303 GOMP_taskgroup_reduction_register,
10304 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10305 GOMP_teams_reg and GOMP_taskwait_depend.
10306 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10307 omp_{capture,display}_affinity{,_}, and
10308 omp_[gs]et_affinity_format{,_}.
10309 * loop.c: Include string.h.
10310 (GOMP_loop_runtime_next): Add ialias.
10311 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10312 (gomp_loop_static_start, gomp_loop_dynamic_start,
10313 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10314 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10315 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10316 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10317 or gomp_doacross_init callers.
10318 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10319 GOMP_loop_doacross_start): New functions.
10320 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10321 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10322 Mask off GFS_MONOTONIC bit.
10323 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10324 GOMP_loop_maybe_nonmonotonic_runtime_start,
10325 GOMP_loop_nonmonotonic_runtime_next,
10326 GOMP_loop_nonmonotonic_runtime_start,
10327 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10328 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10329 functions.
10330 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10331 gomp_team_start.
10332 * loop_ull.c: Include string.h.
10333 (GOMP_loop_ull_runtime_next): Add ialias.
10334 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10335 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10336 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10337 gomp_loop_ull_ordered_dynamic_start,
10338 gomp_loop_ull_ordered_guided_start,
10339 gomp_loop_ull_doacross_static_start,
10340 gomp_loop_ull_doacross_dynamic_start,
10341 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10342 and gomp_doacross_ull_init callers.
10343 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10344 GOMP_loop_ull_doacross_start): New functions.
10345 (GOMP_loop_ull_runtime_start,
10346 GOMP_loop_ull_ordered_runtime_start,
10347 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10348 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10349 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10350 GOMP_loop_ull_nonmonotonic_runtime_next,
10351 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10352 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10353 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10354 (omp_pause_resource_t, omp_depend_t): New typedefs.
10355 (enum omp_lock_hint_t): Renamed to ...
10356 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10357 enumerators using numbers and omp_lock_hint_* as their aliases.
10358 (omp_lock_hint_t): New typedef. Rename to ...
10359 (omp_sync_hint_t): ... this.
10360 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10361 omp_sync_hint_t instead of omp_lock_hint_t.
10362 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10363 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10364 Declare.
10365 (omp_target_is_present, omp_target_disassociate_ptr):
10366 Change first argument from void * to const void *.
10367 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10368 from void * to const void *.
10369 (omp_target_associate_ptr): Change first and second arguments from
10370 void * to const void *.
10371 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10372 omp_pause_hard): New parameters.
10373 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10374 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10375 New interfaces.
10376 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10377 omp_pause_hard): New parameters.
10378 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10379 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10380 New externals.
10381 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10382 EXTRA argument. If not needed to prepare array, if extra is 0,
10383 clear ws->doacross, otherwise allocate just doacross structure and
10384 extra payload. If array is needed, allocate also extra payload.
10385 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10386 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10387 doacross == NULL.
10388 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10389 gomp_team_start.
10390 (GOMP_parallel): Likewise. Formatting fix.
10391 (GOMP_parallel_reductions): New function.
10392 (GOMP_cancellation_point): If taskgroup has workshare
10393 flag set, check cancelled of prev taskgroup if any.
10394 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10395 on prev taskgroup if any.
10396 * sections.c: Include string.h.
10397 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10398 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10399 (GOMP_sections2_start): New function.
10400 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10401 Pass NULL as taskgroup to gomp_team_start.
10402 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10403 gomp_work_share_start callers.
10404 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10405 If taskgroup has workshare flag set, check cancelled on prev
10406 taskgroup if any. Guard all cancellation tests with
10407 gomp_cancel_var test.
10408 (omp_target_is_present, omp_target_disassociate_ptr):
10409 Change ptr argument from void * to const void *.
10410 (omp_target_memcpy): Change src argument from void * to const void *.
10411 (omp_target_memcpy_rect): Likewise.
10412 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10413 instead of char * where needed.
10414 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10415 from void * to const void *.
10416 (omp_pause_resource, omp_pause_resource_all): New functions.
10417 * task.c (gomp_task_handle_depend): Handle new depend array format
10418 in addition to the old. Handle mutexinoutset kinds the same as
10419 inout for now, handle unspecified kinds.
10420 (gomp_create_target_task): If taskgroup has workshare flag set, check
10421 cancelled on prev taskgroup if any. Guard all cancellation tests with
10422 gomp_cancel_var test. Handle new depend array format count in
10423 addition to the old.
10424 (GOMP_task): Likewise. Adjust function comment.
10425 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10426 cancelled on prev taskgroup if any. Guard all cancellation tests with
10427 gomp_cancel_var test.
10428 (GOMP_taskwait_depend): New function.
10429 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10430 format in addition to the old. Handle mutexinoutset kinds the same as
10431 inout for now, handle unspecified kinds. Fix a function comment typo.
10432 (gomp_taskgroup_init): New function.
10433 (GOMP_taskgroup_start): Use it.
10434 (gomp_reduction_register, gomp_create_artificial_team,
10435 GOMP_taskgroup_reduction_register,
10436 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10437 gomp_parallel_reduction_register,
10438 gomp_workshare_task_reduction_register,
10439 gomp_workshare_taskgroup_start,
10440 GOMP_workshare_task_reduction_unregister): New functions.
10441 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10442 check cancelled on prev taskgroup if any. Guard all cancellation
10443 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10444 by calling GOMP_taskgroup_reduction_register.
10445 * team.c (gomp_thread_attr): Remove comment.
10446 (struct gomp_thread_start_data): Add handle field.
10447 (gomp_thread_start): Call pthread_detach.
10448 (gomp_new_team): Adjust gomp_init_work_share caller.
10449 (gomp_free_pool_helper): Call pthread_detach.
10450 (gomp_team_start): Add taskgroup argument, initialize implicit
10451 tasks' taskgroup field to that. Don't call
10452 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10453 (gomp_team_end): Determine nesting by thr->ts.level != 0
10454 rather than thr->ts.team != NULL.
10455 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10456 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10457 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10458 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10459 if more than 1 allocate also extra payload at the end of array. Never
10460 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10461 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10462 return true instead of ws.
10463 * Makefile.in: Regenerated.
10464 * configure: Regenerated.
10465 * config.h.in: Regenerated.
10466 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10467 in some cases.
10468 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10469 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10470 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10471 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10472 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10473 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10474 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10475 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10476 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10477 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10478 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10479 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10480 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10481 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10482 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10483 define a different N(test), don't define N(f0) to N(f14), but instead
10484 define N(f20) to N(f34) using != comparisons.
10485 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10486 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10487 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10488 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10489 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10490 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10491 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10492 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10493 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10494 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10495 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10496 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10497 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10498 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10499 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10500 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10501 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10502 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10503 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10504 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10505 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10506 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10507 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10508 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10509 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10510 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10511 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10512 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10513 * testsuite/libgomp.c++/depend-1.C: New test.
10514 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10515 * testsuite/libgomp.c++/depobj-1.C: New test.
10516 * testsuite/libgomp.c++/for-16.C: New test.
10517 * testsuite/libgomp.c++/for-21.C: New test.
10518 * testsuite/libgomp.c++/for-22.C: New test.
10519 * testsuite/libgomp.c++/for-23.C: New test.
10520 * testsuite/libgomp.c++/for-24.C: New test.
10521 * testsuite/libgomp.c++/for-25.C: New test.
10522 * testsuite/libgomp.c++/for-26.C: New test.
10523 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10524 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10525 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10526 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10527 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10528 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10529 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10530 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10531 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10532 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10533 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10534 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10535 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10536 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10537 * testsuite/libgomp.c/task-reduction-1.c: New test.
10538 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10539 * testsuite/libgomp.c/task-reduction-2.c: New test.
10540 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10541 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10542 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10543 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10544 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10545 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10546 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10547 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10548 * testsuite/libgomp.c/teams-1.c: New test.
10549 * testsuite/libgomp.c/teams-2.c: New test.
10550 * testsuite/libgomp.c/thread-limit-4.c: New test.
10551 * testsuite/libgomp.c/thread-limit-5.c: New test.
10552 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10553
58168bbf
CLT
105542018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10555
10556 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10557 acc_memcpy_to/from_device functions, now with async parameter.
10558 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10559 (acc_memcpy_from_device): Likewise.
10560 (acc_memcpy_to_device_async): New API function.
10561 (acc_memcpy_from_device_async): Likewise.
10562 (present_create_copy): Add async parameter and async setting/unsetting.
10563 (acc_create): Adjust present_create_copy call.
10564 (acc_copyin): Likewise.
10565 (acc_present_or_create): Likewise.
10566 (acc_present_or_copyin): Likewise.
10567 (acc_create_async): New API function.
10568 (acc_copyin_async): New API function.
10569 (delete_copyout): Add async parameter and async setting/unsetting.
10570 (acc_delete): Adjust delete_copyout call.
10571 (acc_copyout): Likewise.
10572 (acc_delete_async): New API function.
10573 (acc_copyout_async): Likewise.
10574 (update_dev_host): Add async parameter and async setting/unsetting.
10575 (acc_update_device): Adjust update_dev_host call.
10576 (acc_update_self): Likewise.
10577 (acc_update_device_async): New API function.
10578 (acc_update_self_async): Likewise.
10579 * openacc.h (acc_copyin_async): Declare new API function.
10580 (acc_create_async): Likewise.
10581 (acc_copyout_async): Likewise.
10582 (acc_delete_async): Likewise.
10583 (acc_update_device_async): Likewise.
10584 (acc_update_self_async): Likewise.
10585 (acc_memcpy_to_device_async): Likewise.
10586 (acc_memcpy_from_device_async): Likewise.
10587 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10588 (acc_copyin_async_64_h): New subroutine.
10589 (acc_copyin_async_array_h): New subroutine.
10590 (acc_create_async_32_h): New subroutine.
10591 (acc_create_async_64_h): New subroutine.
10592 (acc_create_async_array_h): New subroutine.
10593 (acc_copyout_async_32_h): New subroutine.
10594 (acc_copyout_async_64_h): New subroutine.
10595 (acc_copyout_async_array_h): New subroutine.
10596 (acc_delete_async_32_h): New subroutine.
10597 (acc_delete_async_64_h): New subroutine.
10598 (acc_delete_async_array_h): New subroutine.
10599 (acc_update_device_async_32_h): New subroutine.
10600 (acc_update_device_async_64_h): New subroutine.
10601 (acc_update_device_async_array_h): New subroutine.
10602 (acc_update_self_async_32_h): New subroutine.
10603 (acc_update_self_async_64_h): New subroutine.
10604 (acc_update_self_async_array_h): New subroutine.
10605 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10606 (acc_copyin_async_64_h): New subroutine.
10607 (acc_copyin_async_array_h): New subroutine.
10608 (acc_create_async_32_h): New subroutine.
10609 (acc_create_async_64_h): New subroutine.
10610 (acc_create_async_array_h): New subroutine.
10611 (acc_copyout_async_32_h): New subroutine.
10612 (acc_copyout_async_64_h): New subroutine.
10613 (acc_copyout_async_array_h): New subroutine.
10614 (acc_delete_async_32_h): New subroutine.
10615 (acc_delete_async_64_h): New subroutine.
10616 (acc_delete_async_array_h): New subroutine.
10617 (acc_update_device_async_32_h): New subroutine.
10618 (acc_update_device_async_64_h): New subroutine.
10619 (acc_update_device_async_array_h): New subroutine.
10620 (acc_update_self_async_32_h): New subroutine.
10621 (acc_update_self_async_64_h): New subroutine.
10622 (acc_update_self_async_array_h): New subroutine.
10623 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10624 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10625 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10626 acc_memcpy_to_device_async*, acc_update_device_async*, and
10627 acc_update_self_async* entries.
10628 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10629 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10630 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10631
22e05272
JM
106322018-10-31 Joseph Myers <joseph@codesourcery.com>
10633
10634 PR bootstrap/82856
10635 * Makefile.am: Include multilib.am
10636 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10637 (CLEANFILES): Remove libgomp.info.
10638 * configure.ac: Remove AC_PREREQ.
10639 * testsuite/Makefile.am (RUNTEST): Remove quotes.
10640 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10641 Regenerate.
10642
87a5ccfb
JM
106432018-10-29 Joseph Myers <joseph@codesourcery.com>
10644 Julian Brown <julian@codesourcery.com>
10645
10646 * testsuite/libgomp.oacc-c++/this.C: New.
10647
2049befd
CP
106482018-09-18 Cesar Philippidis <cesar@codesourcery.com>
10649
10650 * plugin/plugin-nvptx.c (struct cuda_map): New.
10651 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10652 h_tail with (cuda_map *) map.
10653 (cuda_map_create): New function.
10654 (cuda_map_destroy): New function.
10655 (map_init): Update to use a linked list of cuda_map objects.
10656 (map_fini): Likewise.
10657 (map_pop): Likewise.
10658 (map_push): Likewise. Return CUdeviceptr instead of void.
10659 (init_streams_for_device): Remove stales references to ptx_stream
10660 members.
10661 (select_stream_for_async): Likewise.
10662 (nvptx_exec): Update call to map_init.
10663
8e36332c
CP
106642018-09-09 Cesar Philippidis <cesar@codesourcery.com>
10665 Julian Brown <julian@codesourcery.com>
10666
10667 PR middle-end/86336
10668 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10669
2b4c9065
NK
106702018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
10671 Thomas Koenig <tkoenig@gcc.gnu.org>
10672
10673 PR fortran/25829
10674 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10675 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10676 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10677 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10678 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10679 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10680 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10681
bd9b3d3d
CP
106822018-08-13 Cesar Philippidis <cesar@codesourcery.com>
10683 Tom de Vries <tdevries@suse.de>
10684
10685 PR target/85590
10686 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10687 (cuOccupancyMaxPotentialBlockSize): Declare.
10688 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10689 CUDA_ONE_CALL_MAYBE_NULL.
10690 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10691 CUoccupancyB2DSize and declare
10692 cuOccupancyMaxPotentialBlockSize.
10693 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10694 default num_gangs and num_workers when the driver supports it.
10695
8e09a12f
TV
106962018-08-08 Tom de Vries <tdevries@suse.de>
10697
10698 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10699 CUDA_ONE_CALL_MAYBE_NULL.
10700 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10701 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10702 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10703 are not found.
10704
cedd9bd0
TV
107052018-08-08 Tom de Vries <tdevries@suse.de>
10706
10707 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10708 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10709 present.
10710
b113af95
TV
107112018-08-08 Tom de Vries <tdevries@suse.de>
10712
10713 * plugin/plugin-nvptx.c
10714 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10715 (nvptx_open_device): Use
10716 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10717
94767dac
TV
107182018-08-08 Tom de Vries <tdevries@suse.de>
10719
10720 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10721 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
10722
02150de8
TV
107232018-08-07 Tom de Vries <tdevries@suse.de>
10724
10725 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10726 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10727 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
10728 corresponding call in CUDA_ONE_CALL. Add def/undef of
10729 CUDA_ONE_CALL_MAYBE_NULL.
10730 (CUDA_CALL_EXISTS): Define.
10731
9e28b107
TV
107322018-08-07 Tom de Vries <tdevries@suse.de>
10733
10734 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10735 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10736 corresponding undefs right after.
10737
09940090
TV
107382018-08-04 Tom de Vries <tdevries@suse.de>
10739
10740 * plugin/configfrag.ac: For --without-cuda-driver, set
10741 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
10742 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10743 * configure: Regenerate.
10744
77e0a97a
TV
107452018-08-02 Tom de Vries <tdevries@suse.de>
10746
10747 PR target/86660
10748 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10749 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10750 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10751 Same.
10752 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10753 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10754 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10755
701d080a
CP
107562018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10757 Thomas Schwinge <thomas@codesourcery.com>
10758
10759 * config/nvptx/oacc-parallel.c: Truncate.
10760
094db6be
CP
107612018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10762 James Norris <jnorris@codesourcery.com>
10763
10764 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
10765 (map_init, map_pop): Remove use of struct map.
10766 (map_push): Likewise and change argument list.
094db6be
CP
10767 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10768
8c6310a2
TV
107692018-08-01 Tom de Vries <tdevries@suse.de>
10770
10771 * plugin/cuda-lib.def: New file. Factor out of ...
10772 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10773 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10774 using CUDA_CALLS.
10775
1d4a51cf
AV
107762018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
10777
10778 Revert 'AsyncI/O patch committed'.
10779 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10780 Thomas Koenig <tkoenig@gcc.gnu.org>
10781
10782 PR fortran/25829
10783 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10784 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10785 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10786 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10787 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10788 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10789 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10790
4cdfee3f
TV
107912018-07-30 Tom de Vries <tdevries@suse.de>
10792
10793 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10794 (nvptx_exec): Ensure worker and vector default dims don't exceed
10795 targ_fn->max_threads_per_block.
10796
0b210c43
TV
107972018-07-30 Tom de Vries <tdevries@suse.de>
10798
10799 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
10800 (nvptx_open_device): Init default_dims for device.
10801 (nvptx_exec): Use default_dims from device.
10802
5883c5cc
JJ
108032018-07-26 Jakub Jelinek <jakub@redhat.com>
10804
5d36384c
JJ
10805 PR testsuite/86660
10806 * testsuite/libgomp.c++/for-15.C (results): Include it in
10807 omp declare target region.
10808 (main): Use map (always, tofrom: results) instead of
10809 map (tofrom: results).
10810
5883c5cc
JJ
10811 PR middle-end/86660
10812 * testsuite/libgomp.c/pr86660.c: New test.
10813
88a4654d
CP
108142018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10815 Tom de Vries <tdevries@suse.de>
10816
10817 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
10818 sufficient resources to launch a kernel, and give a hint on how to fix
10819 it.
10820
0c6c2f5f
CP
108212018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10822 Tom de Vries <tdevries@suse.de>
10823
10824 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
10825 max_threads_per_block and max_threads_per_multiprocessor fields.
10826 (nvptx_open_device): Initialize new fields.
10827 (nvptx_exec): Use num_sms, and new fields.
10828
6dd58010
TV
108292018-07-26 Tom de Vries <tdevries@suse.de>
10830
10831 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
10832 to correct locations. Remove xfail.
10833
b2eb1779
TV
108342018-07-26 Tom de Vries <tdevries@suse.de>
10835
10836 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
10837 acc_wait. Move acc_async_test calls to correct locations. Remove
10838 xfail.
10839
b1f45884
NK
108402018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10841 Thomas Koenig <tkoenig@gcc.gnu.org>
10842
10843 PR fortran/25829
10844 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10845 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10846 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10847 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10848 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10849 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10850 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10851
3a106211
JJ
108522018-07-17 Jakub Jelinek <jakub@redhat.com>
10853
a3bccfa1
JJ
10854 PR middle-end/86542
10855 * testsuite/libgomp.c++/pr86542.C: New test.
10856
3a106211
JJ
10857 PR middle-end/86539
10858 * testsuite/libgomp.c++/pr86539.C: New test.
10859
2bae8b2f
JJ
108602018-07-11 Jakub Jelinek <jakub@redhat.com>
10861
10862 PR c++/86443
10863 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
10864 (results): Make sure the variable is not inside declare target region.
10865 (qux): Remove unused function.
10866
0b27c3ed
JJ
108672018-07-10 Jakub Jelinek <jakub@redhat.com>
10868
10869 PR c++/86443
10870 * testsuite/libgomp.c++/for-15.C: New test.
10871
f0391511
JJ
108722018-06-26 Jakub Jelinek <jakub@redhat.com>
10873
10874 PR c++/86291
10875 * testsuite/libgomp.c++/pr86291.C: New test.
10876
1a6d1d24
GP
108772018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
10878
10879 * libgomp.texi (Top): Move www.openmp.org to https.
10880 (Enabling OpenMP): Ditto.
10881 (omp_get_active_level): Ditto.
10882 (omp_get_ancestor_thread_num): Ditto.
10883 (omp_get_cancellation): Ditto.
10884 (omp_get_default_device): Ditto.
10885 (omp_get_dynamic): Ditto.
10886 (omp_get_level): Ditto.
10887 (omp_get_max_active_levels): Ditto.
10888 (omp_get_max_task_priority): Ditto.
10889 (omp_get_max_threads): Ditto.
10890 (omp_get_nested): Ditto.
10891 (omp_get_num_devices): Ditto.
10892 (omp_get_num_procs): Ditto.
10893 (omp_get_num_teams): Ditto.
10894 (omp_get_num_threads): Ditto.
10895 (omp_get_proc_bind): Ditto.
10896 (omp_get_schedule): Ditto.
10897 (omp_get_team_num): Ditto.
10898 (omp_get_team_size): Ditto.
10899 (omp_get_thread_limit): Ditto.
10900 (omp_get_thread_num): Ditto.
10901 (omp_in_parallel): Ditto.
10902 (omp_in_final): Ditto.
10903 (omp_is_initial_device): Ditto.
10904 (omp_set_default_device): Ditto.
10905 (omp_set_dynamic): Ditto.
10906 (omp_set_max_active_levels): Ditto.
10907 (omp_set_nested): Ditto.
10908 (omp_set_num_threads): Ditto.
10909 (omp_set_schedule): Ditto.
10910 (omp_init_lock): Ditto.
10911 (omp_set_lock): Ditto.
10912 (omp_test_lock): Ditto.
10913 (omp_unset_lock): Ditto.
10914 (omp_destroy_lock): Ditto.
10915 (omp_init_nest_lock): Ditto.
10916 (omp_set_nest_lock): Ditto.
10917 (omp_test_nest_lock): Ditto.
10918 (omp_unset_nest_lock): Ditto.
10919 (omp_destroy_nest_lock): Ditto.
10920 (omp_get_wtick): Ditto.
10921 (omp_get_wtime): Ditto.
10922 (OMP_CANCELLATION): Ditto.
10923 (OMP_DISPLAY_ENV): Ditto.
10924 (OMP_DEFAULT_DEVICE): Ditto.
10925 (OMP_DYNAMIC): Ditto.
10926 (OMP_MAX_ACTIVE_LEVELS): Ditto.
10927 (OMP_MAX_TASK_PRIORITY): Ditto.
10928 (OMP_NESTED): Ditto.
10929 (OMP_NUM_THREADS): Ditto.
10930 (OMP_PROC_BIND): Ditto.
10931 (OMP_PLACES): Ditto.
10932 (OMP_STACKSIZE): Ditto.
10933 (OMP_SCHEDULE): Ditto.
10934 (OMP_THREAD_LIMIT): Ditto.
10935 (OMP_WAIT_POLICY): Ditto.
10936
31dd69b7
CP
109372018-06-22 Cesar Philippidis <cesar@codesourcery.com>
10938 James Norris <jnorris@codesourcery.com>
10939 Julian Brown <julian@codesourcery.com>
10940 Thomas Schwinge <thomas@codesourcery.com>
10941 Tom de Vries <tom@codesourcery.com>
10942
10943 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
10944 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
10945 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
10946 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
10947 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10948 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10949 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
10950 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
10951 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
10952 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
10953 Likewise.
10954 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10955 Likewise.
10956 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10957 Likewise.
10958 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
10959 Likewise.
10960 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
10961 Likewise.
10962 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10963 Likewise.
10964 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
10965 Likewise.
10966 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
10967 Likewise.
10968 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
10969 Likewise.
10970 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
10971 Likewise.
10972 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
10973 Likewise.
10974 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
10975 Likewise.
10976 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
10977 Likewise.
10978 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
10979 Likewise.
10980 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
10981 Likewise.
10982 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
10983 Likewise.
10984 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
10985 Likewise.
10986 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
10987 Likewise.
10988 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
10989 Likewise.
10990 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
10991 Likewise.
10992 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
10993 Likewise.
10994 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
10995 Likewise.
10996 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
10997 Likewise.
10998 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
10999 Likewise.
11000 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11001 Likewise.
11002 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11003 Likewise.
11004 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11005 Likewise.
11006 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11007 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11008 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11009 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11010 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11011 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11012 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11013 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11014 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11015 Likewise.
11016 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11017 Likewise.
11018 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11019 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11020 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11021 Likewise.
11022 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11023 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11024 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11025 Likewise.
11026 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11027 Likewise.
11028 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11029 Likewise.
11030 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11031 Likewise.
11032 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11033 Likewise.
11034 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11035 Likewise.
11036 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11037 Likewise.
11038 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11039 Likewise.
11040 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11041 Likewise.
11042 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11043 Likewise.
11044 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11045 Likewise.
11046 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11047 Likewise.
11048 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11049 Likewise.
11050 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11051 Likewise.
11052 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11053 Likewise.
11054 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11055 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11056 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11057 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11058 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11059 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11060 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11061
829c6349
CLT
110622018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11063 Thomas Schwinge <thomas@codesourcery.com>
11064 Cesar Philippidis <cesar@codesourcery.com>
11065
11066 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11067 (gomp_acc_remove_pointer): Update declaration.
11068 (gomp_acc_declare_allocate): Declare.
11069 (gomp_remove_var): Declare.
11070 * libgomp.map (OACC_2.5): Define.
11071 * oacc-mem.c (acc_map_data): Update refcount.
11072 (acc_unmap_data): Likewise.
11073 (present_create_copy): Likewise.
11074 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11075 (acc_copyin): Likewise.
11076 (FLAG_FINALIZE): Define.
11077 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11078 (acc_delete_finalize): New function.
11079 (acc_delete_finalize_async): New function.
11080 (acc_copyout_finalize): New function.
11081 (acc_copyout_finalize_async): New function.
11082 (gomp_acc_insert_pointer): Update refcounts.
11083 (gomp_acc_remove_pointer): Return if data is not present on the
11084 accelerator.
11085 * oacc-parallel.c (find_pset): Rename to find_pointer.
11086 (find_pointer): Add support for GOMP_MAP_POINTER.
11087 (handle_ftn_pointers): New function.
11088 (GOACC_parallel_keyed): Update refcounts of variables.
11089 (GOACC_enter_exit_data): Add support for finalized data mappings.
11090 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11091 of fortran arrays.
11092 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11093 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11094 for GOMP_MAP_FORCE_FROM.
11095 * openacc.f90 (module openacc_internal): Add
11096 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11097 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11098 acc_copyout_finalize and acc_delete_finalize.
11099 (acc_copyout_finalize_32_h): New subroutine.
11100 (acc_copyout_finalize_64_h): New subroutine.
11101 (acc_copyout_finalize_array_h): New subroutine.
11102 (acc_delete_finalize_32_h): New subroutine.
11103 (acc_delete_finalize_64_h): New subroutine.
11104 (acc_delete_finalize_array_h): New subroutine.
11105 * openacc.h (acc_copyout_finalize): Declare.
11106 (acc_copyout_finalize_async): Declare.
11107 (acc_delete_finalize): Declare.
11108 (acc_delete_finalize_async): Declare.
11109 * openacc_lib.h (acc_copyout_finalize): New interface.
11110 (acc_delete_finalize): New interface.
11111 * target.c (gomp_map_vars): Update dynamic_refcount.
11112 (gomp_remove_var): New function.
11113 (gomp_unmap_vars): Use it.
11114 (gomp_unload_image_from_device): Likewise.
11115 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11116 case to utilize OpenACC 2.5 data clause semantics.
11117 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11118 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11119 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11120 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11121 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11122 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11123 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11124 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11125 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11126 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11127 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11128 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11129 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11130 utilize OpenACC 2.5 data clause semantics.
11131 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11132 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11133 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11134 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11135 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11136 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11137 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11138 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11139 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11140
4358400b
JW
111412018-05-21 Janus Weil <janus@gcc.gnu.org>
11142
11143 PR fortran/85841
11144 PR testsuite/85865
11145 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11146 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11147 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11148 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11149 * testsuite/libgomp.fortran/task2.f90: Ditto.
11150 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11151 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11152 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11153 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11154 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11155 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11156 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11157 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11158 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11159
950ad0ba
CP
111602018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11161
11162 PR c++/85782
11163 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11164
f5ad16f1
TV
111652018-05-09 Tom de Vries <tom@codesourcery.com>
11166
11167 PR libgomp/82901
11168 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11169 to GOACC_enter_exit_data.
11170
edbd038a
TV
111712018-05-09 Tom de Vries <tom@codesourcery.com>
11172
11173 PR libgomp/83792
11174 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11175 (async_synchronous_p): New function.
11176 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11177 async_valid_p.
11178 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11179 async_valid_stream_id_p.
11180 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11181 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11182
37d6c719
TV
111832018-05-07 Tom de Vries <tom@codesourcery.com>
11184
11185 PR testsuite/85677
11186 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11187 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11188
63f12215
TV
111892018-05-03 Tom de Vries <tom@codesourcery.com>
11190
11191 PR testsuite/85106
11192 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11193 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11194 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11195 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11196
ec00d3fa
TV
111972018-05-02 Tom de Vries <tom@codesourcery.com>
11198
11199 PR libgomp/85411
11200 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11201 GOMP_OPENACC_DIM ...
11202 * env.c (parse_gomp_openacc_dim): ... here. New function.
11203 (initialize_env): Call parse_gomp_openacc_dim.
11204 (goacc_default_dims): Define.
11205 * libgomp.h (goacc_default_dims): Declare.
11206 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11207 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11208 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11209 GOMP_PLUGIN_acc_default_dim.
11210 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11211 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11212
92243e7c
TV
112132018-05-02 Tom de Vries <tom@codesourcery.com>
11214
11215 PR testsuite/83791
11216 * testsuite/libgomp.c++/udr-9.C: Update.
11217 * testsuite/libgomp.c++/atomic-16.C: Remove.
11218 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11219 * testsuite/libgomp.c++/loop-13.C: Remove.
11220 * testsuite/libgomp.c++/loop-14.C: Remove.
11221 * testsuite/libgomp.c++/loop-15.C: Remove.
11222 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11223 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11224 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11225 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11226 * testsuite/libgomp.c++/ordered-1.C: Remove.
11227 * testsuite/libgomp.c++/pr45784.C: Remove.
11228 * testsuite/libgomp.c++/pr64824.C: Remove.
11229 * testsuite/libgomp.c++/pr64868.C: Remove.
11230 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11231 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11232 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11233 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11234 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11235 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11236 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11237 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11238 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11239 * testsuite/libgomp.c++/pr69389.C: Remove.
11240 * testsuite/libgomp.c++/simd10.C: Remove.
11241 * testsuite/libgomp.c++/simd11.C: Remove.
11242 * testsuite/libgomp.c++/simd12.C: Remove.
11243 * testsuite/libgomp.c++/simd13.C: Remove.
11244 * testsuite/libgomp.c++/target-1.C: Remove.
11245 * testsuite/libgomp.c++/target-3.C: Remove.
11246 * testsuite/libgomp.c++/target-4.C: Remove.
11247 * testsuite/libgomp.c++/target-5.C: Remove.
11248 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11249 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11250 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11251 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11252 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11253 * testsuite/libgomp.c++/udr-9.C: Remove.
11254 * testsuite/libgomp.c++/for-10.C: Remove.
11255 * testsuite/libgomp.c++/for-11.C: Remove.
11256 * testsuite/libgomp.c++/for-12.C: Remove.
11257 * testsuite/libgomp.c++/for-13.C: Remove.
11258 * testsuite/libgomp.c++/for-14.C: Remove.
11259 * testsuite/libgomp.c++/for-9.C: Remove.
11260 * testsuite/libgomp.c/atomic-18.c: Move ...
11261 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11262 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11263 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11264 * testsuite/libgomp.c/loop-13.c: Move ...
11265 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11266 * testsuite/libgomp.c/loop-14.c: Move ...
11267 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11268 * testsuite/libgomp.c/loop-15.c: Remove.
11269 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11270 * testsuite/libgomp.c/monotonic-1.c: Move ...
11271 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11272 * testsuite/libgomp.c/monotonic-2.c: Move ...
11273 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11274 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11275 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11276 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11277 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11278 * testsuite/libgomp.c/ordered-4.c: Move ...
11279 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11280 * testsuite/libgomp.c/pr45784.c: Move ...
11281 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11282 * testsuite/libgomp.c/pr64824.c: Move ...
11283 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11284 * testsuite/libgomp.c/pr64868.c: Move ...
11285 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11286 * testsuite/libgomp.c/pr66199-1.c: Move ...
11287 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11288 * testsuite/libgomp.c/pr66199-2.c: Move ...
11289 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11290 * testsuite/libgomp.c/pr66199-3.c: Move ...
11291 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11292 * testsuite/libgomp.c/pr66199-4.c: Move ...
11293 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11294 * testsuite/libgomp.c/pr66199-5.c: Move ...
11295 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11296 * testsuite/libgomp.c/pr66199-6.c: Move ...
11297 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11298 * testsuite/libgomp.c/pr66199-7.c: Move ...
11299 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11300 * testsuite/libgomp.c/pr66199-8.c: Move ...
11301 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11302 * testsuite/libgomp.c/pr66199-9.c: Move ...
11303 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11304 * testsuite/libgomp.c/pr69389.c: Move ...
11305 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11306 * testsuite/libgomp.c/simd-14.c: Move ...
11307 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11308 * testsuite/libgomp.c/simd-15.c: Move ...
11309 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11310 * testsuite/libgomp.c/simd-16.c: Move ...
11311 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11312 * testsuite/libgomp.c/simd-17.c: Move ...
11313 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11314 * testsuite/libgomp.c/target-1.c: Move ...
11315 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11316 * testsuite/libgomp.c/target-10.c: Move ...
11317 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11318 * testsuite/libgomp.c/target-13.c: Move ...
11319 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11320 * testsuite/libgomp.c/target-2.c: Move ...
11321 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11322 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11323 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11324 * testsuite/libgomp.c/taskloop-1.c: Move ...
11325 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11326 * testsuite/libgomp.c/taskloop-2.c: Move ...
11327 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11328 * testsuite/libgomp.c/taskloop-3.c: Move ...
11329 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11330 * testsuite/libgomp.c/taskloop-4.c: Move ...
11331 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11332 * testsuite/libgomp.c/udr-1.c: Move ...
11333 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11334 * testsuite/libgomp.c/for-1.c: Move ...
11335 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11336 * testsuite/libgomp.c/for-1.h: Move ...
11337 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11338 * testsuite/libgomp.c/for-2.c: Move ...
11339 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11340 * testsuite/libgomp.c/for-2.h: Move ...
11341 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11342 * testsuite/libgomp.c/for-3.c: Move ...
11343 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11344 * testsuite/libgomp.c/for-4.c: Move ...
11345 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11346 * testsuite/libgomp.c/for-5.c: Move ...
11347 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11348 * testsuite/libgomp.c/for-6.c: Move ...
11349 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11350
1f62d637
TV
113512018-05-02 Tom de Vries <tom@codesourcery.com>
11352
11353 PR libgomp/82428
11354 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11355 __builtin_goacc_parlevel_{id,size}.
11356 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11357 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11358 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11359 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11360 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11361 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11362 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11363 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11364 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11365 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11366 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11367 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11368 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11369 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11370 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11371 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11372 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11373 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11374 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11375 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11376 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11377 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11378 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11379
9220b511
TV
113802018-05-02 Tom de Vries <tom@codesourcery.com>
11381
11382 PR testsuite/85106
11383 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11384
6c3c13c1
TV
113852018-05-02 Tom de Vries <tom@codesourcery.com>
11386
11387 PR testsuite/85106
11388 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11389
8d70b61e
JB
113902018-04-29 Julian Brown <julian@codesourcery.com>
11391 Tom de Vries <tom@codesourcery.com>
11392
11393 PR testsuite/85527
11394 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11395 arbitrary order for iterations of atomic subtract check.
11396
4a57a4b6
TV
113972018-04-28 Tom de Vries <tom@codesourcery.com>
11398
11399 PR testsuite/85527
11400 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11401 atomic capture results obtained in parallel loop to an array, instead of
11402 to a scalar.
11403
df36a3d3
TV
114042018-04-26 Tom de Vries <tom@codesourcery.com>
11405
11406 PR libgomp/84020
11407 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11408 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11409 (process_GOMP_NVPTX_JIT): New function.
11410 (link_ptx): Use process_GOMP_NVPTX_JIT.
11411
d160ae78
RB
114122018-04-26 Richard Biener <rguenther@suse.de>
11413 Tom de Vries <tom@codesourcery.com>
11414
11415 PR lto/85422
11416 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11417
ca9dc642
TV
114182018-04-26 Tom de Vries <tom@codesourcery.com>
11419
11420 PR target/85519
11421 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11422 recursion depth from 25 to 23.
11423 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11424
7b47ecf2
L
114252018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11426
11427 * configure: Regenerated.
11428
e91eba31
NS
114292018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11430 Tom de Vries <tom@codesourcery.com>
11431
11432 PR target/85445
11433 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11434
6e0d40b6
TS
114352018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11436
11437 PR libgomp/85463
11438 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11439 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11440 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11441 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11442 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11443 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11444
11445 PR libfortran/85166
11446 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11447 abort".
11448 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11449
a0e1df88
JJ
114502018-04-19 Jakub Jelinek <jakub@redhat.com>
11451
11452 * configure: Regenerated.
11453
001ddaa8
DM
114542018-04-18 David Malcolm <dmalcolm@redhat.com>
11455
11456 PR jit/85384
11457 * configure: Regenerate.
11458
05e0af43
CP
114592018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11460 Tom de Vries <tom@codesourcery.com>
11461
11462 PR middle-end/84955
11463 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11464 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11465
bc436e10
TK
114662018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11467
11468 PR fortran/83064
11469 PR testsuite/85346
11470 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11471 test from gfortran.dg to here.
11472
ffb164c7
JJ
114732018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11474
11475 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11476 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11477
114782018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11479
11480 PR middle-end/84955
11481 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11482 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11483
2ba16fd2
TV
114842018-04-05 Tom de Vries <tom@codesourcery.com>
11485
11486 PR target/85204
11487 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11488
46dbeb40
TV
114892018-03-26 Tom de Vries <tom@codesourcery.com>
11490
11491 PR tree-optimization/85063
11492 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11493 * testsuite/libgomp.c/switch-conversion.c: New test.
11494 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11495 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11496
bfc24e32
TK
114972018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11498
11499 PR fortran/84381
11500 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11501 call abort by STOP n.
11502 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11503 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11504 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11505 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11506 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11507 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11508 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11509 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11510 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11511 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11512 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11513 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11514 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11515 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11516 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11517 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11518 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11519 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11520 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11521 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11522 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11523 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11524 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11525 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11526 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11527 * testsuite/libgomp.fortran/character1.f90: Likewise.
11528 * testsuite/libgomp.fortran/character2.f90: Likewise.
11529 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11530 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11531 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11532 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11533 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11534 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11535 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11536 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11537 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11538 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11539 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11540 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11541 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11542 * testsuite/libgomp.fortran/do1.f90: Likewise.
11543 * testsuite/libgomp.fortran/do2.f90: Likewise.
11544 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11545 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11546 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11547 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11548 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11549 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11550 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11551 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11552 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11553 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11554 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11555 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11556 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11557 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11558 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11559 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11560 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11561 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11562 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11563 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11564 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11565 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11566 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11567 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11568 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11569 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11570 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11571 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11572 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11573 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11574 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11575 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11576 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11577 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11578 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11579 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11580 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11581 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11582 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11583 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11584 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11585 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11586 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11587 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11588 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11589 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11590 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11591 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11592 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11593 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11594 * testsuite/libgomp.fortran/lib2.f: Likewise.
11595 * testsuite/libgomp.fortran/lib3.f: Likewise.
11596 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11597 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11598 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11599 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11600 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11601 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11602 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11603 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11604 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11605 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11606 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11607 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11608 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11609 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11610 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11611 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11612 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11613 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11614 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11615 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11616 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11617 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11618 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11619 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11620 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11621 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11622 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11623 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11624 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11625 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11626 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11627 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11628 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11629 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11630 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11631 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11632 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11633 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11634 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11635 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11636 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11637 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11638 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11639 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11640 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11641 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11642 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11643 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11644 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11645 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11646 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11647 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11648 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11649 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11650 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11651 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11652 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11653 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11654 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11655 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11656 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11657 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11658 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11659 * testsuite/libgomp.fortran/reference1.f90: Likewise.
11660 * testsuite/libgomp.fortran/reference2.f90: Likewise.
11661 * testsuite/libgomp.fortran/retval1.f90: Likewise.
11662 * testsuite/libgomp.fortran/retval2.f90: Likewise.
11663 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11664 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11665 * testsuite/libgomp.fortran/simd1.f90: Likewise.
11666 * testsuite/libgomp.fortran/simd2.f90: Likewise.
11667 * testsuite/libgomp.fortran/simd3.f90: Likewise.
11668 * testsuite/libgomp.fortran/simd4.f90: Likewise.
11669 * testsuite/libgomp.fortran/simd5.f90: Likewise.
11670 * testsuite/libgomp.fortran/simd6.f90: Likewise.
11671 * testsuite/libgomp.fortran/simd7.f90: Likewise.
11672 * testsuite/libgomp.fortran/stack.f90: Likewise.
11673 * testsuite/libgomp.fortran/strassen.f90: Likewise.
11674 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11675 * testsuite/libgomp.fortran/tabs2.f: Likewise.
11676 * testsuite/libgomp.fortran/target1.f90: Likewise.
11677 * testsuite/libgomp.fortran/target2.f90: Likewise.
11678 * testsuite/libgomp.fortran/target3.f90: Likewise.
11679 * testsuite/libgomp.fortran/target4.f90: Likewise.
11680 * testsuite/libgomp.fortran/target5.f90: Likewise.
11681 * testsuite/libgomp.fortran/target6.f90: Likewise.
11682 * testsuite/libgomp.fortran/target7.f90: Likewise.
11683 * testsuite/libgomp.fortran/target8.f90: Likewise.
11684 * testsuite/libgomp.fortran/task1.f90: Likewise.
11685 * testsuite/libgomp.fortran/task2.f90: Likewise.
11686 * testsuite/libgomp.fortran/task3.f90: Likewise.
11687 * testsuite/libgomp.fortran/task4.f90: Likewise.
11688 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11689 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11690 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11691 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11692 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11693 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11694 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11695 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11696 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11697 * testsuite/libgomp.fortran/udr1.f90: Likewise.
11698 * testsuite/libgomp.fortran/udr10.f90: Likewise.
11699 * testsuite/libgomp.fortran/udr11.f90: Likewise.
11700 * testsuite/libgomp.fortran/udr12.f90: Likewise.
11701 * testsuite/libgomp.fortran/udr13.f90: Likewise.
11702 * testsuite/libgomp.fortran/udr14.f90: Likewise.
11703 * testsuite/libgomp.fortran/udr15.f90: Likewise.
11704 * testsuite/libgomp.fortran/udr2.f90: Likewise.
11705 * testsuite/libgomp.fortran/udr3.f90: Likewise.
11706 * testsuite/libgomp.fortran/udr4.f90: Likewise.
11707 * testsuite/libgomp.fortran/udr5.f90: Likewise.
11708 * testsuite/libgomp.fortran/udr6.f90: Likewise.
11709 * testsuite/libgomp.fortran/udr7.f90: Likewise.
11710 * testsuite/libgomp.fortran/udr8.f90: Likewise.
11711 * testsuite/libgomp.fortran/udr9.f90: Likewise.
11712 * testsuite/libgomp.fortran/vla1.f90: Likewise.
11713 * testsuite/libgomp.fortran/vla2.f90: Likewise.
11714 * testsuite/libgomp.fortran/vla3.f90: Likewise.
11715 * testsuite/libgomp.fortran/vla4.f90: Likewise.
11716 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11717 * testsuite/libgomp.fortran/vla6.f90: Likewise.
11718 * testsuite/libgomp.fortran/vla7.f90: Likewise.
11719 * testsuite/libgomp.fortran/vla8.f90: Likewise.
11720 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11721 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11722 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11723 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11724 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11725 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11726 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11727 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11728 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11729 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11730 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11731 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11732 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11733 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11734 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11735 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11736 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11737 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11738 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11739 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11740 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11741 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11742 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11743 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11744 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11745 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11746 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11747 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11748 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11749 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11750 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11751 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11752 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11753 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11754 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11755 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11756 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11757 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11758 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11759 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11760 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11761 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11762 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11763 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11764 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11765 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11766 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11767 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11768 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11769 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11770 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11771 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11772 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11773 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11774 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11775 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11776 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11777 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11778 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11779 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11780 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11781 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11782 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11783 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11784 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11785 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11786 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11787 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11788 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11789 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11790 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11791 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11792 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11793 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11794 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
11795 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11796 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11797 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11798 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11799 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11800 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11801 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11802 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
11803 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
11804 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11805 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11806 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11807 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11808 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
11809 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
11810 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
11811 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11812 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11813 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
11814
79cf14ae
RB
118152018-03-20 Richard Biener <rguenther@suse.de>
11816
11817 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
11818 parallelizable loop.
11819
14e335ed
IT
118202018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11821
11822 PR target/84148
11823 * configure: Regenerate.
11824
83d9be55
JJ
118252018-02-16 Jakub Jelinek <jakub@redhat.com>
11826
11827 PR fortran/84418
11828 * libgomp.fortran/pr84418-1.f90: New test.
11829 * libgomp.fortran/pr84418-2.f90: New test.
11830
d1fe6124
JJ
118312018-02-14 Jakub Jelinek <jakub@redhat.com>
11832
11833 PR fortran/84313
11834 * testsuite/libgomp.fortran/threadprivate4.f90: Add
11835 -std=f2003 -fall-intrinsics into dg-additional-options.
11836
3d224921
MJ
118372018-02-08 Martin Jambor <mjambor@suse.cz>
11838
11839 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
11840 clonable.
11841
c7c30edd
MJ
118422018-02-08 Martin Jambor <mjambor@suse.cz>
11843
11844 * testsuite/libgomp.hsa.c/staticvar.c: New test.
11845
f320fdfd
RO
118462018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11847
11848 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
11849 [__cplusplus]: Declare extern "C".
11850
c31bc4ac
TV
118512018-02-07 Tom de Vries <tom@codesourcery.com>
11852
11853 PR libgomp/84217
11854 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
11855
99ae7ce5
CS
118562018-01-29 Christoph Spiel <cspiel@freenet.de>
11857 Jakub Jelinek <jakub@redhat.com>
11858
11859 PR libgomp/84096
11860 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
11861 instead of omp_lock_t.
11862
e77a1236
TV
118632018-01-25 Tom de Vries <tom@codesourcery.com>
11864
11865 PR target/84028
11866 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
11867
3dede32b
TV
118682018-01-24 Tom de Vries <tom@codesourcery.com>
11869
11870 PR target/83589
11871 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
11872
be606483
TV
118732018-01-24 Tom de Vries <tom@codesourcery.com>
11874
11875 PR target/81352
11876 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
11877
8c8e9a6b
TV
118782018-01-19 Tom de Vries <tom@codesourcery.com>
11879 Cesar Philippidis <cesar@codesourcery.com>
11880
11881 PR target/83920
11882 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
11883 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
11884
65e6aea3
JJ
118852018-01-03 Jakub Jelinek <jakub@redhat.com>
11886
85ec4feb
JJ
11887 Update copyright years.
11888
65e6aea3
JJ
11889 * libgomp.texi: Bump @copying's copyright year.
11890
60bf575c
TV
118912017-12-30 Tom de Vries <tom@codesourcery.com>
11892
11893 PR libgomp/83046
11894 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
11895 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
11896
7ec16b79
TV
118972017-12-27 Tom de Vries <tom@codesourcery.com>
11898
11899 PR c++/83046
11900 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
11901 (test_nonstatic): Fix return type to workaround PR83046.
11902
ac550b9a
JJ
119032017-12-05 Jakub Jelinek <jakub@redhat.com>
11904
11905 PR testsuite/83281
11906 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
11907 j suffix instead of i.
11908 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
11909 Likewise.
11910
ebdc83f0
CP
119112017-12-01 Cesar Philippidis <cesar@codesourcery.com>
11912
11913 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
11914 call to acc_wait (1).
11915
3b3e6283
JJ
119162017-11-24 Jakub Jelinek <jakub@redhat.com>
11917
11918 PR fortran/81304
11919 * testsuite/libgomp.fortran/pr81304.f90: New test.
11920
3b575376
JJ
119212017-11-23 Jakub Jelinek <jakub@redhat.com>
11922
11923 PR fortran/81841
11924 * libgomp.fortran/pr81841.f90: New test.
11925
b13547d8
JJ
119262017-11-22 Jakub Jelinek <jakub@redhat.com>
11927
11928 PR libgomp/83106
11929 * target.c (gomp_target_init): Compute lengths just once and
11930 use them in both malloc size and subsequent copying.
11931
efe33ced
IT
119322017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11933
11934 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
11935 * acinclude.m4: Add cet.m4.
11936 * configure: Regenerate.
11937 * Makefile.in: Likewise.
11938 * testsuite/Makefile.in: Likewise.
11939
a7cf2612
TV
119402017-11-15 Tom de Vries <tom@codesourcery.com>
11941
11942 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
11943 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
11944 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
11945 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
11946 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
11947 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
11948
dde76623
TV
119492017-11-14 Tom de Vries <tom@codesourcery.com>
11950
11951 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
11952 non-nvidia devices.
11953
4dbeb716
JJ
119542017-11-07 Jakub Jelinek <jakub@redhat.com>
11955
11956 PR c++/82835
11957 * testsuite/libgomp.c++/pr82835.C: New test.
11958
454f8b2b
ML
119592017-11-06 Martin Liska <mliska@suse.cz>
11960
11961 * testsuite/libgomp.c++/loop-2.C: Return a value
11962 for functions with non-void return type, or change type to void,
11963 or add -Wno-return-type for test.
11964 * testsuite/libgomp.c++/loop-4.C: Likewise.
11965 * testsuite/libgomp.c++/parallel-1.C: Likewise.
11966 * testsuite/libgomp.c++/shared-1.C: Likewise.
11967 * testsuite/libgomp.c++/single-1.C: Likewise.
11968 * testsuite/libgomp.c++/single-2.C: Likewise.
11969
12e9c8ce
TV
119702017-10-31 Tom de Vries <tom@codesourcery.com>
11971
11972 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
11973 "do {} while (false)".
11974 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
11975 after HSA_DEBUG call.
11976
7324369a
JJ
119772017-10-28 Jakub Jelinek <jakub@redhat.com>
11978
11979 * target.c (struct gomp_coalesce_buf): New type.
11980 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
11981 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
11982 (gomp_copy_host2dev): Add CBUF argument, if copying into
11983 the cached ranges, memcpy into buffer instead of copying
11984 into device.
11985 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
11986 Add CBUF argument, pass it through to other calls.
11987 (gomp_map_vars): Aggregate copies from host to device if small enough
11988 and with small enough gaps in between into memcpy into a buffer and
11989 fewer host to device copies from the buffer.
11990 (gomp_update): Adjust gomp_copy_host2dev caller.
11991
933ab0e6
TS
119922017-10-17 Thomas Schwinge <thomas@codesourcery.com>
11993
11994 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
11995 run" directive.
11996 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11997 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11998 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11999 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12000
92d5d01a
TV
120012017-10-16 Tom de Vries <tom@codesourcery.com>
12002
12003 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12004 openacc_nvidia_accel_selected.
12005 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12006 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12007 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12008 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12009 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12010 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12011 openacc_nvidia_accel_selected. Skip for shared memory device.
12012 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12013 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12014
191411e4
MJ
120152017-10-09 Martin Jambor <mjambor@suse.cz>
12016
12017 PR hsa/82416
12018 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12019
e923330e
TV
120202017-10-07 Tom de Vries <tom@codesourcery.com>
12021
12022 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12023 Remove acc_device_nvidia references.
12024 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12025 Same.
12026
8fe3ed4c
TV
120272017-10-05 Tom de Vries <tom@codesourcery.com>
12028
12029 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12030 vector_length(32) clause from acc parallel directive.
12031 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12032
26596ee5
TV
120332017-10-04 Tom de Vries <tom@codesourcery.com>
12034
12035 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12036 (main): Reduce sum of arr elements. Assert that hres is exactly
12037 representable in 32-bit floating point.
12038 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12039 (main): Reduce sum of arr elements. Assert that hres and hmres are
12040 exactly representable in 32-bit floating point.
12041 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12042
5c561fa9
TV
120432017-09-28 Tom de Vries <tom@codesourcery.com>
12044
12045 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12046 setting.
12047 * testsuite/libgomp.c++/pr69393.C: Same.
12048 * testsuite/libgomp.c++/taskloop-1.C: Same.
12049 * testsuite/libgomp.c++/taskloop-3.C: Same.
12050 * testsuite/libgomp.c++/taskloop-4.C: Same.
12051 * testsuite/libgomp.c/for-4.c: Same.
12052 * testsuite/libgomp.c/pr66199-3.c: Same.
12053 * testsuite/libgomp.c/pr66199-4.c: Same.
12054 * testsuite/libgomp.c/pr66199-6.c: Same.
12055 * testsuite/libgomp.c/taskloop-1.c: Same.
12056 * testsuite/libgomp.c/taskloop-3.c: Same.
12057 * testsuite/libgomp.c/taskloop-4.c: Same.
12058 * testsuite/libgomp.fortran/aligned1.f03: Same.
12059 * testsuite/libgomp.fortran/condinc1.f: Same.
12060 * testsuite/libgomp.fortran/condinc3.f90: Same.
12061 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12062 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12063 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12064 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12065 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12066 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12067 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12068 * testsuite/libgomp.fortran/recursion1.f90: Same.
12069 * testsuite/libgomp.fortran/target2.f90: Same.
12070 * testsuite/libgomp.fortran/target5.f90: Same.
12071 * testsuite/libgomp.fortran/task3.f90: Same.
12072
7d6206fe
TV
120732017-09-28 Tom de Vries <tom@codesourcery.com>
12074
12075 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12076 vector_length(32) clause from acc parallel directive.
12077 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12078
84c8627c
TV
120792017-09-27 Tom de Vries <tom@codesourcery.com>
12080
12081 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12082 Remove acc_device_nvidia references.
12083
ebc6a85e
TV
120842017-09-16 Tom de Vries <tom@codesourcery.com>
12085
12086 PR c/81875
12087 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12088
82419efb
TV
120892017-09-14 Tom de Vries <tom@codesourcery.com>
12090
12091 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12092 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12093 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12094 * testsuite/libgomp.c/c.exp: Include test-cases from
12095 libgomp.c-c++-common.
12096 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12097 files.
12098
8b586510
JJ
120992017-09-14 Jakub Jelinek <jakub@redhat.com>
12100
12101 PR c++/81314
12102 * testsuite/libgomp.c++/pr81314.C: New test.
12103
9651fbaf
GP
121042017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12105
12106 * libgomp.texi (Top): www.openacc.org now uses https.
12107 (Enabling OpenACC): Ditto.
12108 (acc_get_num_devices): Ditto.
12109 (acc_set_device_type): Ditto.
12110 (acc_get_device_type): Ditto.
12111 (acc_set_device_num): Ditto.
12112 (acc_get_device_num): Ditto.
12113 (acc_async_test): Ditto.
12114 (acc_async_test_all): Ditto.
12115 (acc_wait): Ditto.
12116 (acc_wait_all): Ditto.
12117 (acc_wait_all_async): Ditto.
12118 (acc_wait_async): Ditto.
12119 (acc_init): Ditto.
12120 (acc_shutdown): Ditto.
12121 (acc_on_device): Ditto.
12122 (acc_malloc): Ditto.
12123 (acc_free): Ditto.
12124 (acc_copyin): Ditto.
12125 (acc_present_or_copyin): Ditto.
12126 (acc_create): Ditto.
12127 (acc_present_or_create): Ditto.
12128 (acc_copyout): Ditto.
12129 (acc_delete): Ditto.
12130 (acc_update_device): Ditto.
12131 (acc_update_self): Ditto.
12132 (acc_map_data): Ditto.
12133 (acc_unmap_data): Ditto.
12134 (acc_deviceptr): Ditto.
12135 (acc_hostptr): Ditto.
12136 (acc_is_present): Ditto.
12137 (acc_memcpy_to_device): Ditto.
12138 (acc_memcpy_from_device): Ditto.
12139 (acc_get_current_cuda_device): Ditto.
12140 (acc_get_current_cuda_context): Ditto.
12141 (acc_get_cuda_stream): Ditto.
12142 (acc_set_cuda_stream): Ditto.
12143 (ACC_DEVICE_TYPE): Ditto.
12144 (ACC_DEVICE_NUM): Ditto.
12145 (OpenACC Library Interoperability): Ditto.
12146
50aa16c3
JJ
121472017-08-09 Jakub Jelinek <jakub@redhat.com>
12148
12149 PR c/81687
12150 * testsuite/libgomp.c/pr81687-1.c: New test.
12151 * testsuite/libgomp.c/pr81687-2.c: New test.
12152
56b5041c
JJ
121532017-08-07 Jakub Jelinek <jakub@redhat.com>
12154
12155 PR c/69389
12156 * testsuite/libgomp.c/pr69389.c: New test.
12157 * testsuite/libgomp.c++/pr69389.C: New test.
12158
f4c222c0
TV
121592017-08-07 Tom de Vries <tom@codesourcery.com>
12160
12161 PR middle-end/78266
12162 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12163 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12164
a40ff0ae
JJ
121652017-07-27 Jakub Jelinek <jakub@redhat.com>
12166
12167 PR c/45784
12168 * testsuite/libgomp.c/pr45784.c: New test.
12169 * testsuite/libgomp.c++/pr45784.C: New test.
12170
3717fbe3
TV
121712017-07-19 Tom de Vries <tom@codesourcery.com>
12172
12173 * testsuite/libgomp.oacc-c/vec.c: New test.
12174
9607b014
TV
121752017-07-03 Tom de Vries <tom@codesourcery.com>
12176
12177 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12178
dfb15f6b
TV
121792017-06-27 Tom de Vries <tom@codesourcery.com>
12180
12181 * plugin/plugin-nvptx.c (notify_var): New function.
12182 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12183
22f1a037
TV
121842017-06-27 Tom de Vries <tom@codesourcery.com>
12185
12186 * env.c (parse_unsigned_long_1): Factor out of ...
12187 (parse_unsigned_long): ... here.
12188 (parse_int_1): Factor out of ...
12189 (parse_int): ... here.
12190 (parse_int_secure): New function.
12191 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12192 * secure_getenv.h: Factor out of ...
12193 * plugin/plugin-hsa.c: ... here.
12194 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12195
d54d1fc3
JJ
121962017-06-21 Jakub Jelinek <jakub@redhat.com>
12197
12198 PR c++/81130
12199 * testsuite/libgomp.c++/pr81130.C: New test.
12200
4f4b0ab8
RO
122012017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12202
12203 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12204 default args.
12205 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12206 dg-xfail-run-if default args.
12207
40ffd95f
BE
122082017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12209
12210 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12211 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12212
01275e1e
JJ
122132017-05-30 Jakub Jelinek <jakub@redhat.com>
12214
12215 PR libgomp/80822
12216 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12217 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12218 sibling lists, depending on level just pick up what CPUs to put
12219 together into a place vs. whether add multiple ordered places.
12220
78672bd8
TS
122212017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12222
7ce64403
TS
12223 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12224 * libgomp.map (OACC_2.0.1): Add these.
12225 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12226 for "acc_wait", and "acc_wait_all", respectively.
12227 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12228 for "acc_wait", and "acc_wait_all", respectively.
12229 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12230 * libgomp.texi (acc_wait, acc_wait_all): Update.
12231 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12232 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12233 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12234
318686c2
TS
12235 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12236 acc_present_or_copyin and acc_present_or_create procedures,
12237 respectively.
12238 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12239 generally different variants of OpenACC Runtime Library functions.
12240 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12241
a6745534
TS
12242 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12243 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12244
9b94fbc7
TS
12245 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12246 of preprocessor definitions.
12247 * libgomp.h (strong_alias): Guard by "#ifdef
12248 HAVE_ATTRIBUTE_ALIAS".
12249 * oacc-mem.c: Provide "acc_pcreate" as alias for
12250 "acc_present_or_create", and "acc_pcopyin" as alias for
12251 "acc_present_or_copyin".
12252 * libgomp.map: New version "OACC_2.0.1".
12253 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12254 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12255 its content into...
12256 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12257 Extend testing.
12258
78672bd8
TS
12259 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12260 when disabling nvptx offloading.
12261
0c36d0d5
TS
122622017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12263
fd71a9a2
TS
12264 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12265 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12266 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12267
0c36d0d5
TS
12268 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12269 * testsuite/lib/libgomp.exp
12270 (check_effective_target_openacc_nvidia_accel_configured): New
12271 proc.
12272 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12273 (check_effective_target_c++): New procs.
12274 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12275 (check_effective_target_c++): Likewise.
12276
c24783c4
JJ
122772017-05-22 Jakub Jelinek <jakub@redhat.com>
12278
655e5265
JJ
12279 PR middle-end/80809
12280 * testsuite/libgomp.c/pr80809-2.c: New test.
12281 * testsuite/libgomp.c/pr80809-3.c: New test.
12282
e9e2ef9f
JJ
12283 PR middle-end/80809
12284 * testsuite/libgomp.c/pr80809-1.c: New test.
12285
c24783c4
JJ
12286 PR middle-end/80853
12287 * testsuite/libgomp.c/pr80853.c: New test.
12288
0da2f96a
TS
122892017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12290
7fd549d2
TS
12291 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12292 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12293 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12294 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12295 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12296
0da2f96a
TS
12297 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12298 Debug output for failure.
12299
62ffe920
RO
123002017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12301
12302 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12303
f49215b1
JJ
123042017-04-27 Jakub Jelinek <jakub@redhat.com>
12305
12306 PR bootstrap/80531
12307 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12308 bootstrap compare failures.
12309
2260d19d
AM
123102017-04-20 Alexander Monakov <amonakov@ispras.ru>
12311
12312 * testsuite/libgomp.c/target-36.c: New testcase.
12313
19929ba9
JJ
123142017-04-13 Jakub Jelinek <jakub@redhat.com>
12315
12316 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12317 instead of char.
12318
fbc698e0
JJ
123192017-04-11 Jakub Jelinek <jakub@redhat.com>
12320
12321 PR libgomp/80394
12322 * testsuite/libgomp.c/pr80394.c: New test.
12323
c4060df4
JJ
123242017-04-04 Jakub Jelinek <jakub@redhat.com>
12325
12326 PR libgomp/79876
12327 * config/posix/thread-stacksize.h: New file.
12328 * config/darwin/thread-stacksize.h: New file.
12329 * config/nvptx/thread-stacksize.h: New file.
12330 * env.c: Include thread-stacksize.h.
12331 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12332 instead of 0. Call pthread_attr_setstacksize even if
12333 GOMP_DEFAULT_STACKSIZE is non-zero.
12334
e02d868a
JJ
123352017-03-30 Jakub Jelinek <jakub@redhat.com>
12336
12337 * env.c (initialize_env): Initialize stacksize to 0.
12338
7ba8651e
CP
123392017-03-22 Cesar Philippidis <cesar@codesourcery.com>
12340
12341 PR c++/80029
12342 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12343
eebc5e2d
JJ
123442017-03-08 Jakub Jelinek <jakub@redhat.com>
12345
12346 PR c/79940
12347 * testsuite/libgomp.c/pr79940.c: New test.
12348
1eb08f52
RO
123492017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12350
12351 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12352 targets.
12353 Add __float128 options.
12354
b0f78ff3
JDA
123552017-02-11 John David Anglin <danglin@gcc.gnu.org>
12356
12357 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12358 hppa*-*-* dg-skip-if directive.
12359
1bbe0d8f
JJ
123602017-02-09 Jakub Jelinek <jakub@redhat.com>
12361
12362 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12363 dg-skip-if directive into a comment.
12364
02889d23
CLT
123652017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12366 Chung-Lin Tang <cltang@codesourcery.com>
12367
12368 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12369 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12370 add additional case.
12371 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12372 "openacc_nvidia_accel_selected".
12373 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12374 Add num_workers(8) clause.
12375
5896a41d
JDA
123762017-02-08 John David Anglin <danglin@gcc.gnu.org>
12377
12378 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12379 hppa*-*-*.
12380 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12381 include complex.h on hppa*-*-hpux*.
12382 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12383
345a8c17
TS
123842017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12385
e70ab10d
TS
12386 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12387
345a8c17
TS
12388 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12389 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12390 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12391 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12392 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12393 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12394 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12395 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12396 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12397 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12398
dced339c
TS
123992017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12400
12401 * libgomp-plugin.h: #include <stdbool.h>.
12402 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12403 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12404 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12405 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12406 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12407 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12408 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12409 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12410 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12411 (GOMP_OFFLOAD_openacc_async_test)
12412 (GOMP_OFFLOAD_openacc_async_test_all)
12413 (GOMP_OFFLOAD_openacc_async_wait)
12414 (GOMP_OFFLOAD_openacc_async_wait_async)
12415 (GOMP_OFFLOAD_openacc_async_wait_all)
12416 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12417 (GOMP_OFFLOAD_openacc_async_set_async)
12418 (GOMP_OFFLOAD_openacc_create_thread_data)
12419 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12420 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12421 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12422 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12423 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12424 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12425 these.
12426 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12427 (GOMP_OFFLOAD_unload_image): Fix argument types.
12428
23749904
JJ
124292017-01-26 Jakub Jelinek <jakub@redhat.com>
12430
c1cadde1
JJ
12431 * testsuite/lib/libgomp.exp
12432 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12433 check_compile invocation. Fix up removal of executable. Drop
12434 bogus "2>&1" argument.
12435
23749904
JJ
12436 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12437 directive.
12438
124392017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
12440 Martin Jambor <mjambor@suse.cz>
12441
12442 * plugin/hsa.h: Moved to top level include.
12443 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12444
73aa401e
JJ
124452017-01-21 Jakub Jelinek <jakub@redhat.com>
12446
12447 PR other/79046
12448 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12449 of cat to get version from BASE-VER file.
12450 * testsuite/Makefile.in: Regenerated.
12451
b32e85fa
JJ
124522017-01-19 Jakub Jelinek <jakub@redhat.com>
12453
12454 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12455 for _WIN64.
12456
3c36aa6b
JJ
124572017-01-17 Jakub Jelinek <jakub@redhat.com>
12458
d190d5c0
JJ
12459 * plugin/hsa.h: Add GCC runtime library exception.
12460 * plugin/hsa_ext_finalize.h: Likewise.
12461
2393d337
JJ
12462 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12463 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12464 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12465 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12466 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12467 library to link ptx plugin against.
12468 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12469 (CUDA_CALLS): Define.
12470 (cuda_lib, cuda_lib_inited): New variables.
12471 (init_cuda_lib): New function.
12472 (CUDA_CALL_PREFIX): Define.
12473 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12474 (CUDA_CALL): Use FN instead of (FN).
12475 (CUDA_CALL_NOCHECK): Define.
12476 (cuda_error, fini_streams_for_device, select_stream_for_async,
12477 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12478 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12479 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12480 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12481 CUDA_CALL_NOCHECK.
12482 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12483 CUDA_CALL_NOCHECK.
12484 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12485 Use CUDA_CALL_NOCHECK.
12486 * plugin/cuda/cuda.h: New file.
12487 * config.h.in: Regenerated.
12488 * configure: Regenerated.
12489
3c36aa6b
JJ
12490 PR other/79046
12491 * configure.ac: Add GCC_BASE_VER.
12492 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12493 get version from BASE-VER file.
12494 * testsuite/Makefile.in: Regenerated.
12495 * configure: Regenerated.
12496 * Makefile.in: Regenerated.
12497
c508bc2d
FXC
124982017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12499
12500 PR libgomp/60670
12501 * Makefile.am: Make fincludedir multilib-aware.
12502 * Makefile.in: Regenerate.
12503
c1a9c369
JJ
125042017-01-01 Jakub Jelinek <jakub@redhat.com>
12505
cbe34bb5
JJ
12506 Update copyright years.
12507
c1a9c369
JJ
12508 * libgomp.texi: Bump @copying's copyright year.
12509
e7a7f4be
SH
125102016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12511
12512 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12513 pthread_spinlock_t instead of gomp_mutex_t lock.
12514 (gomp_get_thread_pool): Likewise.
12515 (gomp_release_thread_pool): Likewise.
12516 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12517 Likewise.
12518
d313d52c
SH
125192016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12520
12521 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12522 thread pool in case nthreads == 1.
12523
630e3c3a
AM
125242016-11-30 Alexander Monakov <amonakov@ispras.ru>
12525
12526 * config/nvptx/env.c: Delete.
12527 * icv.c: Move definitions of ICV variables back ...
12528 * env.c: ...here. Do not compile environment-related functionality if
12529 LIBGOMP_OFFLOADED_ONLY is set.
12530
9e38af5c
AM
125312016-11-30 Alexander Monakov <amonakov@ispras.ru>
12532
12533 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12534 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12535 * configure: Regenerate.
12536 * config.h.in: Likewise.
12537
f96b7f1f
AM
125382016-11-30 Alexander Monakov <amonakov@ispras.ru>
12539
12540 * Makefile.in: Regenerate with automake-1.11.6.
12541 * aclocal.m4: Likewise.
12542 * configure: Likewise.
12543 * testsuite/Makefile.in: Likewise.
12544
6a6951b1
AM
125452016-11-28 Alexander Monakov <amonakov@ispras.ru>
12546
12547 * config/nvptx/critical.c: Delete to use generic implementation.
12548
c7ac071f
JH
125492016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12550
12551 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12552 ../../affinity.c as fallback.
12553 * config/nvptx/affinity.c: Delete to use fallback implementation.
12554
6103184e 125552016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 12556 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
12557 Dmitry Melnik <dm@ispras.ru>
12558
12559 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12560 * Makefile.in. Regenerate.
12561 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12562 (LIBGOMP_USE_PTHREADS): ...here; new define.
12563 * configure: Regenerate.
12564 * config.h.in: Likewise.
12565 * config/posix/affinity.c: Move to...
12566 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12567 interface by LIBGOMP_USE_PTHREADS.
12568 * critical.c: Split out GOMP_atomic_{start,end} into...
12569 * atomic.c: ...here (new file).
12570 * env.c: Split out ICV definitions into...
12571 * icv.c: ...here (new file) and...
12572 * icv-device.c: ...here. New file.
12573 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12574 (gomp_destroy_lock_30): Ditto.
12575 (gomp_set_lock_30): Ditto.
12576 (gomp_unset_lock_30): Ditto.
12577 (gomp_test_lock_30): Ditto.
12578 (gomp_init_nest_lock_30): Ditto.
12579 (gomp_destroy_nest_lock_30): Ditto.
12580 (gomp_set_nest_lock_30): Ditto.
12581 (gomp_unset_nest_lock_30): Ditto.
12582 (gomp_test_nest_lock_30): Ditto.
12583 * lock.c: New.
12584 * config/nvptx/lock.c: New.
12585 * config/nvptx/bar.c: New.
12586 * config/nvptx/bar.h: New.
12587 * config/nvptx/doacross.h: New.
12588 * config/nvptx/error.c: New.
12589 * config/nvptx/icv-device.c: New.
12590 * config/nvptx/mutex.h: New.
12591 * config/nvptx/pool.h: New.
12592 * config/nvptx/proc.c: New.
12593 * config/nvptx/ptrlock.h: New.
12594 * config/nvptx/sem.h: New.
12595 * config/nvptx/simple-bar.h: New.
12596 * config/nvptx/target.c: New.
12597 * config/nvptx/task.c: New.
12598 * config/nvptx/team.c: New.
12599 * config/nvptx/time.c: New.
12600 * config/posix/simple-bar.h: New.
12601 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12602 (gomp_num_teams_var): Declare.
12603 (struct gomp_thread_pool): Change threads_dock member to
12604 gomp_simple_barrier_t.
12605 [__nvptx__] (gomp_thread): New implementation.
12606 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12607 (gomp_thread_destructor): Ditto.
12608 (gomp_init_thread_affinity): Ditto.
12609 * team.c: Guard uses of Pthreads-specific interfaces by
12610 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12611 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12612 * config/nvptx/alloc.c: Delete.
12613 * config/nvptx/barrier.c: Ditto.
12614 * config/nvptx/fortran.c: Ditto.
12615 * config/nvptx/iter.c: Ditto.
12616 * config/nvptx/iter_ull.c: Ditto.
12617 * config/nvptx/loop.c: Ditto.
12618 * config/nvptx/loop_ull.c: Ditto.
12619 * config/nvptx/ordered.c: Ditto.
12620 * config/nvptx/parallel.c: Ditto.
12621 * config/nvptx/priority_queue.c: Ditto.
12622 * config/nvptx/sections.c: Ditto.
12623 * config/nvptx/single.c: Ditto.
12624 * config/nvptx/splay-tree.c: Ditto.
12625 * config/nvptx/work.c: Ditto.
12626 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12627 -foffload=-lgfortran in addition to -lgfortran.
12628 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12629 * plugin/plugin-nvptx.c: Include <limits.h>.
12630 (struct targ_fn_descriptor): Add new fields.
12631 (struct ptx_device): Ditto. Set them...
12632 (nvptx_open_device): ...here.
12633 (nvptx_adjust_launch_bounds): New.
12634 (nvptx_host2dev): Allow NULL 'nvthd'.
12635 (nvptx_dev2host): Ditto.
12636 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12637 (link_ptx): Adjust log sizes.
12638 (nvptx_host2dev): Allow NULL 'nvthd'.
12639 (nvptx_dev2host): Ditto.
12640 (nvptx_set_clocktick): New. Use it...
12641 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
12642 fields.
12643 (GOMP_OFFLOAD_dev2dev): New.
12644 (nvptx_adjust_launch_bounds): New.
12645 (nvptx_stacks_size): New.
12646 (nvptx_stacks_alloc): New.
12647 (nvptx_stacks_free): New.
12648 (GOMP_OFFLOAD_run): New.
12649 (GOMP_OFFLOAD_async_run): New (stub).
12650
56b1c60e
MJ
126512016-11-23 Martin Jambor <mjambor@suse.cz>
12652
12653 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12654 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12655 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12656
b8d89b03 126572016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 12658 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
12659
12660 * plugin/hsa.h: New file.
12661 * plugin/hsa_ext_finalize.h: New file.
12662 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
12663 header file unistd.h, and functions secure_getenv, __secure_getenv,
12664 getuid, geteuid, getgid and getegid.
12665 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12666 -D_GNU_SOURCE.
12667 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12668 Handle various cases of secure_getenv presence, add an implementation
12669 when we can test effective UID and GID.
12670 (struct hsa_runtime_fn_info): New structure.
12671 (hsa_runtime_fn_info hsa_fns): New variable.
12672 (hsa_runtime_lib): Likewise.
12673 (support_cpu_devices): Likewise.
12674 (init_enviroment_variables): Load newly introduced ENV
12675 variables.
12676 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12677 (hsa_fatal): Likewise.
12678 (DLSYM_FN): New macro.
12679 (init_hsa_runtime_functions): New function.
12680 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12681 structure. Depending on environment, also allow CPU devices.
12682 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12683 (get_kernarg_memory_region): Likewise.
12684 (GOMP_OFFLOAD_init_device): Likewise.
12685 (destroy_hsa_program): Likewise.
12686 (init_basic_kernel_info): New function.
12687 (GOMP_OFFLOAD_load_image): Use it.
12688 (create_and_finalize_hsa_program): Call hsa run-time functions via
12689 hsa_fns structure.
12690 (create_single_kernel_dispatch): Likewise.
12691 (release_kernel_dispatch): Likewise.
12692 (init_single_kernel): Likewise.
12693 (parse_target_attributes): Allow up multiple HSA grid dimensions.
12694 (get_group_size): New function.
12695 (run_kernel): Likewise.
12696 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12697 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12698 structure.
12699 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12700 * testsuite/libgomp-test-support.exp.in: Likewise.
12701 * Makefile.in: Regenerated.
12702 * aclocal.m4: Likewise.
12703 * config.h.in: Likewise.
12704 * configure: Likewise.
12705 * testsuite/Makefile.in: Likewise.
12706
18d2ada8 127072016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 12708 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
12709
12710 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12711 mapping clauses to target constructs.
12712 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12713
84c1b9d3
MK
127142016-11-15 Matthias Klose <doko@ubuntu.com>
12715
12716 * configure: Regenerate.
12717
b4c3a85b
JJ
127182016-11-10 Jakub Jelinek <jakub@redhat.com>
12719
8ebd1b31
JJ
12720 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12721 * omp_lib.h.in (openmp_version): Likewise.
12722 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12723 of 201307.
12724 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12725
b4c3a85b
JJ
12726 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12727 (fib_wrapper): Add map(from: x) clause.
12728 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12729 (e_53_2): Likewise.
12730 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12731 (accum): Add map(tmp) clause.
12732 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12733 (accum): Add map(tofrom: tmp) clause.
12734 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12735 (gramSchmidt): Likewise.
12736 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12737 map(tofrom: sum) clause.
12738 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12739 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
12740 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12741 only allowed on the loop iterator.
12742 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12743 * testsuite/libgomp.fortran/taskloop2.f90: New test.
12744 * testsuite/libgomp.fortran/taskloop4.f90: New test.
12745 * testsuite/libgomp.fortran/doacross1.f90: New test.
12746 * testsuite/libgomp.fortran/doacross3.f90: New test.
12747 * testsuite/libgomp.fortran/taskloop1.f90: New test.
12748 * testsuite/libgomp.fortran/taskloop3.f90: New test.
12749 * testsuite/libgomp.fortran/doacross2.f90: New test.
12750 * testsuite/libgomp.c/doacross-1.c (main): Add missing
12751 #pragma omp atomic read.
12752 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12753 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12754
6668eb45
CP
127552016-11-02 Cesar Philippidis <cesar@codesourcery.com>
12756 Nathan Sidwell <nathan@acm.org>
12757
12758 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12759 to determine default geometry.
12760 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12761 dimension.
12762
f10e37a1
JJ
127632016-11-01 Jakub Jelinek <jakub@redhat.com>
12764
12765 * hashtab.h: Use standard GPLv3 with runtime exception
12766 boilerplate.
12767
015c7760
AH
127682016-10-27 Aldy Hernandez <aldyh@redhat.com>
12769
12770 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12771 size when allocating new thread.
12772
20a1e5b8
MP
127732016-09-14 Marek Polacek <polacek@redhat.com>
12774
12775 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12776
1cad9284
JJ
127772016-08-19 Jakub Jelinek <jakub@redhat.com>
12778
12779 PR fortran/71014
12780 * testsuite/libgomp.fortran/pr71014.f90: New test.
12781
2c71d454
CLT
127822016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
12783
12784 PR middle-end/70895
12785 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12786 firstprivate clauses.
12787 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12788 copy clauses.
12789 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12790 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12791 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12792 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12793 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12794 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12795 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12796 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12797 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12798 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12799 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12800 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
12801
7c713714
CLT
128022016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
12803
12804 PR fortran/70598
12805 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
12806
5c934396
JJ
128072016-08-08 Jakub Jelinek <jakub@redhat.com>
12808
12809 PR c++/58706
12810 * testsuite/libgomp.c++/pr58706.C: New test.
12811
9ef64248
TS
128122016-08-04 Thomas Schwinge <thomas@codesourcery.com>
12813
bbc79c0e
TS
12814 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
12815 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
12816 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
12817 Likewise.
12818 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
12819 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
12820 Likewise.
12821 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
12822
9ef64248
TS
12823 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
12824 test, and don't hardcode -O0.
12825
c1311c86
NS
128262016-08-03 Nathan Sidwell <nathan@codesourcery.com>
12827
12828 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
12829
b1c9c068
CP
128302016-07-15 Cesar Philippidis <cesar@codesourcery.com>
12831
12832 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
12833 test.
12834
b4410f63
L
128352016-07-03 H.J. Lu <hongjiu.lu@intel.com>
12836
12837 PR middle-end/71734
12838 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
12839 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
12840
a8dbab92
JJ
128412016-07-01 Jakub Jelinek <jakub@redhat.com>
12842
12843 PR fortran/71717
12844 * testsuite/libgomp.fortran/associate3.f90: New test.
12845
9b6a8d0f
JJ
128462016-06-17 Jakub Jelinek <jakub@redhat.com>
12847
12848 * testsuite/libgomp.c++/target-21.C: New test.
12849
283635f9
JJ
128502016-06-16 Jakub Jelinek <jakub@redhat.com>
12851
12852 * testsuite/libgomp.c++/target-20.C: New test.
12853
27d6ba88
TS
128542016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12855 Cesar Philippidis <cesar@codesourcery.com>
12856
12857 PR middle-end/71373
12858 * libgomp.oacc-c/nested-function-1.c: New file.
12859 * libgomp.oacc-c/nested-function-2.c: Likewise.
12860 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12861 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12862 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12863
4b1ffdb1
TS
128642016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12865
12866 PR c/71381
12867 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
12868 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
12869 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
12870
d821b794
CLT
128712016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
12872
12873 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
12874 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
12875
3616a8c5
CP
128762016-06-01 Cesar Philippidis <cesar@codesourcery.com>
12877
12878 PR c/70688
5eed9a88 12879 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 12880
7211a097
JJ
128812016-05-26 Jakub Jelinek <jakub@redhat.com>
12882
12883 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
12884 instead of invalid schedule(static, 0).
12885 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12886
b4557008
CLT
128872016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12888
12889 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
12890 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
12891 parameter, use to set async stream around call to gomp_unmap_vars,
12892 call gomp_unmap_vars() with 'do_copyfrom' set to true.
12893 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
12894 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
12895 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
12896 (event_add): Add int parameter, initialize 'val' field when
12897 adding new ptx_event struct.
12898 (nvptx_evec): Adjust event_add() call arguments.
12899 (nvptx_host2dev): Likewise.
12900 (nvptx_dev2host): Likewise.
12901 (nvptx_wait_async): Likewise.
12902 (nvptx_wait_all_async): Likewise.
12903 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
12904 pass to event_add() call.
12905 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
12906 parameter.
12907 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
12908 call openacc.register_async_cleanup_func() hook.
12909 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
12910 * target.c (gomp_copy_from_async): Delete function.
12911 (gomp_map_vars): Remove async_refcount.
12912 (gomp_unmap_vars): Likewise.
12913 (gomp_load_image_to_device): Likewise.
12914 (omp_target_associate_ptr): Likewise.
12915 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
12916 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
12917 (gomp_copy_from_async): Remove.
12918
6ce13072
CLT
129192016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12920
12921 * target.c (gomp_device_copy): New function.
12922 (gomp_copy_host2dev): Likewise.
12923 (gomp_copy_dev2host): Likewise.
12924 (gomp_free_device_memory): Likewise.
12925 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
12926 (gomp_map_pointer): Likewise.
12927 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
12928 NULL value from alloc_func plugin hook.
12929 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
12930 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
12931 (gomp_unmap_vars): Likewise.
12932 (gomp_update): Adjust to call gomp_copy_dev2host and
12933 gomp_copy_host2dev functions.
12934 (gomp_unload_image_from_device): Handle false value from
12935 unload_image_func plugin hook.
12936 (gomp_init_device): Handle false value from init_device_func
12937 plugin hook.
12938 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
12939 (omp_target_free): Adjust to call gomp_free_device_memory.
12940 (omp_target_memcpy): Handle return values from host2dev_func,
12941 dev2host_func, and dev2dev_func plugin hooks.
12942 (omp_target_memcpy_rect_worker): Likewise.
12943 (gomp_target_fini): Handle false value from fini_device_func
12944 plugin hook.
12945 * libgomp.h (struct gomp_device_descr): Adjust return type of
12946 init_device_func, fini_device_func, unload_image_func, free_func,
12947 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
12948 * oacc-init.c (acc_shutdown_1): Handle false value from
12949 fini_device_func plugin hook.
12950 * oacc-host.c (host_init_device): Change return type to bool.
12951 (host_fini_device): Likewise.
12952 (host_unload_image): Likewise.
12953 (host_free): Likewise.
12954 (host_dev2host): Likewise.
12955 (host_host2dev): Likewise.
12956 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
12957 (acc_memcpy_to_device): Likewise.
12958 (acc_memcpy_from_device): Likewise.
12959 (delete_copyout): Add libfnname parameter, handle free_func
12960 hook fatal error case.
12961 (acc_delete): Adjust delete_copyout call.
12962 (acc_copyout): Likewise.
12963 (update_dev_host): Move gomp_mutex_unlock to after
12964 host2dev/dev2host hook calls.
12965
12966 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
12967 to 'hsa_error_msg', for clarity.
12968 (hsa_fatal): Likewise.
12969 (hsa_error): New function.
12970 (init_hsa_context): Change return type to bool, adjust to return
12971 false on error.
12972 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
12973 return value.
12974 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
12975 return false on error.
12976 (get_agent_info): Adjust to return NULL on error.
12977 (destroy_hsa_program): Change return type to bool, adjust to
12978 return false on error.
12979 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
12980 (destroy_module): Change return type to bool, adjust to
12981 return false on error.
12982 (GOMP_OFFLOAD_unload_image): Likewise.
12983 (GOMP_OFFLOAD_fini_device): Likewise.
12984 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
12985 (GOMP_OFFLOAD_free): Change to return false when called.
12986 (GOMP_OFFLOAD_dev2host): Likewise.
12987 (GOMP_OFFLOAD_host2dev): Likewise.
12988 (GOMP_OFFLOAD_dev2dev): Likewise.
12989
12990 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
12991 (CUDA_CALL): Likewise.
12992 (CUDA_CALL_ASSERT): Likewise.
12993 (map_init): Change return type to bool, use CUDA_CALL* macros.
12994 (map_fini): Likewise.
12995 (init_streams_for_device): Change return type to bool, adjust
12996 call to map_init.
12997 (fini_streams_for_device): Change return type to bool, adjust
12998 call to map_fini.
12999 (select_stream_for_async): Release stream_lock before calls to
13000 GOMP_PLUGIN_fatal, adjust call to map_init.
13001 (nvptx_init): Use CUDA_CALL* macros.
13002 (nvptx_attach_host_thread_to_device): Change return type to bool,
13003 use CUDA_CALL* macros.
13004 (nvptx_open_device): Use CUDA_CALL* macros.
13005 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13006 macros.
13007 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13008 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13009 (nvptx_exec): Use CUDA_CALL* macros.
13010 (nvptx_alloc): Use CUDA_CALL* macros.
13011 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13012 (nvptx_host2dev): Likewise.
13013 (nvptx_dev2host): Likewise.
13014 (nvptx_wait): Use CUDA_CALL* macros.
13015 (nvptx_wait_async): Likewise.
13016 (nvptx_wait_all): Likewise.
13017 (nvptx_wait_all_async): Likewise.
13018 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13019 use CUDA_CALL* macros, adjust call to map_fini.
13020 (GOMP_OFFLOAD_init_device): Change return type to bool,
13021 adjust code accordingly.
13022 (GOMP_OFFLOAD_fini_device): Likewise.
13023 (GOMP_OFFLOAD_load_image): Adjust calls to
13024 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13025 use CUDA_CALL* macros.
13026 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13027 return code.
13028 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13029 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13030 handle error return.
13031 (GOMP_OFFLOAD_dev2host): Likewise.
13032 (GOMP_OFFLOAD_host2dev): Likewise.
13033 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13034 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13035
e46c7770
CP
130362016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13037
13038 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13039 (acc_free): Likewise.
13040 (acc_memcpy_to_device): Likewise.
13041 (acc_memcpy_from_device): Likewise.
13042 (acc_deviceptr): Likewise.
13043 (acc_hostptr): Likewise.
13044 (acc_is_present): Likewise.
13045 (acc_map_data): Likewise.
13046 (acc_unmap_data): Likewise.
13047 (present_create_copy): Likewise.
13048 (delete_copyout): Likewise.
13049 (update_dev_host): Likewise.
13050 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13051 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13052 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13053 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13054 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13055 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13056 it only runs on nvptx targets.
13057 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13058 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13059 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13060 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13061 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13062 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13063 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13064 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13065 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13066 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13067 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13068 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13069 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13070 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13071 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13072 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13073 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13074 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13075 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13076 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13077 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13078 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13079 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13080
a5057543
MJ
130812016-05-23 Martin Jambor <mjambor@suse.cz>
13082
13083 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13084
e37288a6
CLT
130852016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13086
13087 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13088 to gomp_init_targets_once.
13089 (acc_set_device_type): Remove !cached_base_dev condition on call to
13090 gomp_init_targets_once, move call to before acc_device_lock acquire,
13091 to avoid deadlock.
13092 (acc_get_device_num): Remove !cached_base_dev condition on call to
13093 gomp_init_targets_once.
13094 (acc_set_device_num): Likewise.
13095
51d9ed48
MJ
130962016-05-16 Martin Jambor <mjambor@suse.cz>
13097
92a285c1 13098 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 13099
5b37e866
NS
131002016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13101
13102 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13103 expected partitioning.
13104
e7ff0319
CP
131052016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13106
13107 PR middle-end/70626
13108 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13109 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13110 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13111
c2bd3b69
AM
131122016-04-21 Alexander Monakov <amonakov@ispras.ru>
13113
13114 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13115 non-fatal.
13116
84311083
JJ
131172016-04-19 Jakub Jelinek <jakub@redhat.com>
13118
13119 PR middle-end/70680
13120 * testsuite/libgomp.c/pr70680-1.c: New test.
13121 * testsuite/libgomp.c/pr70680-2.c: New test.
13122
aadc043f
CP
131232016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13124
13125 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13126 pass parameter variables to subroutines.
13127
e387fc64
CP
131282016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13129
13130 PR middle-end/70643
13131 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13132
10c3c424
CP
131332016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13134
13135 PR testsuite/68242
13136 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13137 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13138
27f9add3
TS
131392016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13140
58d32aeb
TS
13141 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13142 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13143 GOACC_declare prototype.
13144
d97633ef
TS
13145 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13146 Merge this file, and...
13147 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13148 ... this file, and...
13149 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13150 ... this file, and...
13151 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13152 ... this file, and...
13153 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13154 ... this file, and...
13155 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13156 ... this file, and...
13157 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13158 ... this file, and...
13159 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13160 ... this file, and...
13161 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13162 ... this file, and...
13163 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13164 ... this file, and...
13165 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13166 ... this file, and...
13167 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13168 ... this file, and...
13169 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13170 ... this file into...
13171 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13172 file.
13173
27f9add3
TS
13174 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13175 Make failure observable.
13176
21f3a236
JJ
131772016-04-12 Jakub Jelinek <jakub@redhat.com>
13178
13179 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13180 field.
13181 * target.c (gomp_target_fallback_firstprivate,
13182 gomp_target_unshare_firstprivate): Removed.
13183 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13184 before waiting for dependencies.
13185 (gomp_target_task_fn): Don't copy firstprivate vars here.
13186 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13187 firstprivate_copies here.
13188 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13189 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13190 explicit/implicit firstprivate.
13191
c42cfb5c
CP
131922016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13193
13194 PR lto/70289
13195 PR ipa/70348
13196 PR tree-optimization/70373
13197 PR middle-end/70533
13198 PR middle-end/70534
13199 PR middle-end/70535
13200 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13201 test.
13202 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13203 test.
13204 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13205 test.
13206 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13207 test.
13208 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13209 test.
13210 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13211 test.
13212 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13213 test.
13214 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13215 test.
13216 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13217 test.
13218 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13219 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13220 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13221 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13222 test.
13223 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13224 test.
13225 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13226 test.
13227 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13228 test.
13229 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13230 coverage.
13231 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13232 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13233 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13234 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13235 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13236 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13237 coverage.
13238 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13239 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13240 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13241 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13242 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13243 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13244 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13245 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13246 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13247 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13248 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13249 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13250 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13251 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13252 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13253
2620c80d
TS
132542016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13255 James Norris <jnorris@codesourcery.com>
13256 Nathan Sidwell <nathan@codesourcery.com>
13257 Julian Brown <julian@codesourcery.com>
13258 Cesar Philippidis <cesar@codesourcery.com>
13259 Chung-Lin Tang <cltang@codesourcery.com>
13260 Tom de Vries <tom@codesourcery.com>
13261
13262 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13263 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13264 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13265 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13266 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13267 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13268 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13269 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13270 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13271 XFAIL.
13272 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13273 Incorporate...
13274 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13275 file.
13276 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13277 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13278 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13279 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13280 Likewise.
13281 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13282 Likewise.
13283 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13284 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13285 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13286 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13287 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13288 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13289 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13290 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13291 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13292 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13293 Likewise.
13294 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13295 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13296 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13297 file...
13298 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13299 file into...
13300 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13301 file. Update.
13302 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13303 file.
13304 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13305 Likewise.
13306 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13307 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13308 ... this new file. Update.
13309 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13310 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13311 ... this new file. Update.
13312 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13313 file. Incorporate...
13314 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13315 file, and...
13316 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13317 file, and...
13318 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13319 file.
13320 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13321
ce83104b
TS
133222016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13323
13324 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13325 set-torture-options.
13326
6e0df3b7
TS
133272016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13328
13329 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13330 gcc-dg-runtest.
13331 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13332 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13333 -fno-builtin-acc_on_device instead of -O0.
13334 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13335 -O0.
13336 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13337 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13338 Likewise.
13339 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13340 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13341 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13342 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13343 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13344 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13345 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13346 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13347 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13348 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13349 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13350 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13351 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13352 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13353 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13354 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13355 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13356 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13357 Don't specify -O2.
13358 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13359 Likewise.
13360 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13361 Likewise.
13362
f9c8babb
ML
133632016-03-24 Martin Liska <mliska@suse.cz>
13364
13365 * plugin/plugin-hsa.c (packet_store_release): New function
13366 that is taken from the HSA runtime manual.
13367 (GOMP_OFFLOAD_run): Use the function.
13368
04833609
JJ
133692016-03-23 Jakub Jelinek <jakub@redhat.com>
13370
13371 PR c++/70376
13372 * testsuite/libgomp.c++/pr70376.C: New test.
13373
d79ee524
TV
133742016-03-23 Tom de Vries <tom@codesourcery.com>
13375
13376 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13377 initialization of lresult and lvresult.
13378 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13379
b6d1f2b5
JN
133802016-03-23 James Norris <jnorris@codesourcery.com>
13381 Daichi Fukuoka <dc-fukuoka@sgi.com>
13382
13383 PR libgomp/69414
13384 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13385 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13386 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13387 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13388
7397fce2
ML
133892016-03-23 Martin Liska <mliska@suse.cz>
13390
13391 PR hsa/70337
13392 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13393 argument just in case a dispatched kernel uses that argument.
13394
ee2e7d51
TS
133952016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13396
13397 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13398 -ftree-parallelize-loops/-fopenacc changes.
13399 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13400 Likewise.
13401 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13402 Likewise.
13403 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13404 Likewise.
13405 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13406 Likewise.
13407 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13408 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13409
be9f7143
TS
134102016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13411
13412 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13413 always_ld_library_path the path to libgcc_s.
13414
f6c1032d
CP
134152016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13416
13417 PR testsuite/70009
13418 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13419
5a6452e6
TV
134202016-03-09 Tom de Vries <tom@codesourcery.com>
13421
13422 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13423 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13424 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13425 Same.
13426 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13427 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13428 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13429 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13430
96a71bd5
MJ
134312016-03-07 Martin Jambor <mjambor@suse.cz>
13432
13433 * testsuite/lib/libgomp.exp
13434 (check_effective_target_hsa_offloading_selected_nocache): New.
13435 (check_effective_target_hsa_offloading_selected): Likewise.
13436 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13437 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13438 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13439 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13440 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13441 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13442 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13443 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13444 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13445 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13446 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13447 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13448 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13449 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13450 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13451 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13452 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13453
02e0b5b2
MJ
134542016-03-07 Martin Jambor <mjambor@suse.cz>
13455
13456 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13457 non-shared memory accelerators.
13458 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13459 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13460 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13461 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13462 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13463 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13464 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13465 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13466 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13467
45548f30
MJ
134682016-03-07 Martin Jambor <mjambor@suse.cz>
13469
13470 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13471 ALWAYS_CFLAGS.
13472
da3d46cb
JJ
134732016-03-02 Jakub Jelinek <jakub@redhat.com>
13474
13475 PR libgomp/69555
13476 * testsuite/libgomp.c++/pr69555-1.C: New test.
13477 * testsuite/libgomp.c++/pr69555-2.C: New test.
13478
622174b2
KM
134792016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13480 Martin Jambor <mjambor@suse.cz>
13481
13482 * testsuite/lib/libgomp.exp
13483 (check_effective_target_offload_device_shared_as): New proc.
13484 * testsuite/libgomp.c++/declare_target-1.C: New test.
13485
e6861a99
IV
134862016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13487
13488 PR driver/68463
13489 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13490
f99c3557
TS
134912016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13492
13493 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13494 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13495 dims.
13496 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13497 -ftree-parallelize-loops/-fopenacc changes.
13498 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13499 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13500 Likewise.
13501 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13502 Likewise.
13503 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13504 Likewise.
13505 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13506 Likewise.
13507 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13508 Likewise.
13509 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13510 Likewise.
13511 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13512 Likewise.
13513 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13514 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13515 Likewise.
13516 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13517 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13518 Likewise.
13519 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13520 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13521 Likewise.
13522
d5ace3b5
CP
135232016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13524
13525 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13526
f3609a89
JJ
135272016-02-19 Jakub Jelinek <jakub@redhat.com>
13528
13529 PR driver/69805
13530 * testsuite/libgomp.c/pr69805.c: New test.
13531
2175df99
TV
135322016-02-16 Tom de Vries <tom@codesourcery.com>
13533
13534 PR lto/67709
13535 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13536
17b6426c
TV
135372016-02-09 Tom de Vries <tom@codesourcery.com>
13538
13539 PR tree-optimization/69599
13540 * testsuite/libgomp.c/omp-nested-3.c: New test.
13541 * testsuite/libgomp.c/pr46032-2.c: New test.
13542 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13543 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13544
34df756c
TV
135452016-02-09 Tom de Vries <tom@codesourcery.com>
13546
13547 PR lto/69707
13548 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13549
5854ee30
AM
135502016-02-02 Alexander Monakov <amonakov@ispras.ru>
13551
13552 * testsuite/libgomp.c/target-31.c: Fix testcase.
13553
e70b6ad7
AM
135542016-02-02 Alexander Monakov <amonakov@ispras.ru>
13555
13556 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13557 clause.
13558 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13559 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13560 reduction and map clauses.
13561 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13562
bd78a45f
JN
135632016-02-02 James Norris <jnorris@codesourcery.com>
13564
13565 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13566
41d809d3
TS
135672016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13568
18f60146
TS
13569 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13570 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13571
1a06f5e6
TS
13572 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13573 cases.
13574
033ff3d1
TS
13575 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13576 variables.
13577 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13578 (hsa_kmt_lib): Set variables.
13579 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13580 always_ld_library_path.
13581 * Makefile.in: Regenerate.
13582 * configure: Likewise.
13583 * testsuite/Makefile.in: Likewise.
13584
4a88d9b7
TS
13585 * plugin/configfrag.ac (offload_additional_options)
13586 (offload_additional_lib_paths): Don't amend for hsa offloading.
13587 * configure: Regenerate.
13588
41d809d3
TS
13589 * plugin/configfrag.ac: Don't configure for offloading target if
13590 we don't build the corresponding plugin.
13591 * configure: Regenerate.
13592
b6adbb9f
NS
135932016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13594
13595 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13596 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13597
8dfdb419
TV
135982016-01-26 Tom de Vries <tom@codesourcery.com>
13599
13600 PR tree-optimization/69110
13601 * testsuite/libgomp.c/pr69110.c: New test.
13602
02ef53f2
RB
136032016-01-25 Richard Biener <rguenther@suse.de>
13604
13605 PR lto/69393
13606 * testsuite/libgomp.c++/pr69393.C: New testcase.
13607
eb4048f2
IV
136082016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13609
13610 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13611 function wasn't mapped to the device with non-shared memory.
13612
b235cdd5
IV
136132016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13614
13615 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13616
b2b40051
MJ
136172016-01-19 Martin Jambor <mjambor@suse.cz>
13618 Martin Liska <mliska@suse.cz>
13619
13620 * plugin/Makefrag.am: Add HSA plugin requirements.
13621 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13622 (HSA_RUNTIME_LIB): Likewise.
13623 (HSA_RUNTIME_CPPFLAGS): Likewise.
13624 (HSA_RUNTIME_INCLUDE): New substitution.
13625 (HSA_RUNTIME_LIB): Likewise.
13626 (HSA_RUNTIME_LDFLAGS): Likewise.
13627 (hsa-runtime): New configure option.
13628 (hsa-runtime-include): Likewise.
13629 (hsa-runtime-lib): Likewise.
13630 (PLUGIN_HSA): New substitution variable.
13631 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13632 configure options.
13633 (PLUGIN_HSA_CPPFLAGS): Likewise.
13634 (PLUGIN_HSA_LDFLAGS): Likewise.
13635 (PLUGIN_HSA_LIBS): Likewise.
13636 Check that we have access to HSA run-time.
13637 * libgomp-plugin.h (offload_target_type): New element
13638 OFFLOAD_TARGET_TYPE_HSA.
13639 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13640 args.
13641 (bool gomp_create_target_task): Updated.
13642 (gomp_device_descr): Extra parameter of run_func and async_run_func,
13643 new field can_run_func.
13644 * libgomp_g.h (GOMP_target_ext): Update prototype.
13645 * oacc-host.c (host_run): Added a new parameter args.
13646 * target.c (calculate_firstprivate_requirements): New function.
13647 (copy_firstprivate_data): Likewise.
13648 (gomp_target_fallback_firstprivate): Use them.
13649 (gomp_target_unshare_firstprivate): New function.
13650 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13651 devices.
13652 (GOMP_target): Do host fallback for all shared memory devices. Do not
13653 pass any args to plugins.
13654 (GOMP_target_ext): Introduce device-specific argument parameter args.
13655 Allow host fallback if device shares memory. Do not remap data if
13656 device has shared memory.
13657 (gomp_target_task_fn): Likewise. Also treat shared memory devices
13658 like host fallback for mappings.
13659 (GOMP_target_data): Treat shared memory devices like host fallback.
13660 (GOMP_target_data_ext): Likewise.
13661 (GOMP_target_update): Likewise.
13662 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
13663 gomp_create_target_task.
13664 (GOMP_target_enter_exit_data): Likewise.
13665 (omp_target_alloc): Treat shared memory devices like host fallback.
13666 (omp_target_free): Likewise.
13667 (omp_target_is_present): Likewise.
13668 (omp_target_memcpy): Likewise.
13669 (omp_target_memcpy_rect): Likewise.
13670 (omp_target_associate_ptr): Likewise.
13671 (gomp_load_plugin_for_device): Also load can_run.
13672 * task.c (GOMP_PLUGIN_target_task_completion): Free
13673 firstprivate_copies.
13674 (gomp_create_target_task): Accept new argument args and store it to
13675 ttask.
13676 * plugin/plugin-hsa.c: New file.
13677
5d7804a9
TV
136782016-01-18 Tom de Vries <tom@codesourcery.com>
13679
13680 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13681 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13682 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13683 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13684 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13685 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13686 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13687 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13688 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13689 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13690 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13691 Same.
13692 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13693 Same.
13694 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13695 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13696 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13697 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13698 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13699 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13700 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13701 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13702 Same.
13703 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13704
cb11f3cf
JJ
137052016-01-15 Jakub Jelinek <jakub@redhat.com>
13706
13707 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13708
33a126a6
CP
137092016-01-15 Cesar Philippidis <cesar@codesourcery.com>
13710
13711 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13712
cdf6119d
JN
137132016-01-12 James Norris <jnorris@codesourcery.com>
13714
13715 * libgomp.texi: Updates for OpenACC.
13716
0d58938e
AM
137172016-01-11 Alexander Monakov <amonakov@ispras.ru>
13718
13719 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13720
95918b49
L
137212016-01-07 H.J. Lu <hongjiu.lu@intel.com>
13722
13723 PR fortran/66680
13724 * testsuite/libgomp.fortran/pr66680.f90: New test.
13725
8fc708b7
JJ
137262016-01-07 Jakub Jelinek <jakub@redhat.com>
13727
13728 PR middle-end/68960
13729 * testsuite/libgomp.c/pr68960.c: New test.
13730
e9b596c1
NS
137312016-01-06 Nathan Sidwell <nathan@acm.org>
13732
1a14faf2 13733 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
13734 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13735
21fa2a29
JJ
137362016-01-04 Jakub Jelinek <jakub@redhat.com>
13737
818ab71a
JJ
13738 Update copyright years.
13739
21fa2a29
JJ
13740 * libgomp.texi: Bump @copying's copyright year.
13741
9310efbc
NS
137422015-12-31 Nathan Sidwell <nathan@acm.org>
13743
13744 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13745 dg-additional-options syntax.
13746 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13747 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13748 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13749 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13750 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13751 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13752 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13753 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13754 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13755 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13756 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13757 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13758 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13759 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13760 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13761 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13762 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13763 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13764
4a38b02b
IV
137652015-12-15 Ilya Verbin <ilya.verbin@intel.com>
13766
13767 * libgomp.h (REFCOUNT_LINK): Define.
13768 (struct splay_tree_key_s): Add link_key.
13769 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13770 Replace target address of the pointer with target address of newly
13771 mapped object in the splay tree. Set link pointer on target to the
13772 device address of the mapped object.
13773 (gomp_unmap_vars): Restore target address of the pointer in the splay
13774 tree for REFCOUNT_LINK objects after unmapping.
13775 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13776 declare target link" objects.
13777 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
13778 "omp declare target link" objects, which were mapped for the image.
13779 (gomp_exit_data): Restore target address of the pointer in the splay
13780 tree for REFCOUNT_LINK objects after unmapping.
13781 * testsuite/libgomp.c/target-link-1.c: New file.
13782
d84ffc0a
IV
137832015-12-14 Ilya Verbin <ilya.verbin@intel.com>
13784
13785 * libgomp.h (gomp_device_state): New enum.
13786 (struct gomp_device_descr): Replace is_initialized with state.
13787 (gomp_fini_device): Remove declaration.
13788 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13789 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13790 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
13791 (acc_set_device_type): Use state instead of is_initialized.
13792 (acc_set_device_num): Likewise.
13793 * target.c (resolve_device): Use state instead of is_initialized.
13794 Do not initialize finalized device.
13795 (gomp_map_vars): Do nothing if device is finalized.
13796 (gomp_unmap_vars): Likewise.
13797 (gomp_update): Likewise.
13798 (GOMP_offload_register_ver): Use state instead of is_initialized.
13799 (GOMP_offload_unregister_ver): Likewise.
13800 (gomp_init_device): Likewise.
13801 (gomp_unload_device): Likewise.
13802 (gomp_fini_device): Remove.
13803 (gomp_get_target_fn_addr): Do nothing if device is finalized.
13804 (GOMP_target): Go to host fallback if device is finalized.
13805 (GOMP_target_ext): Likewise.
13806 (gomp_exit_data): Do nothing if device is finalized.
13807 (gomp_target_task_fn): Go to host fallback if device is finalized.
13808 (gomp_target_fini): New static function.
13809 (gomp_target_init): Use state instead of is_initialized.
13810 Call gomp_target_fini at exit.
13811
76680678
TV
138122015-12-09 Tom de Vries <tom@codesourcery.com>
13813
13814 PR tree-optimization/68716
13815 * testsuite/libgomp.c/omp-nested-2.c: New test.
13816
ff7a55bf
TS
138172015-12-02 Thomas Schwinge <thomas@codesourcery.com>
13818
13819 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
13820 target openacc_nvidia_accel_selected.
13821 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
13822 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
13823 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
13824 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
13825
37d5ad46
JB
138262015-12-01 Julian Brown <julian@codesourcery.com>
13827 James Norris <James_Norris@mentor.com>
13828
13829 * oacc-parallel.c (GOACC_host_data): New function.
13830 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
13831 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
13832 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
13833 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
13834 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
13835 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
13836 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
13837
db941d7e
CP
138382015-11-30 James Norris <jnorris@codesourcery.com>
13839 Cesar Philippidis <cesar@codesourcery.com>
13840
13841 libgomp/
13842 * libgomp.oacc-fortran/routine-5.f90: New test.
13843 * libgomp.oacc-fortran/routine-7.f90: New test.
13844 * libgomp.oacc-fortran/routine-9.f90: New test.
13845
e0ca27c5
TV
138462015-11-30 Tom de Vries <tom@codesourcery.com>
13847
13848 PR tree-optimization/46032
13849 * testsuite/libgomp.c/pr46032.c: New test.
13850
aec17bfe
JJ
138512015-11-27 Jakub Jelinek <jakub@redhat.com>
13852
8e4e4719
JJ
13853 PR libgomp/68579
13854 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
13855 (gomp_create_target_task): Call it before freeing
13856 GOMP_TARGET_TASK_DATA tasks.
13857
aec17bfe
JJ
13858 PR c/63326
13859 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
13860 in between case label and OpenMP standalone directives.
13861 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
13862
6cfe90e6
DE
138632015-11-26 David Edelsohn <dje.gcc@gmail.com>
13864
13865 * configure: Regenerate.
13866
0e65fd7d
JJ
138672015-11-26 Jakub Jelinek <jakub@redhat.com>
13868
13869 * testsuite/libgomp.c/target-35.c: New test.
13870
dc7a8b4b
JN
138712015-11-22 James Norris <jnorris@codesourcery.com>
13872 Cesar Philippidis <cesar@codesourcery.com>
13873
13874 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
13875 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
13876 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
13877 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
13878 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
13879
48a78aee
JJ
138802015-11-20 Jakub Jelinek <jakub@redhat.com>
13881
13882 PR middle-end/68221
13883 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
13884 * testsuite/libgomp.c/reduction-12.c: Likewise.
13885 * testsuite/libgomp.c++/reduction-11.C: Likewise.
13886 * testsuite/libgomp.c++/reduction-12.C: Likewise.
13887
2d256816
NS
138882015-11-19 Nathan Sidwell <nathan@codesourcery.com>
13889
13890 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
13891 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
13892 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
13893 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
13894 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
13895 and fix.
13896 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13897 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13898
33f47f42
NS
138992015-11-18 Nathan Sidwell <nathan@codesourcery.com>
13900
13901 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
13902 worker & gang cases.
13903 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13904
3d7bfee0
CP
139052015-11-17 Cesar Philippidis <cesar@codesourcery.com>
13906
13907 * config/nvptx/priority_queue.c: New file.
13908
00b9bd52
JJ
139092015-11-14 Jakub Jelinek <jakub@redhat.com>
13910
13911 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
13912 sections.
13913
e4606348
JJ
139142015-11-14 Jakub Jelinek <jakub@redhat.com>
13915 Aldy Hernandez <aldyh@redhat.com>
13916 Ilya Verbin <ilya.verbin@intel.com>
13917
13918 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
13919 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
13920 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
13921 iterators or IV by chunk size.
13922 * parallel.c (gomp_resolve_num_threads): Don't assume that
13923 if thr->ts.team is non-NULL, then pool must be non-NULL.
13924 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
13925 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
13926 GOMP_PLUGIN_target_task_completion.
13927 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
13928 * Makefile.in: Regenerate.
13929 * libgomp.h: Shuffle prototypes and forward definitions around so
13930 priority queues can be defined.
13931 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
13932 (enum gomp_target_task_state): New enum.
13933 (struct gomp_target_task): Add state, tgt, task and team fields.
13934 (gomp_create_target_task): Change return type to bool, add
13935 state argument.
13936 (gomp_target_task_fn): Change return type to bool.
13937 (struct gomp_device_descr): Add async_run_func.
13938 (struct gomp_task): Remove children, next_child, prev_child,
13939 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
13940 Add pnode field.
13941 (struct gomp_taskgroup): Remove children.
13942 Add taskgroup_queue.
13943 (struct gomp_team): Change task_queue type to a priority queue.
13944 (splay_compare): Define inline.
13945 (priority_queue_offset): New.
13946 (priority_node_to_task): New.
13947 (task_to_priority_node): New.
13948 * oacc-mem.c: Do not include splay-tree.h.
13949 * priority_queue.c: New file.
13950 * priority_queue.h: New file.
13951 * splay-tree.c: Do not include splay-tree.h.
13952 (splay_tree_foreach_internal): New.
13953 (splay_tree_foreach): New.
13954 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
13955 (splay_tree_callback): Define typedef.
13956 * target.c (splay_compare): Move to libgomp.h.
13957 (GOMP_target): Don't adjust *thr in any way around running offloaded
13958 task.
13959 (GOMP_target_ext): Likewise. Handle target nowait.
13960 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
13961 return value from gomp_create_target_task, if false, fallthrough
13962 as if no dependencies exist.
13963 (gomp_target_task_fn): Change return type to bool, return true
13964 if the task should have another part scheduled later. Handle
13965 target nowait.
13966 (gomp_load_plugin_for_device): Initialize async_run.
13967 * task.c (gomp_init_task): Initialize children_queue.
13968 (gomp_clear_parent_in_list): New.
13969 (gomp_clear_parent_in_tree): New.
13970 (gomp_clear_parent): Handle priorities.
13971 (GOMP_task): Likewise.
13972 (priority_queue_move_task_first,
13973 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
13974 New functions.
13975 (gomp_create_target_task): Use priority queues. Change return type
13976 to bool, add state argument, return false if for async
13977 {{enter,exit} data,update} constructs no dependencies need to be
13978 waited for, handle target nowait. Set task->fn to NULL instead of
13979 gomp_target_task_fn.
13980 (verify_children_queue): Remove.
13981 (priority_list_upgrade_task): New.
13982 (priority_queue_upgrade_task): New.
13983 (verify_task_queue): Remove.
13984 (priority_list_downgrade_task): New.
13985 (priority_queue_downgrade_task): New.
13986 (gomp_task_run_pre): Use priority queues.
13987 Abstract code out to priority_queue_downgrade_task.
13988 (gomp_task_run_post_handle_dependers): Use priority queues.
13989 (gomp_task_run_post_remove_parent): Likewise.
13990 (gomp_task_run_post_remove_taskgroup): Likewise.
13991 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
13992 tasks specially.
13993 (GOMP_taskwait): Likewise.
13994 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
13995 priority-queue_upgrade_task.
13996 (GOMP_taskgroup_start): Use priority queues.
13997 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
13998 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
13999 barrier.
14000 * taskloop.c (GOMP_taskloop): Handle priorities.
14001 * team.c (gomp_new_team): Call priority_queue_init.
14002 (free_team): Call priority_queue_free.
14003 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14004 team created for target nowait in implicit parallel region.
14005 (gomp_team_start): For nested check, test thr->ts.level instead of
14006 thr->ts.team != NULL.
14007 * testsuite/libgomp.c/doacross-3.c: New test.
14008 * testsuite/libgomp.c/ordered-5.c: New test.
14009 * testsuite/libgomp.c/priority.c: New test.
14010 * testsuite/libgomp.c/target-31.c: New test.
14011 * testsuite/libgomp.c/target-32.c: New test.
14012 * testsuite/libgomp.c/target-33.c: New test.
14013 * testsuite/libgomp.c/target-34.c: New test.
14014
1d1ab74f
NS
140152015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14016
c5a64cfe
NS
14017 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14018
1d1ab74f
NS
14019 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14020 loop is sequential.
14021
dd3c1b14
NS
140222015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14023
14024 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14025 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14026
6e232ba4
JN
140272015-11-12 James Norris <jnorris@codesourcery.com>
14028 Joseph Myers <joseph@codesourcery.com>
14029
14030 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14031 * oacc-parallel.c (GOACC_declare): New function.
14032 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14033 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14034 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14035 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14036 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14037
fffeedeb
NS
140382015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14039
14040 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14041
182190f2
NS
140422015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14043
14044 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14045 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14046
36fa0f5f
NS
140472015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14048
d350c40c
NS
14049 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14050 inadvertent commit.
14051
140522015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14053
36fa0f5f
NS
14054 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14055 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14056 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14057 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14058 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14059
66a5f0b4
TS
140602015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14061
14062 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14063 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14064
e01d41e5
JJ
140652015-11-05 Jakub Jelinek <jakub@redhat.com>
14066 Ilya Verbin <ilya.verbin@intel.com>
14067
14068 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14069 GOMP_loop_nonmonotonic_dynamic_start,
14070 GOMP_loop_nonmonotonic_guided_next,
14071 GOMP_loop_nonmonotonic_guided_start,
14072 GOMP_loop_ull_nonmonotonic_dynamic_next,
14073 GOMP_loop_ull_nonmonotonic_dynamic_start,
14074 GOMP_loop_ull_nonmonotonic_guided_next,
14075 GOMP_loop_ull_nonmonotonic_guided_start,
14076 GOMP_parallel_loop_nonmonotonic_dynamic,
14077 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14078 (GOMP_target_41): Renamed to ...
14079 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14080 arguments.
14081 (GOMP_target_data_41): Renamed to ...
14082 (GOMP_target_data_ext): ... this.
14083 (GOMP_target_update_41): Renamed to ...
14084 (GOMP_target_update_ext): ... this.
14085 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14086 GOMP_target_data_ext and GOMP_target_update_ext instead of
14087 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14088 Export GOMP_loop_nonmonotonic_dynamic_next,
14089 GOMP_loop_nonmonotonic_dynamic_start,
14090 GOMP_loop_nonmonotonic_guided_next,
14091 GOMP_loop_nonmonotonic_guided_start,
14092 GOMP_loop_ull_nonmonotonic_dynamic_next,
14093 GOMP_loop_ull_nonmonotonic_dynamic_start,
14094 GOMP_loop_ull_nonmonotonic_guided_next,
14095 GOMP_loop_ull_nonmonotonic_guided_start,
14096 GOMP_parallel_loop_nonmonotonic_dynamic and
14097 GOMP_parallel_loop_nonmonotonic_guided.
14098 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14099 GOMP_parallel_loop_nonmonotonic_guided,
14100 GOMP_loop_nonmonotonic_dynamic_start,
14101 GOMP_loop_nonmonotonic_guided_start,
14102 GOMP_loop_nonmonotonic_dynamic_next,
14103 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14104 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14105 GOMP_loop_ull_nonmonotonic_guided_start,
14106 GOMP_loop_ull_nonmonotonic_dynamic_next,
14107 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14108 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14109 functions.
14110 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14111 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14112 Use gomp_map_val function.
14113 (gomp_target_fallback_firstprivate): New static function.
14114 (GOMP_target_41): Renamed to ...
14115 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14116 arguments. Move firstprivate fallback handling into a new
14117 function.
14118 (GOMP_target_data_41): Renamed to ...
14119 (GOMP_target_data_ext): ... this.
14120 (GOMP_target_update_41): Renamed to ...
14121 (GOMP_target_update_ext): ... this.
14122 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14123 gomp_map_0len_lookup instead of gomp_map_lookup.
14124 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14125 gomp_map_lookup.
14126 * testsuite/libgomp.c/target-28.c: Likewise.
14127 * testsuite/libgomp.c/monotonic-1.c: New test.
14128 * testsuite/libgomp.c/monotonic-2.c: New test.
14129 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14130 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14131 * testsuite/libgomp.c/pr66199-5.c: New test.
14132 * testsuite/libgomp.c/pr66199-6.c: New test.
14133 * testsuite/libgomp.c/pr66199-7.c: New test.
14134 * testsuite/libgomp.c/pr66199-8.c: New test.
14135 * testsuite/libgomp.c/pr66199-9.c: New test.
14136 * testsuite/libgomp.c/reduction-11.c: New test.
14137 * testsuite/libgomp.c/reduction-12.c: New test.
14138 * testsuite/libgomp.c/reduction-13.c: New test.
14139 * testsuite/libgomp.c/reduction-14.c: New test.
14140 * testsuite/libgomp.c/reduction-15.c: New test.
14141 * testsuite/libgomp.c/target-12.c (main): Adjust for
14142 omp_target_is_present change for one-past-last element.
14143 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14144 the same var is both mapped and privatized.
14145 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14146 handling of zero-length array sections.
14147 * testsuite/libgomp.c/target-28.c: New test.
14148 * testsuite/libgomp.c/target-29.c: New test.
14149 * testsuite/libgomp.c/target-30.c: New test.
14150 * testsuite/libgomp.c/target-teams-1.c: New test.
14151 * testsuite/libgomp.c++/member-6.C: New test.
14152 * testsuite/libgomp.c++/member-7.C: New test.
14153 * testsuite/libgomp.c++/monotonic-1.C: New test.
14154 * testsuite/libgomp.c++/monotonic-2.C: New test.
14155 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14156 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14157 * testsuite/libgomp.c++/pr66199-3.C: New test.
14158 * testsuite/libgomp.c++/pr66199-4.C: New test.
14159 * testsuite/libgomp.c++/pr66199-5.C: New test.
14160 * testsuite/libgomp.c++/pr66199-6.C: New test.
14161 * testsuite/libgomp.c++/pr66199-7.C: New test.
14162 * testsuite/libgomp.c++/pr66199-8.C: New test.
14163 * testsuite/libgomp.c++/pr66199-9.C: New test.
14164 * testsuite/libgomp.c++/reduction-11.C: New test.
14165 * testsuite/libgomp.c++/reduction-12.C: New test.
14166 * testsuite/libgomp.c++/target-13.C: New test.
14167 * testsuite/libgomp.c++/target-14.C: New test.
14168 * testsuite/libgomp.c++/target-15.C: New test.
14169 * testsuite/libgomp.c++/target-16.C: New test.
14170 * testsuite/libgomp.c++/target-17.C: New test.
14171 * testsuite/libgomp.c++/target-18.C: New test.
14172 * testsuite/libgomp.c++/target-19.C: New test.
14173
ccc8282b
NS
141742015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14175
14176 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14177 and reduction copy.
14178 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14179 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14180 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14181 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14182 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14183 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14184 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14185 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14186 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14187 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14188 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14189 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14190 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14191 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14192
5d6823a2
NS
141932015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14194
14195 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14196 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14197 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14198 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14199 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14200 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14201 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14202 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14203
5c06742f
NS
142042015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14205
14206 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14207 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14208 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14209 * oacc-host.c (host_openacc_exec): Likewise.
14210 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14211
4bf9e5a8
TS
142122015-11-03 Julian Brown <julian@codesourcery.com>
14213 Thomas Schwinge <thomas@codesourcery.com>
14214
14215 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14216 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14217 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14218 Likewise.
14219 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14220 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14221
142222015-11-03 James Norris <jnorris@codesourcery.com>
14223
14224 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14225 file.
14226 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14227 Likewise.
14228 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14229 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14230 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14231 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14232 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14233
a0e701d8
NS
142342015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14235
14236 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14237 compatibility.
14238 (enum acc_async_t): Reformat.
14239 (acc_on_device): Declare compatible with builtin and provide C++
14240 wrapper.
14241 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14242
41e977ac
TS
142432015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14244 Cesar Philippidis <cesar@codesourcery.com>
14245
14246 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14247 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14248 ... this. Add a description of the test at the top of the file.
14249 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14250 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14251 ... this. Add a description of the test at the top of the file.
14252
e3091406
NS
142532015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14254
14255 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14256 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14257 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14258 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14259 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14260 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14261
a1c1908b
NS
142622015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14263
14264 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14265 dimensions.
14266
b3962a4a
TS
142672015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14268
14269 PR testsuite/68063
14270 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14271
88bae6f4
TS
142722015-10-27 James Norris <jnorris@codesourcery.com>
14273
14274 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14275 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14276
8baa7864
TS
142772015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14278
bdeb752c
TS
14279 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14280 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14281
ecd4fd43
TS
14282 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14283 acc_device_nvidia usage.
14284 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14285 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14286 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14287
aa8b7d30
TS
14288 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14289 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14290
7c8f138d
TS
14291 PR libgomp/66518
14292 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14293
8baa7864
TS
14294 PR libgomp/65437
14295 PR libgomp/66518
14296 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14297 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14298
88ebcde5
TV
142992015-10-23 Tom de Vries <tom@codesourcery.com>
14300
14301 PR testsuite/68063
14302 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14303
9ef83c04
NS
143042015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14305
14306 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14307 vector_length.
14308 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14309
3837c6d6
IV
143102015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14311 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14312
14313 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14314 to 0 when mapnum is 0.
14315
ac8a1965
SH
143162015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14317
14318 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14319 Cast to int from int32_t.
14320
d9a6bd32
JJ
143212015-10-13 Jakub Jelinek <jakub@redhat.com>
14322 Aldy Hernandez <aldyh@redhat.com>
14323 Ilya Verbin <ilya.verbin@intel.com>
14324
14325 * config/linux/affinity.c (omp_get_place_num_procs,
14326 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14327 * config/linux/doacross.h: New file.
14328 * config/posix/affinity.c (omp_get_place_num_procs,
14329 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14330 * config/posix/doacross.h: New file.
14331 * env.c: Include gomp-constants.h.
14332 (struct gomp_task_icv): Rename run_sched_modifier to
14333 run_sched_chunk_size.
14334 (gomp_max_task_priority_var): New variable.
14335 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14336 (handle_omp_display_env): Change _OPENMP value from 201307 to
14337 201511. Print OMP_MAX_TASK_PRIORITY.
14338 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14339 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14340 chunk_size and run_sched_modifier to run_sched_chunk_size.
14341 (omp_get_max_task_priority, omp_get_initial_device,
14342 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14343 omp_get_partition_place_nums): New functions.
14344 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14345 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14346 to chunk_size.
14347 (omp_get_num_places_, omp_get_place_num_procs_,
14348 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14349 omp_get_place_proc_ids_8_, omp_get_place_num_,
14350 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14351 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14352 omp_get_max_task_priority_): New functions.
14353 * libgomp_g.h (GOMP_loop_doacross_static_start,
14354 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14355 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14356 GOMP_loop_ull_doacross_dynamic_start,
14357 GOMP_loop_ull_doacross_guided_start,
14358 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14359 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14360 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14361 GOMP_target_data_41, GOMP_target_update_41,
14362 GOMP_target_enter_exit_data): New prototypes.
14363 (GOMP_task): Add prototype argument.
14364 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14365 (struct gomp_doacross_work_share): New type.
14366 (struct gomp_work_share): Add doacross field.
14367 (struct gomp_task_icv): Rename run_sched_modifier to
14368 run_sched_chunk_size.
14369 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14370 GOMP_TASK_UNDEFERRED. Add comments.
14371 (struct gomp_task_depend_entry): Add comments.
14372 (struct gomp_task): Likewise.
14373 (struct gomp_taskgroup): Likewise.
14374 (struct gomp_target_task): New type.
14375 (struct gomp_team): Add comment.
14376 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14377 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14378 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14379 (struct target_var_desc): New type.
14380 (struct target_mem_desc): Adjust comment. Use struct
14381 target_var_desc instead of splay_tree_key for list.
14382 (REFCOUNT_INFINITY): Define.
14383 (struct splay_tree_key_s): Remove copy_from field.
14384 (struct gomp_device_descr): Add dev2dev_func field.
14385 (enum gomp_map_vars_kind): New enum.
14386 (gomp_map_vars): Add one argument.
14387 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14388 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14389 omp_get_place_num_procs, omp_get_place_num_procs_,
14390 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14391 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14392 omp_get_place_num_, omp_get_partition_num_places,
14393 omp_get_partition_num_places_, omp_get_partition_place_nums,
14394 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14395 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14396 omp_target_free, omp_target_is_present, omp_target_memcpy,
14397 omp_target_memcpy_rect, omp_target_associate_ptr and
14398 omp_target_disassociate_ptr.
14399 (GOMP_4.0.2): Renamed to ...
14400 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14401 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14402 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14403 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14404 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14405 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14406 GOMP_loop_ull_doacross_guided_start,
14407 GOMP_loop_ull_doacross_runtime_start,
14408 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14409 GOMP_doacross_ull_wait.
14410 * libgomp.texi: Document omp_get_max_task_priority.
14411 Rename modifier argument to chunk_size for omp_set_schedule and
14412 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14413 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14414 to run_sched_chunk_size renaming.
14415 (GOMP_loop_ordered_runtime_start): Likewise.
14416 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14417 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14418 GOMP_parallel_loop_runtime_start): New functions.
14419 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14420 to run_sched_chunk_size renaming.
14421 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14422 GOMP_loop_doacross_guided_start): New functions or aliases.
14423 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14424 run_sched_modifier to run_sched_chunk_size renaming.
14425 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14426 (gomp_loop_ull_doacross_static_start,
14427 gomp_loop_ull_doacross_dynamic_start,
14428 gomp_loop_ull_doacross_guided_start,
14429 GOMP_loop_ull_doacross_runtime_start): New functions.
14430 (GOMP_loop_ull_doacross_static_start,
14431 GOMP_loop_ull_doacross_dynamic_start,
14432 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14433 * oacc-mem.c (acc_map_data, present_create_copy,
14434 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14435 to gomp_map_vars.
14436 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14437 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14438 instead of false to gomp_map_vars.
14439 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14440 * omp.h.in (omp_lock_hint_t): New type.
14441 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14442 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14443 omp_get_place_num, omp_get_partition_num_places,
14444 omp_get_partition_place_nums, omp_get_initial_device,
14445 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14446 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14447 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14448 prototypes.
14449 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14450 (omp_lock_hint_none, omp_lock_hint_uncontended,
14451 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14452 omp_lock_hint_speculative): New parameters.
14453 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14454 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14455 omp_get_place_num, omp_get_partition_num_places,
14456 omp_get_partition_place_nums, omp_get_initial_device,
14457 omp_get_max_task_priority): New interfaces.
14458 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14459 to chunk_size.
14460 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14461 (omp_lock_hint_none, omp_lock_hint_uncontended,
14462 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14463 omp_lock_hint_speculative): New parameters.
14464 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14465 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14466 omp_get_place_num, omp_get_partition_num_places,
14467 omp_get_partition_place_nums, omp_get_initial_device,
14468 omp_get_max_task_priority): New functions and subroutines.
14469 * ordered.c: Include stdarg.h and string.h.
14470 (MAX_COLLAPSED_BITS): Define.
14471 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14472 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14473 GOMP_doacross_ull_wait): New functions.
14474 * target.c: Include errno.h.
14475 (resolve_device): If device is not initialized, call
14476 gomp_init_device on it.
14477 (gomp_map_lookup): New function.
14478 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14479 Don't bump refcount if REFCOUNT_INFINITY. Handle
14480 GOMP_MAP_ALWAYS_TO_P.
14481 (get_kind): Rename is_openacc argument to short_mapkind.
14482 (gomp_map_pointer): Use gomp_map_lookup.
14483 (gomp_map_fields_existing): New function.
14484 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14485 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14486 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14487 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14488 Adjust for tgt->list changed type and copy_from living in there.
14489 (gomp_copy_from_async): Adjust for tgt->list changed type and
14490 copy_from living in there.
14491 (gomp_unmap_vars): Likewise.
14492 (gomp_update): Likewise. Rename is_openacc argument to
14493 short_mapkind. Don't fail if object is not mapped.
14494 (gomp_load_image_to_device): Initialize refcount to
14495 REFCOUNT_INFINITY.
14496 (gomp_target_fallback): New function.
14497 (gomp_get_target_fn_addr): Likewise.
14498 (GOMP_target): Adjust gomp_map_vars caller, use
14499 gomp_get_target_fn_addr and gomp_target_fallback.
14500 (GOMP_target_41): New function.
14501 (gomp_target_data_fallback): New function.
14502 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14503 (GOMP_target_data_41): New function.
14504 (GOMP_target_update): Adjust gomp_update caller.
14505 (GOMP_target_update_41): New function.
14506 (gomp_exit_data, GOMP_target_enter_exit_data,
14507 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14508 omp_target_is_present, omp_target_memcpy,
14509 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14510 omp_target_associate_ptr, omp_target_disassociate_ptr,
14511 gomp_load_plugin_for_device): New functions.
14512 * task.c: Include gomp-constants.h. Include taskloop.c
14513 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14514 (gomp_task_handle_depend): New function.
14515 (GOMP_task): Use it. Add priority argument. Use
14516 gomp-constant.h constants instead of hardcoded numbers.
14517 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14518 (gomp_create_target_task): New function.
14519 (verify_children_queue, verify_taskgroup_queue,
14520 verify_task_queue): New functions.
14521 (gomp_task_run_pre): Call verify_*_queue functions.
14522 If an upcoming tied task is about to leave the sibling or
14523 taskgroup queues in an invalid state, adjust appropriately.
14524 Remove taskgroup argument. Add comments.
14525 (gomp_task_run_post_handle_dependers): Add comments.
14526 (gomp_task_run_post_remove_parent): Likewise.
14527 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14528 (GOMP_taskwait): Likewise. Add comments.
14529 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14530 problem such that the first non parent_depends_on task does not
14531 end up at the end of the children queue.
14532 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14533 GOMP_TASK_UNDEFERRED.
14534 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14535 * taskloop.c: New file.
14536 * testsuite/lib/libgomp.exp
14537 (check_effective_target_offload_device_nonshared_as): New proc.
14538 * testsuite/libgomp.c/affinity-2.c: New test.
14539 * testsuite/libgomp.c/doacross-1.c: New test.
14540 * testsuite/libgomp.c/doacross-2.c: New test.
14541 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14542 Add map clause to target.
14543 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14544 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14545 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14546 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14547 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14548 Likewise.
14549 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14550 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14551 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14552 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14553 not defined. Use those where needed.
14554 * testsuite/libgomp.c/for-4.c: New test.
14555 * testsuite/libgomp.c/for-5.c: New test.
14556 * testsuite/libgomp.c/for-6.c: New test.
14557 * testsuite/libgomp.c/linear-1.c: New test.
14558 * testsuite/libgomp.c/ordered-4.c: New test.
14559 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14560 only allowed on the loop iterator.
14561 * testsuite/libgomp.c/pr66199-3.c: New test.
14562 * testsuite/libgomp.c/pr66199-4.c: New test.
14563 * testsuite/libgomp.c/reduction-7.c: New test.
14564 * testsuite/libgomp.c/reduction-8.c: New test.
14565 * testsuite/libgomp.c/reduction-9.c: New test.
14566 * testsuite/libgomp.c/reduction-10.c: New test.
14567 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14568 map(tofrom:s).
14569 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14570 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14571 * testsuite/libgomp.c/target-11.c: New test.
14572 * testsuite/libgomp.c/target-12.c: New test.
14573 * testsuite/libgomp.c/target-13.c: New test.
14574 * testsuite/libgomp.c/target-14.c: New test.
14575 * testsuite/libgomp.c/target-15.c: New test.
14576 * testsuite/libgomp.c/target-16.c: New test.
14577 * testsuite/libgomp.c/target-17.c: New test.
14578 * testsuite/libgomp.c/target-18.c: New test.
14579 * testsuite/libgomp.c/target-19.c: New test.
14580 * testsuite/libgomp.c/target-20.c: New test.
14581 * testsuite/libgomp.c/target-21.c: New test.
14582 * testsuite/libgomp.c/target-22.c: New test.
14583 * testsuite/libgomp.c/target-23.c: New test.
14584 * testsuite/libgomp.c/target-24.c: New test.
14585 * testsuite/libgomp.c/target-25.c: New test.
14586 * testsuite/libgomp.c/target-26.c: New test.
14587 * testsuite/libgomp.c/target-27.c: New test.
14588 * testsuite/libgomp.c/taskloop-1.c: New test.
14589 * testsuite/libgomp.c/taskloop-2.c: New test.
14590 * testsuite/libgomp.c/taskloop-3.c: New test.
14591 * testsuite/libgomp.c/taskloop-4.c: New test.
14592 * testsuite/libgomp.c++/ctor-13.C: New test.
14593 * testsuite/libgomp.c++/doacross-1.C: New test.
14594 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14595 Replace offload_device with offload_device_nonshared_as.
14596 * testsuite/libgomp.c++/for-12.C: New test.
14597 * testsuite/libgomp.c++/for-13.C: New test.
14598 * testsuite/libgomp.c++/for-14.C: New test.
14599 * testsuite/libgomp.c++/linear-1.C: New test.
14600 * testsuite/libgomp.c++/member-1.C: New test.
14601 * testsuite/libgomp.c++/member-2.C: New test.
14602 * testsuite/libgomp.c++/member-3.C: New test.
14603 * testsuite/libgomp.c++/member-4.C: New test.
14604 * testsuite/libgomp.c++/member-5.C: New test.
14605 * testsuite/libgomp.c++/ordered-1.C: New test.
14606 * testsuite/libgomp.c++/reduction-5.C: New test.
14607 * testsuite/libgomp.c++/reduction-6.C: New test.
14608 * testsuite/libgomp.c++/reduction-7.C: New test.
14609 * testsuite/libgomp.c++/reduction-8.C: New test.
14610 * testsuite/libgomp.c++/reduction-9.C: New test.
14611 * testsuite/libgomp.c++/reduction-10.C: New test.
14612 * testsuite/libgomp.c++/reference-1.C: New test.
14613 * testsuite/libgomp.c++/simd14.C: New test.
14614 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14615 * testsuite/libgomp.c++/target-5.C: New test.
14616 * testsuite/libgomp.c++/target-6.C: New test.
14617 * testsuite/libgomp.c++/target-7.C: New test.
14618 * testsuite/libgomp.c++/target-8.C: New test.
14619 * testsuite/libgomp.c++/target-9.C: New test.
14620 * testsuite/libgomp.c++/target-10.C: New test.
14621 * testsuite/libgomp.c++/target-11.C: New test.
14622 * testsuite/libgomp.c++/target-12.C: New test.
14623 * testsuite/libgomp.c++/taskloop-1.C: New test.
14624 * testsuite/libgomp.c++/taskloop-2.C: New test.
14625 * testsuite/libgomp.c++/taskloop-3.C: New test.
14626 * testsuite/libgomp.c++/taskloop-4.C: New test.
14627 * testsuite/libgomp.c++/taskloop-5.C: New test.
14628 * testsuite/libgomp.c++/taskloop-6.C: New test.
14629 * testsuite/libgomp.c++/taskloop-7.C: New test.
14630 * testsuite/libgomp.c++/taskloop-8.C: New test.
14631 * testsuite/libgomp.c++/taskloop-9.C: New test.
14632 * testsuite/libgomp.fortran/affinity1.f90: New test.
14633 * testsuite/libgomp.fortran/affinity2.f90: New test.
14634
1f600fea
TV
146352015-10-13 Tom de Vries <tom@codesourcery.com>
14636
14637 PR tree-optimization/67476
14638 * testsuite/libgomp.c/autopar-3.c: New test.
14639 * testsuite/libgomp.c/autopar-4.c: New test.
14640 * testsuite/libgomp.c/autopar-5.c: New test.
14641 * testsuite/libgomp.c/autopar-6.c: New test.
14642 * testsuite/libgomp.c/autopar-7.c: New test.
14643 * testsuite/libgomp.c/autopar-8.c: New test.
14644
058a654b
JN
146452015-10-12 James Norris <jnorris@codesourcery.com>
14646
14647 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14648 initializer.
14649
9e531d37
DM
146502015-10-09 David Malcolm <dmalcolm@redhat.com>
14651
14652 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14653 using load_gcc_lib.
14654
113020dc
TS
146552015-10-02 Thomas Schwinge <thomas@codesourcery.com>
14656
14657 * oacc-ptx.h: Remove file, moving its content into...
14658 * config/nvptx/fortran.c: ... here...
14659 * config/nvptx/oacc-init.c: ..., here...
14660 * config/nvptx/oacc-parallel.c: ..., and here.
14661 * config/nvptx/openacc.f90: New file.
14662 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14663 (link_ptx): Don't link in predefined bits of PTX code.
14664
cc3cd79b
NS
146652015-09-30 Nathan Sidwell <nathan@codesourcery.com>
14666 Bernd Schmidt <bernds@codesourcery.com>
14667
14668 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14669 (struct targ_ptx_obj): New.
14670 (nvptx_tdata): Move earlier, change data format.
14671 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
14672 objects.
14673 (GOMP_OFFLOAD_load_image): Adjust.
14674
4e2a5450
TS
146752015-09-30 Thomas Schwinge <thomas@codesourcery.com>
14676
14677 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14678 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14679 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14680 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14681 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14682 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14683 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14684 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14685 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14686 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14687 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14688 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14689 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14690 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14691 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14692 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14693 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14694 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14695 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14696 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14697 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14698 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14699 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14700 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14701 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14702 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14703 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14704 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14705 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14706 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14707 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14708 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14709 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14710 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14711 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14712 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14713 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14714 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14715 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14716 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14717 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14718 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14719 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14720 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14721 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14722 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14723 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14724 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14725 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14726 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14727 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14728 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14729 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14730 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14731 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14732 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14733 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14734 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14735 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14736 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14737 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14738 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14739 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14740
164453bb
NS
147412015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14742
14743 * oacc-init.c (acc_on_device): Force optimization level.
14744
a12a0437
NS
147452015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14746
14747 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14748 (cuda_errlist): Delete.
14749 (cuda_error): Reimplement.
14750
3e32ee19
NS
147512015-09-28 Nathan Sidwell <nathan@codesourcery.com>
14752
14753 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14754 array.
14755 * libgomp.map (GOACC_parallel_keyed): New.
14756 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
14757 all callers.
14758 (GOACC_parallel_keyed): New interface. Lose geometry arguments
14759 and take keyed varargs list. Adjust call to exec_func.
14760 (GOACC_parallel): Force host fallback.
14761 * libgomp_g.h (GOACC_parallel): Remove.
14762 (GOACC_parallel_keyed): Declare.
14763 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 14764 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
14765 (nvptx_exec): Lose separate geometry args, take array. Process
14766 dynamic dimensions and adjust.
14767 (struct nvptx_tdata): Replace fn_names field with fn_descs.
14768 (GOMP_OFFLOAD_load_image): Adjust for change in function table
14769 data.
14770 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14771 passing.
14772 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14773 passing.
14774
6bb4c3e2
CLT
147752015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
14776
14777 PR libgomp/67141
14778 * oacc-int.h (goacc_host_init): Add declaration.
14779 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14780 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14781
74032f47 147822015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 14783 Sebastian Pop <s.pop@samsung.com>
74032f47 14784
93d90219 14785 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
14786 match o/p.
14787 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14788 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14789 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14790 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14791 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14792
97875f4a
JJ
147932015-09-03 Jakub Jelinek <jakub@redhat.com>
14794
14795 * configure.tgt: Add missing ;; in between nvptx and rtems
14796 snippets.
14797
06441dd5
SH
147982015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14799
14800 * config/posix/pool.h (gomp_adjust_thread_attr): New.
14801 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
14802 (gomp_thread_pool_reservoir): Add priority member.
14803 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
14804 priority.
14805 (parse_thread_pools): Likewise.
14806 * team.c (gomp_team_start): Call configuration provided
14807 gomp_adjust_thread_attr(). Destroy thread attributes if
14808 necessary.
14809 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
14810
66c59f92
SH
148112015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14812
14813 * config/posix/pool.h: New.
14814 * config/rtems/pool.h: Likewise.
14815 * config/rtems/proc.c: Likewise.
14816 * libgomp.h (gomp_thread_destructor): Declare.
14817 * team.c: Include configuration provided "pool.h".
14818 (gomp_get_thread_pool): Define in configuration.
14819 (gomp_team_end): Call configuration defined
14820 gomp_release_thread_pool().
14821
13c41b2e
SH
148222015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14823
14824 * config/rtems/bar.c: New.
14825 * config/rtems/bar.h: Likewise.
14826 * config/rtems/mutex.c: Likewise.
14827 * config/rtems/mutex.h: Likewise.
14828 * config/rtems/sem.c: Likewise.
14829 * config/rtems/sem.h: Likewise.
14830 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
14831 <sys/lock.h> header file.
14832 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
14833 supported by Newlib.
14834 * configure: Regenerate.
14835
7892ec67
SH
148362015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14837
14838 * team.c (gomp_new_thread_pool): Delete and move content to ...
14839 (gomp_get_thread_pool): ... new function. Allocate and
14840 initialize thread pool on demand.
14841 (get_last_team): Use gomp_get_thread_pool().
14842 (gomp_team_start): Delete thread pool initialization.
14843
1b96e9a4
TV
148442015-09-03 Tom de Vries <tom@codesourcery.com>
14845
14846 PR tree-optimization/65637
14847 * testsuite/libgomp.c/autopar-2.c: New test.
14848
3ff2d74e
TV
148492015-08-29 Tom de Vries <tom@codesourcery.com>
14850
14851 PR tree-optimization/46193
14852 * testsuite/libgomp.c/pr46193.c: New test.
14853
2a21ff19
NS
148542015-08-24 Nathan Sidwell <nathan@codesourcery.com>
14855
14856 libgomp/
14857 * libgomp.map: Add 4.0.2 version.
14858 * target.c (offload_image_descr): Add version field.
14859 (gomp_load_image_to_device): Add version argument. Adjust plugin
14860 call. Improve load mismatch diagnostic.
14861 (gomp_unload_image_from_device): Add version argument. Adjust plugin
14862 call.
14863 (GOMP_offload_regster): Make stub function, move bulk to ...
14864 (GOMP_offload_register_ver): ... here. Process version argument.
14865 (GOMP_offload_unregister): Make stub function, move bulk to ...
14866 (GOMP_offload_unregister_ver): ... here. Process version argument.
14867 (gomp_init_device): Process version field.
14868 (gomp_unload_device): Process version field.
14869 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
14870 macros. Check plugin version.
14871 * libgomp.h (gomp_device_descr): Add version function field. Adjust
14872 loader and unloader types.
14873 * oacc-host.c: Include gomp-constants.h.
14874 (host_version): New.
14875 (host_load_image, host_unload_image): Adjust.
14876 (host_dispatch): Add host_version.
14877 * plugin/plugin-nvptx.c: Include gomp-constants.h.
14878 (GOMP_OFFLOAD_version): New.
14879 (GOMP_OFFLOAD_load_image): Add version arg and check it.
14880 (GOMP_OFFLOAD_unload_image): Likewise.
14881 * plugin/plugin-host.c: Include gomp-constants.h.
14882 (GOMP_OFFLOAD_version): New.
14883 (GOMP_OFFLOAD_load_image): Add version arg.
14884 (GOMP_OFFLOAD_unload_image): Likewise.
14885
1358a747
TV
148862015-08-24 Tom de Vries <tom@codesourcery.com>
14887
14888 PR tree-optimization/65468
14889 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
14890
6be5c241
TV
148912015-08-24 Tom de Vries <tom@codesourcery.com>
14892
14893 PR tree-optimization/65468
14894 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
14895
bfe7ac89
JV
148962015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
14897
14898 PR libgomp/66761
14899 PR libgomp/67303
14900 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
14901 (gomp_iter_guided_next): Idem.
14902 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
14903 (gomp_iter_ull_guided_next): Idem.
14904 * config/linux/wait.h (do_spin): Idem.
14905
b97e78b7
TS
149062015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14907
14908 * libgomp-plugin.h (enum offload_target_type): Remove
14909 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
14910 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
14911 * openacc.h (enum acc_device_t): Likewise.
14912 * openacc_lib.h: Likewise.
14913 * oacc-init.c (name_of_acc_device_t): Don't handle it.
14914 (acc_on_device): Just use __builtin_acc_on_device.
14915 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
14916 of acc_on_device builtin.
14917 * plugin/plugin-host.h: Remove file.
14918 * plugin/plugin-host.c: Likewise, but salvage some content into...
14919 * oacc-host.c: ... this file.
14920 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
14921 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
14922 * Makefile.in: Regenerate.
14923 * configure: Likewise.
14924 * testsuite/lib/libgomp.exp
14925 (check_effective_target_openacc_host_nonshm_selected): Remove.
14926 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
14927 ACC_DEVICE_TYPE=host_nonshm.
14928 * testsuite/libgomp.oacc-c/c.exp: Likewise.
14929 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14930 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
14931 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
14932 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
14933 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
14934
44a7d18d
TS
149352015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14936 Jakub Jelinek <jakub@redhat.com>
14937
14938 * config/nvptx/affinity.c: New file.
14939 * config/nvptx/alloc.c: Likewise.
14940 * config/nvptx/bar.c: Likewise.
14941 * config/nvptx/barrier.c: Likewise.
14942 * config/nvptx/critical.c: Likewise.
14943 * config/nvptx/env.c: Likewise.
14944 * config/nvptx/error.c: Likewise.
14945 * config/nvptx/fortran.c: Likewise.
14946 * config/nvptx/iter.c: Likewise.
14947 * config/nvptx/iter_ull.c: Likewise.
14948 * config/nvptx/libgomp-plugin.c: Likewise.
14949 * config/nvptx/lock.c: Likewise.
14950 * config/nvptx/loop.c: Likewise.
14951 * config/nvptx/loop_ull.c: Likewise.
14952 * config/nvptx/mutex.c: Likewise.
14953 * config/nvptx/oacc-async.c: Likewise.
14954 * config/nvptx/oacc-cuda.c: Likewise.
14955 * config/nvptx/oacc-host.c: Likewise.
14956 * config/nvptx/oacc-init.c: Likewise.
14957 * config/nvptx/oacc-mem.c: Likewise.
14958 * config/nvptx/oacc-parallel.c: Likewise.
14959 * config/nvptx/oacc-plugin.c: Likewise.
14960 * config/nvptx/omp-lock.h: Likewise.
14961 * config/nvptx/ordered.c: Likewise.
14962 * config/nvptx/parallel.c: Likewise.
14963 * config/nvptx/proc.c: Likewise.
14964 * config/nvptx/ptrlock.c: Likewise.
14965 * config/nvptx/sections.c: Likewise.
14966 * config/nvptx/sem.c: Likewise.
14967 * config/nvptx/single.c: Likewise.
14968 * config/nvptx/splay-tree.c: Likewise.
14969 * config/nvptx/target.c: Likewise.
14970 * config/nvptx/task.c: Likewise.
14971 * config/nvptx/team.c: Likewise.
14972 * config/nvptx/time.c: Likewise.
14973 * config/nvptx/work.c: Likewise.
14974 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
14975 * configure: Regenerate.
14976 * configure.tgt (config_path): Set to "nvptx" for target
14977 nvptx*-*-*.
14978
96a2d174
TS
149792015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14980
14981 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
14982
9ebddeb0
NS
149832015-08-03 Nathan Sidwell <nathan@codesourcery.com>
14984
14985 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
14986 (cuda_errlist): Constify.
14987 (errmsg): Move into ...
14988 (cuda_error): ... here. Make smaller.
14989 (_XSTR, _STR): Delete.
14990 (cuda_synames): Delete.
14991 (verify_device_library): Delete.
14992 (nvptx_init): Don't call it.
14993
12efb1d7
TV
149942015-07-28 Tom de Vries <tom@codesourcery.com>
14995
14996 * testsuite/libgomp.c/uns-outer-4.c: New test.
14997
710ee218
CP
149982015-07-24 Cesar Philippidis <cesar@codesourcery.com>
14999
15000 * testsuite/libgomp.c/pr66714.c: New test.
15001
27c4ac7d
MB
150022015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15003
15004 PR libgomp/66950
15005 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15006 (fib_ref): New function.
15007 (fib): Correct corner cases in the recursion.
15008 (main): Replace the non-simd loop with fib_ref call.
15009 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15010 subroutine.
15011 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15012 for the last array element value. Replace the non-simd loop with
15013 fib_ref call. Remove redundant b_ref array. Remove the comparison
15014 of the last array element with according Fibonacci sequence element.
15015 (fib): Correct corner cases in the recursion.
15016
22be2349
NS
150172015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15018
15019 * target.c (gomp_offload_image_to_device): Rename to ...
15020 (gomp_load_image_to_device): ... here.
15021 (GOMP_offload_register): Adjust call.
15022 (gomp_init_device): Likewise.
15023 (gomp_unload_image_from_device): New. Broken out of ...
15024 (GOMP_offload_unregister): ... here. Call it.
15025 (gomp_unload_device): New.
15026 * libgomp.h (gomp_unload_device): Declare.
15027 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15028 mem maps.
15029
f3e9a059
NS
150302015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15031
a091118d
NS
15032 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15033 wait=-specific if.
15034 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15035 !=0 condition.
15036 (goacc_waits): Move !num_waits handling to ...
15037 (GOACC_wait): ... here, the only caller that might have zero waits.
15038
f3e9a059
NS
15039 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15040 (struct ptx_image_data): Move earlier, add fns field.
15041 (struct ptx_device): Add images and image_lock fields.
15042 (ptx_images, ptx_image_lock): Delete.
15043 (nvptx_open_device): Initialize images and image_lock fields.
15044 (nvptx_close_device): Destroy image_lock.
15045 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15046 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15047 fields.
15048
afb2d80b
NS
150492015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15050
896c28a7
NS
15051 * target.c (GOMP_offload_register): Use int for device type arg.
15052 (GOMP_offload_unregister): Likewise.
15053
ebe4a560
NS
15054 * target.c (struct_offload_image_descr): Constify host_table.
15055 (gomp_offload_image_to_device): Likewise.
15056 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15057
afb2d80b
NS
15058 * libgomp.h (gomp_device_descr): Constify target data arguments.
15059 * target.c (struct offload_image_descr): Constify target_data.
15060 (gomp_offload_image_to_device): Likewise.
15061 (GOMP_offload_register): Likewise.
93d90219 15062 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
15063 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15064 GOMP_OFFLOAD_unload_image): Constify target data.
15065 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15066 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15067
a4cb876d
NS
150682015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15069
15070 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15071 Workaround driver library const error.
15072 (struct nvptx_tdata, nvptx_tdata_t): New.
15073 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15074 type.
15075
28ef6a27
MB
150762015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15077
15078 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15079 of EPS parameter from integer to real.
15080 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15081 type of EPS parameter from integer to real.
15082
6dba0113
SH
150832015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15084
15085 * team.c (get_last_team): New.
15086 (gomp_new_team): Recycle last non-nested team if possible.
15087 (gomp_team_end): Move team work share list free lock destruction
15088 to ...
15089 (free_team): ... here.
15090
4c1cb4da
MB
150912015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15092
15093 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15094 and ref from int to double. Replaced their comparison with
15095 an inequality of their difference and EPS.
15096 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15097 comparison of pri and a reference number with an inequality of their
15098 difference and EPS.
15099 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15100 the comparison of sum and sum_ref with an inequality of their
15101 difference and EPS.
15102 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15103 the comparison of pri and a reference number with an inequality of
15104 their difference and EPS.
15105
343587dc
MB
151062015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15107
15108 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15109 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15110 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15111 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15112 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15113 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15114 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15115 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15116 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15117 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15118 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15119 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15120 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15121 variables.
15122 (vec_mult): Likewise. Add #pragma omp taskwait.
15123 (main): Adjust caller.
15124 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15125 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15126 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15127 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15128 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15129 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15130 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15131 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15132 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15133 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15134 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15135 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15136 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15137 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15138 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15139 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15140 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15141 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15142 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15143 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15144 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15145 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15146 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15147 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15148 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15149 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15150 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15151 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15152 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15153 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15154 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15155 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15156 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15157 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15158 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15159 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15160 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15161 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15162 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15163 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15164 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15165 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15166 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15167 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15168 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15169 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15170 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15171 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15172 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15173 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15174 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15175 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15176 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15177 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15178 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15179 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15180 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15181 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15182 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15183 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15184 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15185 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15186 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15187 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15188 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15189 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15190 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15191 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15192 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15193 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15194 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15195 (vec_mult): Add !$omp taskwait.
15196 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15197 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15198 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15199 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15200 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15201 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15202 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15203 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15204 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15205 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15206 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15207 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15208 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15209 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15210 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15211 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15212 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15213 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15214 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15215 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15216 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15217 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15218 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15219 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15220 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15221 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15222 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15223 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15224 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15225 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15226 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15227 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15228 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15229 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15230 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15231 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15232 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15233 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15234 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15235 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15236 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15237 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15238 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15239 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15240 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15241 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15242 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15243 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15244 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15245 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15246 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15247 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15248 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15249 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15250 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15251 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15252 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15253 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15254 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15255 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15256 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15257 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15258 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15259 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15260 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15261 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15262 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15263
9f620bf1
TV
152642015-07-10 Tom de Vries <tom@codesourcery.com>
15265
15266 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15267 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15268
a92defda
TS
152692015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15270
15271 PR libgomp/65099
15272 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15273 in a 64-bit configuration.
15274 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15275 offloading testing if no such device is available.
15276 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15277 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15278
cadb53a5
TV
152792015-07-08 Tom de Vries <tom@codesourcery.com>
15280
15281 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15282 second call to f.
15283 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15284
712cb0bb
TV
152852015-07-07 Tom de Vries <tom@codesourcery.com>
15286
15287 PR tree-optimization/66642
15288 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15289 iteration count case.
15290 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15291 function, factor out of ...
15292 (main): ... here. Test low iteration count case.
15293
e5210c77
SH
152942015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15295
15296 * libgomp.h (gomp_thread_pool): Comment last_team field.
15297
f70360e7
UB
152982015-07-02 Uros Bizjak <ubizjak@gmail.com>
15299
15300 * testsuite/libgomp.c++/pr66702-1.C: Require
15301 vect_simd_clones effective target.
15302 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15303
b451c271
TV
153042015-06-30 Tom de Vries <tom@codesourcery.com>
15305
15306 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15307 already set. Use DEFAULT_CFLAGS in dg-runtest.
15308 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15309 "-O2".
15310
f8e89d9f
TV
153112015-06-30 Tom de Vries <tom@codesourcery.com>
15312
15313 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15314 already set. Use DEFAULT_CFLAGS in dg-runtest.
15315 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15316 * testsuite/libgomp.c++/pr64824.C: Same.
15317 * testsuite/libgomp.c++/pr64868.C: Same.
15318 * testsuite/libgomp.c++/pr66199-1.C: Same.
15319 * testsuite/libgomp.c++/pr66199-2.C: Same.
15320 * testsuite/libgomp.c++/target-2.C: Same.
15321 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15322 -std=<standard> option.
15323 * testsuite/libgomp.c++/udr-11.C: Same.
15324 * testsuite/libgomp.c++/udr-12.C: Same.
15325 * testsuite/libgomp.c++/udr-13.C: Same.
15326 * testsuite/libgomp.c++/udr-14.C: Same.
15327 * testsuite/libgomp.c++/udr-15.C: Same.
15328 * testsuite/libgomp.c++/udr-16.C: Same.
15329 * testsuite/libgomp.c++/udr-17.C: Same.
15330 * testsuite/libgomp.c++/udr-18.C: Same.
15331 * testsuite/libgomp.c++/udr-19.C: Same.
15332 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15333 * testsuite/libgomp.c++/simd-1.C: Same.
15334 * testsuite/libgomp.c++/simd-2.C: Same.
15335 * testsuite/libgomp.c++/simd-3.C: Same.
15336 * testsuite/libgomp.c++/simd-4.C: Same.
15337 * testsuite/libgomp.c++/simd-5.C: Same.
15338 * testsuite/libgomp.c++/simd-6.C: Same.
15339 * testsuite/libgomp.c++/simd-7.C: Same.
15340 * testsuite/libgomp.c++/simd-8.C: Same.
15341 * testsuite/libgomp.c++/simd-9.C: Same.
15342 * testsuite/libgomp.c++/simd10.C: Same.
15343 * testsuite/libgomp.c++/simd11.C: Same.
15344 * testsuite/libgomp.c++/simd12.C: Same.
15345 * testsuite/libgomp.c++/simd13.C: Same.
15346
3446fe48
JJ
153472015-06-30 Jakub Jelinek <jakub@redhat.com>
15348
15349 PR middle-end/66702
15350 * testsuite/libgomp.c++/pr66702-1.C: New test.
15351 * testsuite/libgomp.c++/pr66702-2.C: New test.
15352
8a36714a
TV
153532015-06-30 Tom de Vries <tom@codesourcery.com>
15354
15355 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15356 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15357 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15358 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15359
4f75d608
TV
153602015-06-30 Tom de Vries <tom@codesourcery.com>
15361
15362 PR tree-optimization/66652
15363 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15364 using restrict pointers.
15365 (main): Add arguments to calls to f.
15366 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15367
6d9d1eeb
AT
153682015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15369
15370 * configure.ac: Fix check for header <sys/sysctl.h>.
15371 * configure: Regenerate.
15372 * config.h.in: Likewise.
15373
1222f22b
TV
153742015-06-23 Tom de Vries <tom@codesourcery.com>
15375
15376 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15377 abort.
15378 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15379
d7efbbf6
TS
153802015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15381
bfcd036f
TS
15382 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15383 acc_device_nvidia.
15384
d7efbbf6
TS
15385 PR libgomp/66518
15386 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15387 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15388
d7bfc710
TV
153892015-06-15 Tom de Vries <tom@codesourcery.com>
15390
15391 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15392 dg-additional-options for any remaining options.
15393 * testsuite/libgomp.c/atomic-2.c: Same.
15394 * testsuite/libgomp.c/atomic-4.c: Same.
15395 * testsuite/libgomp.c/atomic-5.c: Same.
15396 * testsuite/libgomp.c/atomic-6.c: Same.
15397 * testsuite/libgomp.c/autopar-1.c: Same.
15398 * testsuite/libgomp.c/copyin-1.c: Same.
15399 * testsuite/libgomp.c/copyin-2.c: Same.
15400 * testsuite/libgomp.c/copyin-3.c: Same.
15401 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15402 * testsuite/libgomp.c/nestedfn-5.c: Same.
15403 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15404 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15405 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15406 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15407 * testsuite/libgomp.c/pr32362-1.c: Same.
15408 * testsuite/libgomp.c/pr32362-2.c: Same.
15409 * testsuite/libgomp.c/pr32362-3.c: Same.
15410 * testsuite/libgomp.c/pr39591-1.c: Same.
15411 * testsuite/libgomp.c/pr39591-2.c: Same.
15412 * testsuite/libgomp.c/pr39591-3.c: Same.
15413 * testsuite/libgomp.c/pr58392.c: Same.
15414 * testsuite/libgomp.c/pr58756.c: Same.
15415 * testsuite/libgomp.c/simd-1.c: Same.
15416 * testsuite/libgomp.c/simd-10.c: Same.
15417 * testsuite/libgomp.c/simd-11.c: Same.
15418 * testsuite/libgomp.c/simd-12.c: Same.
15419 * testsuite/libgomp.c/simd-13.c: Same.
15420 * testsuite/libgomp.c/simd-14.c: Same.
15421 * testsuite/libgomp.c/simd-15.c: Same.
15422 * testsuite/libgomp.c/simd-2.c: Same.
15423 * testsuite/libgomp.c/simd-3.c: Same.
15424 * testsuite/libgomp.c/simd-4.c: Same.
15425 * testsuite/libgomp.c/simd-5.c: Same.
15426 * testsuite/libgomp.c/simd-6.c: Same.
15427 * testsuite/libgomp.c/simd-7.c: Same.
15428 * testsuite/libgomp.c/simd-8.c: Same.
15429 * testsuite/libgomp.c/simd-9.c: Same.
15430
fb5b5352
TV
154312015-06-15 Tom de Vries <tom@codesourcery.com>
15432
15433 * testsuite/libgomp.c/pr35625.c: Fix typo.
15434
ca431bef
TV
154352015-06-15 Tom de Vries <tom@codesourcery.com>
15436
15437 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15438 in dg-options.
15439 * testsuite/libgomp.c/atomic-3.c: Same.
15440 * testsuite/libgomp.c/debug-1.c: Same.
15441 * testsuite/libgomp.c/nqueens-1.c: Same.
15442 * testsuite/libgomp.c/pr26171.c: Same.
15443 * testsuite/libgomp.c/pr48591.c: Same.
15444 * testsuite/libgomp.c/pr64824.c: Same.
15445 * testsuite/libgomp.c/pr64868.c: Same.
15446 * testsuite/libgomp.c/pr66133.c: Same.
15447 * testsuite/libgomp.c/pr66199-1.c: Same.
15448 * testsuite/libgomp.c/pr66199-2.c: Same.
15449 * testsuite/libgomp.c/target-8.c: Same.
15450
0d8a9e20
TV
154512015-06-15 Tom de Vries <tom@codesourcery.com>
15452
15453 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15454 -std={gnu99,c99}.
15455 * testsuite/libgomp.c/for-1.c: Same.
15456 * testsuite/libgomp.c/for-2.c: Same.
15457 * testsuite/libgomp.c/for-3.c: Same.
15458 * testsuite/libgomp.c/pr35625.c: Same.
15459 * testsuite/libgomp.c/pr39154.c: Same.
15460 * testsuite/libgomp.c/simd-16.c: Same.
15461 * testsuite/libgomp.c/simd-17.c: Same.
15462
a6860be9
TV
154632015-06-13 Tom de Vries <tom@codesourcery.com>
15464
15465 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15466
ab3306d2
TV
154672015-06-13 Tom de Vries <tom@codesourcery.com>
15468
15469 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15470 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15471 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15472 (N): Define.
15473 (main): Use N instead of hardcoded constants.
15474
7c82d827
TV
154752015-06-05 Tom de Vries <tom@codesourcery.com>
15476
15477 merge from gomp4 branch:
15478 2015-05-28 Tom de Vries <tom@codesourcery.com>
15479
15480 PR tree-optimization/65443
15481 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15482 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15483 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15484
c469078d
BRF
154852015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15486
15487 * testsuite/libgomp.graphite/bounds.c: Adjust for
15488 cleanup-tree-dump removal.
15489 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15490 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15491 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15492 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15493 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15494 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15495 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15496 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15497 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15498 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15499
bb3caa35
UB
155002015-05-28 Uros Bizjak <ubizjak@gmail.com>
15501
15502 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15503 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15504 (futex_wake) [!__x86_64__]: Ditto.
15505
9fb5fd44
JB
155062015-05-28 Julian Brown <julian@codesourcery.com>
15507
15508 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15509 function comment. Only call gomp_fatal if new argument is true.
15510 (acc_dev_num_out_of_range): New function.
15511 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15512 acc_dev_num_out_of_range as appropriate.
15513 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
15514 (acc_get_device_num, acc_set_device_num): Update calls to
15515 resolve_device.
9fb5fd44
JB
15516 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15517 output.
15518
32eaed93
JB
155192015-05-28 Julian Brown <julian@codesourcery.com>
15520
15521 PR libgomp/65742
32eaed93
JB
15522 * oacc-init.c (plugin/plugin-host.h): Include.
15523 (acc_on_device): Check whether we're in an offloaded region for
15524 host_nonshm
15525 plugin. Don't use __builtin_acc_on_device.
15526 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15527 nonshm_exec flag in thread-local data.
15528 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15529 data for host_nonshm plugin.
15530 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15531 for host_nonshm plugin.
15532 * plugin/plugin-host.h: New.
15533
ea023bcf
UB
155342015-05-27 Uros Bizjak <ubizjak@gmail.com>
15535
8ed501f1
UB
15536 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15537
155382015-05-27 Uros Bizjak <ubizjak@gmail.com>
15539
15540 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15541 Declare as int.
15542 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15543 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15544 Declare as int.
15545
155462015-05-27 Uros Bizjak <ubizjak@gmail.com>
15547
bb3caa35 15548 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 15549
1716efeb
CLT
155502015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15551
15552 * target.c (gomp_map_pointer): New function abstracting out
15553 GOMP_MAP_POINTER handling.
15554 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15555 gomp_map_pointer().
15556
41b37d5e
JJ
155572015-05-19 Jakub Jelinek <jakub@redhat.com>
15558
15559 PR middle-end/66199
15560 * testsuite/libgomp.c/pr66199-1.c: New test.
15561 * testsuite/libgomp.c/pr66199-2.c: New test.
15562 * testsuite/libgomp.c++/pr66199-1.C: New test.
15563 * testsuite/libgomp.c++/pr66199-2.C: New test.
15564 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15565 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15566
c8319826
JB
155672015-05-19 Julian Brown <julian@codesourcery.com>
15568
15569 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15570 on cuInit failure.
15571
b37dddbc
JJ
155722015-05-13 Jakub Jelinek <jakub@redhat.com>
15573
15574 PR middle-end/66133
15575 * testsuite/libgomp.c/pr66133.c: New test.
15576
55fba601
MH
155772015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15578
15579 * Makefile.in: Regenerated with automake-1.11.6.
15580 * aclocal.m4: Likewise.
15581 * config.h.in: Likewise.
15582 * configure: Likewise.
15583 * testsuite/Makefile.in: Likewise.
15584
1be0899d
JM
155852015-05-08 Jason Merrill <jason@redhat.com>
15586
15587 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15588 _Complex.
15589
15590 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15591
d2463960
JB
155922015-05-06 Julian Brown <julian@codesourcery.com>
15593
15594 * oacc-init.c (acc_device_lock): Add explanatory comment.
15595 (resolve_device): Add comment about locking requirement.
15596 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15597 gomp_init_device and gomp_fini_device calls.
15598 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15599 (acc_get_device_num, acc_set_device_num): Add locking around
15600 resolve_device and gomp_init_device calls.
15601
e38fdba4
JB
156022015-05-06 Julian Brown <julian@codesourcery.com>
15603
15604 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15605 goacc_thread_lock on error paths.
15606 * oacc-mem.c (lookup_host): Remove locking from function. Note
15607 locking requirement for caller in function comment.
15608 (lookup_dev): Likewise.
15609 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15610 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15611 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15612 Add locking.
15613
ae8ffbbb
TS
156142015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15615
15616 PR testsuite/65205
15617 PR libgomp/65993
15618 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15619 don't expect "0x" prefix for "%p" format specifier, don't expect
15620 "(nil)" for NULL pointer.
15621 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15622 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15623 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15624 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15625 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15626 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15627 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15628 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15629 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15630 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15631 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15632 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15633 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15634 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15635 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15636 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15637 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15638 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15639 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15640 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15641 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15642 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15643 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15644 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15645 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15646 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15647 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15648 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15649 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15650 accurately specify what we're looking for.
15651 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15652 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15653 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15654 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15655 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15656
1309f1d2
JN
156572015-04-30 James Norris <jnorris@codesourcery.com>
15658
15659 PR testsuite/65205
15660 * testsuite/lib/libgomp.exp
15661 (check_effective_target_openacc_host_selected)
15662 (check_effective_target_openacc_host_nonshm_selected): New
15663 procedures.
15664 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15665 dg-shouldfail.
15666 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15667 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15668 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15669 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15670 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15671 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15672 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15673 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15674 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15675 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15676 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15677 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15678 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15679 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15680 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15681 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15682 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15683 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15684 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15685 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15686 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15687 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15688 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15689 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15690 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15691 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15692 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15693 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15694 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15695 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15696 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15697 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15698 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15699 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15700 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15701 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15702 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15703 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15704 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15705 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15706 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15707 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15708 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15709
d93bdab5
JB
157102015-04-08 Julian Brown <julian@codesourcery.com>
15711
15712 * libgomp.h (target_mem_desc: Remove mem_map field.
15713 (acc_dispatch_t): Remove open_device_func, close_device_func,
15714 get_device_num_func, set_device_num_func, target_data members.
15715 Change create_thread_data_func argument to device number instead of
15716 generic pointer.
15717 * oacc-async.c (assert.h): Include.
15718 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15719 (acc_wait_all, acc_wait_all_async): Use current host thread's
15720 active device, not base_dev.
15721 * oacc-cuda.c (acc_get_current_cuda_device)
15722 (acc_get_current_cuda_context, acc_get_cuda_stream)
15723 (acc_set_cuda_stream): Likewise.
15724 * oacc-host.c (host_dispatch): Don't set open_device_func,
15725 close_device_func, get_device_num_func or set_device_num_func.
15726 * oacc-init.c (base_dev, init_key): Remove.
15727 (cached_base_dev): New.
15728 (name_of_acc_device_t): New.
15729 (acc_init_1): Initialise default-numbered device, not zeroth.
15730 (acc_shutdown_1): Close all devices of a given type.
15731 (goacc_destroy_thread): Don't use base_dev.
15732 (lazy_open, lazy_init, lazy_init_and_open): Remove.
15733 (goacc_attach_host_thread_to_device): New.
15734 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15735 (acc_get_num_devices): Don't use base_dev.
15736 (acc_set_device_type): Reimplement.
15737 (acc_get_device_type): Don't use base_dev.
15738 (acc_get_device_num): Tweak logic.
15739 (acc_set_device_num): Likewise.
15740 (acc_on_device): Use acc_get_device_type.
15741 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15742 (goacc_lazy_initialize): Reimplement with acc_init and
15743 goacc_attach_host_thread_to_device.
15744 * oacc-int.h (goacc_thread): Add base_dev field.
15745 (base_dev): Remove extern declaration.
15746 (goacc_attach_host_thread_to_device): Add prototype.
15747 * oacc-mem.c (acc_malloc): Use current thread's device instead of
15748 base_dev.
15749 (acc_free): Likewise.
15750 (acc_memcpy_to_device): Likewise.
15751 (acc_memcpy_from_device): Likewise.
15752 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15753 goacc_lazy_initialize (throughout).
15754 (GOACC_parallel): Use tgt_offset to locate target functions.
15755 * target.c (gomp_map_vars): Don't set tgt->mem_map.
15756 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15757 (gomp_load_plugin_for_device): Remove open_device, close_device,
15758 get_device_num, set_device_num openacc hook initialisation. Don't set
15759 openacc.target_data.
15760 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15761 (GOMP_OFFLOAD_openacc_close_device)
15762 (GOMP_OFFLOAD_openacc_get_device_num)
15763 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15764 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15765 to int.
15766 * plugin/plugin-nvptx.c (ptx_inited): Remove.
15767 (instantiated_devices, ptx_dev_lock): New.
15768 (struct ptx_image_data): New.
15769 (ptx_devices, ptx_images, ptx_image_lock): New.
15770 (fini_streams_for_device): Reorder cuStreamDestroy call.
15771 (nvptx_get_num_devices): Remove forward declaration.
15772 (nvptx_init): Change return type to bool.
15773 (nvptx_fini): Remove.
15774 (nvptx_attach_host_thread_to_device): New.
15775 (nvptx_open_device): Return struct ptx_device* instead of void*.
15776 (nvptx_close_device): Change argument type to struct ptx_device*,
15777 return type to void.
15778 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15779 (kernel_target_data, kernel_host_table): Remove static globals.
15780 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15781 (GOMP_OFFLOAD_init_device): Reimplement.
15782 (GOMP_OFFLOAD_fini_device): Likewise.
15783 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15784 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15785 (GOMP_OFFLOAD_host2dev): Use ORD argument.
15786 (GOMP_OFFLOAD_openacc_open_device)
15787 (GOMP_OFFLOAD_openacc_close_device)
15788 (GOMP_OFFLOAD_openacc_set_device_num)
15789 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15790 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15791 (device number).
15792
15793 testsuite/
15794 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
15795
a51df54e
IV
157962015-04-06 Ilya Verbin <ilya.verbin@intel.com>
15797
15798 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
15799 * libgomp.h (struct gomp_memory_mapping): Remove.
15800 (struct target_mem_desc): Change type of mem_map from
15801 gomp_memory_mapping * to splay_tree_s *.
15802 (struct gomp_device_descr): Remove register_image_func, get_table_func.
15803 Add load_image_func, unload_image_func.
15804 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
15805 Remove offload_regions_registered.
15806 (gomp_init_tables): Remove.
15807 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15808 to splay_tree_s *.
15809 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
15810 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
15811 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
15812 offload_regions_registered.
15813 Initialize load_image_func, unload_image_func, mem_map.root.
15814 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
15815 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
15816 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
15817 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
15818 gomp_memory_mapping *. Use dev's lock and splay_tree.
15819 (lookup_dev): Use dev's lock.
15820 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
15821 (acc_is_present): Likewise.
15822 (acc_map_data): Likewise.
15823 (acc_unmap_data): Likewise. Use dev's lock.
15824 (present_create_copy): Likewise.
15825 (delete_copyout): Pass dev to lookup_host instead of mem_map.
15826 (update_dev_host): Likewise.
15827 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
15828 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
15829 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
15830 (GOMP_OFFLOAD_get_table): Remove
15831 (GOMP_OFFLOAD_load_image): New function.
15832 (GOMP_OFFLOAD_unload_image): New function.
15833 * target.c (register_lock): New mutex for offload image registration.
15834 (num_devices): Do not guard with PLUGIN_SUPPORT.
15835 (gomp_realloc_unlock): New static function.
15836 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
15837 before gomp_fatal.
15838 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
15839 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
15840 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
15841 mem_map's.
15842 (gomp_unmap_vars): Likewise.
15843 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
15844 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
15845 (gomp_offload_image_to_device): New static function.
15846 (GOMP_offload_register): Add mutex lock.
15847 Call gomp_offload_image_to_device for all initialized devices.
15848 Replace gomp_realloc with gomp_realloc_unlock.
15849 (GOMP_offload_unregister): New function.
15850 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
15851 get_table_func from the plugin with calls to init_device_func and
15852 gomp_offload_image_to_device.
15853 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15854 to splay_tree_s *.
15855 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
15856 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
15857 (GOMP_target_data): Do not call gomp_init_tables.
15858 (GOMP_target_update): Likewise. Remove argument from gomp_update.
15859 (gomp_load_plugin_for_device): Replace register_image and get_table
15860 with load_image and unload_image in DLSYM ().
15861 (gomp_register_images_for_device): Remove function.
15862 (gomp_target_init): Do not initialize current_device.mem_map.*,
15863 current_device.offload_regions_registered.
15864 Remove call to gomp_register_images_for_device.
15865 Do not free offload_images and num_offload_images.
15866
6c384511
JJ
158672015-03-30 Jakub Jelinek <jakub@redhat.com>
15868
15869 PR fortran/65597
15870 * testsuite/libgomp.fortran/pr65597.f90: New test.
15871
3e8165a5
TV
158722015-03-27 Tom de Vries <tom@codesourcery.com>
15873
15874 PR testsuite/65594
15875 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
15876 (init, check): New function.
15877 (foo): Change return type to void.
15878 (main): Call init and check.
15879
4d688c9a
TV
158802015-03-27 Tom de Vries <tom@codesourcery.com>
15881
15882 PR testsuite/65594
15883 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
15884 (foo): Use M for non-inner loops to scale down test-case.
15885
01c0b3b0
KT
158862015-03-25 Kai Tietz <ktietz@redhat.com>
15887
15888 PR libgomp/64972
15889 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
15890 (GOACC_data_start): Likewise.
15891 * target.c (gomp_map_vars): Likewise.
15892
844d9a76
JDA
158932015-03-21 John David Anglin <danglin@gcc.gnu.org>
15894
15895 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
15896 hppa*-*-hpux*.
15897
9b65e171
JJ
158982015-03-19 Jakub Jelinek <jakub@redhat.com>
15899
15900 * testsuite/libgomp.c/target-10.c: New test.
15901 * testsuite/libgomp.c++/target-4.C: New test.
15902
db397e2e
IV
159032015-03-13 Ilya Verbin <ilya.verbin@intel.com>
15904
15905 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
15906 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
15907
cd93945d
SH
159082015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
15909
15910 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
15911 * configure.ac (*-*-rtems*): Assume Pthread is supported.
15912 (pthread.h): Check for this header file.
15913 * configure: Regenerate.
15914
05deba9f
TV
159152015-02-25 Tom de Vries <tom@codesourcery.com>
15916
15917 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
15918 (check_reduction_op, check_reduction_macro, max, min):
15919 Declare.
15920 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
15921 function.
15922 (main): Use new functions.
15923
196904d8
IT
159242015-02-18 Ilya Tocar <ilya.tocar@intel.com>
15925
15926 * target.c (gomp_load_plugin_for_device): Use const char * instead of
15927 char * for variables holding dlerror return values.
15928 (DLSYM_OPT): Ditto.
15929
a2818955
TS
159302015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15931
15932 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
15933
26f93312
TS
159342015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15935 Cesar Philippidis <cesar@codesourcery.com>
15936
15937 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
15938 GOACC_ctaid, and GOACC_nctaid routines.
15939
fa01ffcc
JJ
159402015-02-11 Jakub Jelinek <jakub@redhat.com>
15941
15942 PR c/64824
15943 * testsuite/libgomp.c/atomic-18.c: New test.
15944 * testsuite/libgomp.c++/atomic-16.C: New test.
15945
4886ec8e
JJ
159462015-02-04 Jakub Jelinek <jakub@redhat.com>
15947
15948 PR c/64824
15949 PR c/64868
15950 * testsuite/libgomp.c/pr64824.c: New test.
15951 * testsuite/libgomp.c/pr64868.c: New test.
15952 * testsuite/libgomp.c++/pr64824.C: New test.
15953 * testsuite/libgomp.c++/pr64868.C: New test.
15954
02d3e45e
DE
159552015-02-01 David Edelsohn <dje.gcc@gmail.com>
15956
15957 PR libgomp/64635
15958 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
15959 Link with -lpthread.
15960 * config/aix/plugin-suffix.h: Delete.
15961
b5f7a6ca
JH
159622015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
15963
15964 PR libgomp/64635
15965 * configure.tgt (*-*-aix*): Use config_path "aix posix".
15966 (*-*-darwin*): Use config_path "bsd darwin posix".
15967 (*-*-hpux*): Use config_path "hpux posix".
15968 * target.c: Add include of plugin-suffix.h and use
15969 SONAME_SUFFIX macro.
15970 * config/aix/plugin-suffix.h: New file.
15971 * config/darwin/plugin-suffix.h: New file.
15972 * config/hpux/plugin-suffix.h: New file.
15973 * config/posix/plugin-suffix.h: New file.
15974
b8910447
JJ
159752015-01-23 Jakub Jelinek <jakub@redhat.com>
15976
15977 PR middle-end/64734
15978 * libgomp.c/pr64734.c: New test.
15979
a0c88d06
TV
159802015-01-23 Tom de Vries <tom@codesourcery.com>
15981
15982 PR libgomp/64672
15983 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
15984
1506ae0e
TV
159852015-01-23 Tom de Vries <tom@codesourcery.com>
15986
15987 PR libgomp/64707
15988 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
15989 dg-options.
15990
128b26dc
TS
159912015-01-19 Thomas Schwinge <thomas@codesourcery.com>
15992
bed62c21 15993 PR libgomp/64625
128b26dc
TS
15994 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
15995 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
15996 formal parameter. Update all users.
15997 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
15998 Document unused formal parameter.
15999
6e36114c
TS
160002015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16001
16002 * oacc-parallel.c: Don't include <alloca.h>.
16003 (GOACC_parallel): Use gomp_alloca instead of alloca.
16004
973e9808
GP
160052015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16006
16007 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16008
41dbbb37
TS
160092015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16010 James Norris <jnorris@codesourcery.com>
16011 Tom de Vries <tom@codesourcery.com>
16012 Julian Brown <julian@codesourcery.com>
16013 Cesar Philippidis <cesar@codesourcery.com>
16014 Nathan Sidwell <nathan@codesourcery.com>
16015 Tobias Burnus <burnus@net-b.de>
16016
16017 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16018 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16019 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16020 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16021 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16022 Include $(top_srcdir)/plugin/Makefrag.am.
16023 (nodist_libsubinclude_HEADERS): Add openacc.h.
16024 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16025 openacc.f90, openacc.mod, openacc_kinds.mod.
16026 (omp_lib.mod): Generalize into...
16027 (%.mod): ... this new rule.
16028 (openacc_kinds.mod, openacc.mod): New rules.
16029 * plugin/configfrag.ac: New file.
16030 * configure.ac: Move plugin/offloading support into it. Include
16031 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16032 * plugin/Makefrag.am: New file.
16033 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16034 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16035 export.
16036 (libgomp-test-support.exp): New rule.
16037 (all-local): Depend on it.
16038 * Makefile.in: Regenerate.
16039 * testsuite/Makefile.in: Regenerate.
16040 * config.h.in: Likewise.
16041 * configure: Likewise.
16042 * configure.tgt: Harden shell syntax.
16043 * env.c: Include "oacc-int.h".
16044 (parse_acc_device_type): New function.
16045 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16046 variables.
16047 (initialize_env): Initialize those. Call
16048 goacc_runtime_initialize.
16049 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16050 (gomp_fatal): Call gomp_vfatal.
16051 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16052 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16053 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16054 (splay_tree_node, splay_tree, splay_tree_key)
16055 (struct target_mem_desc, struct splay_tree_key_s)
16056 (struct gomp_memory_mapping, struct acc_dispatch_t)
16057 (struct gomp_device_descr, gomp_acc_insert_pointer)
16058 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16059 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16060 (gomp_free_memmap, gomp_fini_device): New declarations.
16061 (gomp_vdebug, gomp_debug): New macros.
16062 Include "splay-tree.h".
16063 * libgomp.map (OACC_2.0): New symbol version. Use for
16064 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16065 acc_set_device_type_h_, acc_get_device_type,
16066 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16067 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16068 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16069 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16070 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16071 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16072 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16073 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16074 acc_copyin_array_h_, acc_present_or_copyin,
16075 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16076 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16077 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16078 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16079 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16080 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16081 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16082 acc_update_device, acc_update_device_32_h_,
16083 acc_update_device_64_h_, acc_update_device_array_h_,
16084 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16085 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16086 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16087 acc_is_present_64_h_, acc_is_present_array_h_,
16088 acc_memcpy_to_device, acc_memcpy_from_device,
16089 acc_get_current_cuda_device, acc_get_current_cuda_context,
16090 acc_get_cuda_stream, acc_set_cuda_stream.
16091 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16092 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16093 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16094 GOACC_get_num_threads.
16095 (GOMP_PLUGIN_1.0): New symbol version. Use for
16096 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16097 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16098 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16099 GOMP_PLUGIN_acc_thread.
16100 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16101 environment variable.
16102 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16103 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16104 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16105 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16106 (splay_tree_remove): New declarations.
16107 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16108 (splay_tree_remove, splay_tree_lookup): Move into...
16109 * splay-tree.c: ... this new file.
16110 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16111 (splay_tree_node, splay_tree, splay_tree_key)
16112 (struct target_mem_desc, struct splay_tree_key_s)
16113 (struct gomp_device_descr): Don't declare.
16114 (num_devices_openmp): New variable.
16115 (gomp_get_num_devices ): Use it.
16116 (gomp_init_targets_once): New function.
16117 (gomp_get_num_devices ): Use it.
16118 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16119 (gomp_fini_device, gomp_register_image_for_device): New functions.
16120 (gomp_map_vars): Add devaddrs parameter.
16121 (gomp_update): Add mm parameter.
16122 (gomp_init_device): Move most of it into...
16123 (gomp_init_tables): ... this new function.
16124 (gomp_register_images_for_device): Remove function.
16125 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16126 Make them hidden instead of static.
16127 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16128 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16129 (GOMP_target_end_data, GOMP_target_update)
16130 (gomp_load_plugin_for_device, gomp_target_init): Update for
16131 OpenACC changes.
16132 * oacc-async.c: New file.
16133 * oacc-cuda.c: Likewise.
16134 * oacc-host.c: Likewise.
16135 * oacc-init.c: Likewise.
16136 * oacc-int.h: Likewise.
16137 * oacc-mem.c: Likewise.
16138 * oacc-parallel.c: Likewise.
16139 * oacc-plugin.c: Likewise.
16140 * oacc-plugin.h: Likewise.
16141 * oacc-ptx.h: Likewise.
16142 * openacc.f90: Likewise.
16143 * openacc.h: Likewise.
16144 * openacc_lib.h: Likewise.
16145 * plugin/plugin-host.c: Likewise.
16146 * plugin/plugin-nvptx.c: Likewise.
16147 * libgomp-plugin.c: Likewise.
16148 * libgomp-plugin.h: Likewise.
16149 * libgomp_target.h: Remove file after merging content into the
16150 former file. Update all users.
16151 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16152 (offload_targets_s, offload_targets_s_openacc): New variables.
16153 (check_effective_target_openacc_nvidia_accel_present)
16154 (check_effective_target_openacc_nvidia_accel_selected): New
16155 procedures.
16156 (libgomp_init): Update for OpenACC changes.
16157 * testsuite/libgomp-test-support.exp.in: New file.
16158 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16159 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16160 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16161 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16162 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16163 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16164 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16165 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16166 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16167 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16168 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16169 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16170 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16171 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16172 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16173 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16174 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16175 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16176 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16177 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16178 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16179 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16180 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16181 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16182 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16183 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16184 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16185 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16186 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16187 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16188 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16189 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16190 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16191 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16192 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16193 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16194 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16195 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16196 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16197 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16198 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16199 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16200 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16201 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16202 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16203 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16204 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16205 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16206 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16207 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16208 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16209 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16210 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16211 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16212 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16213 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16214 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16215 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16216 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16217 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16218 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16219 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16220 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16221 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16222 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16223 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16224 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16225 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16226 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16227 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16228 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16229 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16230 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16231 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16232 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16233 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16234 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16235 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16236 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16237 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16238 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16239 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16240 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16241 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16242 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16243 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16244 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16245 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16246 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16247 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16248 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16249 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16250 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16251 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16252 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16253 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16254 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16255 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16256 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16257 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16258 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16259 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16260 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16261 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16262 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16263 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16264 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16265 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16266 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16267 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16268 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16269 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16270 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16271 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16272 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16273 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16274 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16275 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16276 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16277 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16278 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16279 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16280 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16281 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16282 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16283 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16284 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16285 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16286 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16287 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16288 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16289 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16290 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16291 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16292 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16293 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16294 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16295 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16296 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16297 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16298 Likewise.
16299 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16300 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16301 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16302 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16303 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16304 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16305 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16306 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16307 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16308 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16309 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16310 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16311 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16312 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16313 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16314 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16315 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16316 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16317 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16318 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16319 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16320 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16321 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16322 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16323 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16324 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16325 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16326 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16327 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16328 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16329 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16330 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16331 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16332 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16333 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16334 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16335 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16336 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16337 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16338 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16339 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16340 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16341 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16342 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16343 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16344 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16345 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16346 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16347 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16348 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16349 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16350 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16351 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16352 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16353 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16354 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16355 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16356 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16357 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16358 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16359
f1f3453e
TS
163602015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16361 Julian Brown <julian@codesourcery.com>
16362 David Malcolm <dmalcolm@redhat.com>
16363
16364 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16365 to "GNU Offloading and Multi Processing Runtime Library". Change
16366 all users.
16367 * configure: Regenerate.
16368 * libgomp.texi: Update.
16369
f9a0eca4
TS
163702015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16371
b335ef4e
TS
16372 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16373 "$tgt_dir/lib32".
16374 * configure: Regenerate.
16375
f9a0eca4
TS
16376 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16377 "intelmic" in $offload_targets.
16378
b67cd4e3
JJ
163792015-01-05 Jakub Jelinek <jakub@redhat.com>
16380
5624e564
JJ
16381 Update copyright years.
16382
b67cd4e3
JJ
16383 * libgomp.texi: Bump @copying's copyright year.
16384
3b41b583
KT
163852014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16386
16387 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 16388 Move load of target-supports.exp earlier.
3b41b583 16389
2354caec
IV
163902014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16391
16392 * testsuite/libgomp.c/target-9.c: New test.
16393
f50eecba
VR
163942014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16395
16396 * config.h.in: Regenerate.
16397 * configure: Regenerate.
16398 * configure.ac: Add GCC_CHECK_EMUTLS.
16399 * libgomp.h: Add check for USE_EMUTLS: this case
16400 is equal to HAVE_TLS.
16401 * team.c: Likewise.
16402
68bc9270
UB
164032014-12-03 Uros Bizjak <ubizjak@gmail.com>
16404
16405 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16406
476ff787
AT
164072014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16408 Ilya Verbin <ilya.verbin@intel.com>
16409
16410 * testsuite/libgomp.c/target-critical-1.c: New test.
16411
31a30e62
JJ
164122014-11-26 Jakub Jelinek <jakub@redhat.com>
16413
16414 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 16415 to dg-options unless expensive testing is on.
31a30e62
JJ
16416 (TESTITERS): Define to N if not defined.
16417 (main): Use TESTITERS instead of N.
16418 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16419 dg-additional-options depending on whether expensive testing is on.
16420 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16421 Decrease N to 100000 and CHUNKSZ to 10000.
16422
3f9e8f13
JJ
164232014-11-24 Jakub Jelinek <jakub@redhat.com>
16424
16425 PR fortran/63938
31a30e62
JJ
16426 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16427 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 16428
c8451a46
SE
164292014-11-21 Steve Ellcey <sellcey@imgtec.com>
16430
16431 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16432
a699d672
L
164332014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16434
16435 PR bootstrap/63784
16436 * configure: Regenerated.
16437
4a19f719
UB
164382014-11-19 Uros Bizjak <ubizjak@gmail.com>
16439
16440 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16441 vect_simd_clones effective target.
16442 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16443
b1bf6c52
JJ
164442014-11-14 Jakub Jelinek <jakub@redhat.com>
16445
16446 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16447 of 32 as block_size.
16448 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16449 instead of 32 as block_size.
16450
d64ae614
AT
164512014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16452 Ilya Verbin <ilya.verbin@intel.com>
16453
16454 * Makefile.in: Regenerate.
16455 * configure: Regenerate.
16456 * configure.ac: Set up offload_additional_options,
16457 offload_additional_lib_paths and offload_targets.
16458 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16459 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16460 * testsuite/Makefile.in: Regenerate.
16461 * testsuite/lib/libgomp.exp (libgomp_init): Append
16462 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16463 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16464 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16465
122d7303
AT
164662014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16467 Ilya Verbin <ilya.verbin@intel.com>
16468 Kirill Yukhin <kirill.yukhin@intel.com>
16469 Ilya Tocar <ilya.tocar@intel.com>
16470
16471 * testsuite/lib/libgomp.exp
16472 (check_effective_target_offload_device): New.
16473 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16474 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16475 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16476 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16477 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16478 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16479 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16480 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16481 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16482 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16483 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16484 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16485 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16486 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16487 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16488 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16489 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16490 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16491 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16492 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16493 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16494 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16495 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16496 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16497 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16498 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16499 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16500 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16501 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16502 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16503 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16504 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16505 * testsuite/libgomp.c/target-7.c: Fix test.
16506 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16507 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16508 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16509 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16510 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16511 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16512 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16513 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16514 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16515 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16516 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16517 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16518 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16519 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16520 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16521 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16522 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16523 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16524 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16525 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16526 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16527 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16528 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16529 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16530 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16531 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16532 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16533 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16534 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16535 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16536 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16537
1df3f842
JJ
165382014-11-13 Jakub Jelinek <jakub@redhat.com>
16539 Ilya Verbin <ilya.verbin@intel.com>
16540 Thomas Schwinge <thomas@codesourcery.com>
16541 Andrey Turetskiy <andrey.turetskiy@intel.com>
16542
16543 * libgomp.map (GOMP_4.0.1): New symbol version.
16544 Add GOMP_offload_register.
16545 * libgomp_target.h: New file.
16546 * splay-tree.h: New file.
16547 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16548 (gomp_target_init): New forward declaration.
16549 (gomp_is_initialized): New static variable.
16550 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16551 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16552 New structures.
16553 (offload_images, num_offload_images, devices, num_devices): New static
16554 variables.
16555 (splay_compare): New static function.
16556 (struct gomp_device_descr): New structure.
16557 (gomp_get_num_devices): Call gomp_target_init.
16558 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16559 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16560 (GOMP_offload_register): New function.
16561 (GOMP_target): Arrange for host callback to be performed in a separate
16562 initial thread and contention group, inheriting ICVs from
16563 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16564 Add device initialization and lookup for target function in splay tree.
16565 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16566 (GOMP_target_end_data): Call gomp_unmap_vars.
16567 (GOMP_target_update): Add device initialization and call gomp_update.
16568 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16569 (gomp_target_init): New static functions.
16570
85c64bbe
BS
165712014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16572 Thomas Schwinge <thomas@codesourcery.com>
16573 Ilya Verbin <ilya.verbin@intel.com>
16574 Andrey Turetskiy <andrey.turetskiy@intel.com>
16575
16576 * config.h.in: Regenerate.
16577 * configure: Regenerate.
16578 * configure.ac: Check for libdl, required for plugin support.
16579 (PLUGIN_SUPPORT): Define if plugins are supported.
16580 (enable_offload_targets): Support Intel MIC targets.
16581 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16582
ebf6d33b
FXC
165832014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16584
16585 PR target/63610
16586 * configure: Regenerate.
16587
8c768629
RO
165882014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16589
16590 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16591
c1d62412
MP
165922014-10-06 Marek Polacek <polacek@redhat.com>
16593
16594 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16595 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16596 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16597 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16598
44a0c6cb
MP
165992014-10-06 Marek Polacek <polacek@redhat.com>
16600
16601 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16602 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16603 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16604 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16605 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16606 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16607 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16608 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16609 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16610 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16611 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16612 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16613 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16614 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16615 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16616 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16617 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16618 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16619 declarations.
16620
5771c391
JJ
166212014-10-03 Jakub Jelinek <jakub@redhat.com>
16622
16623 PR libgomp/61200
16624 * testsuite/libgomp.c/pr61200.c: New test.
16625
bce16b88
JJ
166262014-09-18 Jakub Jelinek <jakub@redhat.com>
16627
16628 PR c++/63248
16629 * testsuite/libgomp.c++/pr63248.C: New test.
16630
3696163c
JJ
166312014-08-04 Jakub Jelinek <jakub@redhat.com>
16632
16633 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16634 is not zero, but taskgroup->children is NULL and there are
16635 any task->children, schedule those instead of waiting.
16636 * testsuite/libgomp.c/depend-6.c: New test.
16637 * testsuite/libgomp.c/depend-7.c: New test.
16638 * testsuite/libgomp.c/depend-8.c: New test.
16639 * testsuite/libgomp.c/depend-9.c: New test.
16640 * testsuite/libgomp.c/depend-10.c: New test.
16641
0494285a
JJ
166422014-08-01 Jakub Jelinek <jakub@redhat.com>
16643
16644 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16645 (struct gomp_taskwait): New type.
16646 (struct gomp_task): Add taskwait and parent_depends_on, remove
16647 in_taskwait and taskwait_sem fields.
16648 (gomp_finish_task): Don't destroy taskwait_sem.
16649 * task.c (gomp_init_task): Don't init in_taskwait, instead init
16650 taskwait and parent_depends_on.
16651 (GOMP_task): For if (0) tasks with depend clause that depend on
16652 earlier tasks don't defer them, instead call
16653 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16654 Initialize redundant_out field, for redundant out entries just
16655 move them at the end of linked list instead of removing them
16656 completely, and set redundant_out flag instead of redundant.
16657 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16658 that task.
16659 (gomp_task_run_post_handle_dependers): If parent is in
16660 gomp_task_maybe_wait_for_dependencies and newly runnable task
16661 is not parent_depends_on, queue it in parent->children linked
16662 list after all runnable tasks with parent_depends_on set.
16663 Adjust for addition of taskwait indirection.
16664 (gomp_task_run_post_remove_parent): If parent is in
16665 gomp_task_maybe_wait_for_dependencies and task to be removed
16666 is parent_depends_on, decrement n_depend and if needed awake
16667 parent. Adjust for addition of taskwait indirection.
16668 (GOMP_taskwait): Adjust for addition of taskwait indirection.
16669 (gomp_task_maybe_wait_for_dependencies): New function.
16670 * testsuite/libgomp.c/depend-5.c: New test.
16671
60ab4b44
TB
166722014-07-13 Tobias Burnus <burnus@net-b.de>
16673
16674 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 16675 with TS 18508/Fortran 2015.
60ab4b44 16676
773ec47f
MP
166772014-07-06 Marek Polacek <polacek@redhat.com>
16678
16679 PR c/6940
16680 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16681
f707da16
JJ
166822014-07-03 Jakub Jelinek <jakub@redhat.com>
16683
16684 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16685 matches regex $lang_source_re, add $lang_include_flags to options.
16686 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16687 * testsuite/libgomp.c++/c++.exp: Likewise.
16688 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
16689 and lang_include_flags instead of adding -fintrinsic-modules-path= to
16690 ALWAYS_CFLAGS.
16691 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16692
07b6c044
TS
166932014-07-03 Thomas Schwinge <thomas@codesourcery.com>
16694
16695 * testsuite/libgomp.fortran/fortran.exp: Explain
16696 gfortran-dg-runtest usage.
16697
da6f124d
JJ
166982014-06-25 Jakub Jelinek <jakub@redhat.com>
16699
16700 * testsuite/libgomp.fortran/simd5.f90: New test.
16701 * testsuite/libgomp.fortran/simd6.f90: New test.
16702 * testsuite/libgomp.fortran/simd7.f90: New test.
16703
b46ebd6c
JJ
167042014-06-24 Jakub Jelinek <jakub@redhat.com>
16705
56ad0e38
JJ
16706 * testsuite/libgomp.c/for-2.c: Define SC to static for
16707 #pragma omp for simd testing.
16708 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16709 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16710 SC macro.
16711 * testsuite/libgomp.c/simd-14.c: New test.
16712 * testsuite/libgomp.c/simd-15.c: New test.
16713 * testsuite/libgomp.c/simd-16.c: New test.
16714 * testsuite/libgomp.c/simd-17.c: New test.
16715 * testsuite/libgomp.c++/for-10.C: Define SC to static for
16716 #pragma omp for simd testing.
16717 * testsuite/libgomp.c++/simd10.C: New test.
16718 * testsuite/libgomp.c++/simd11.C: New test.
16719 * testsuite/libgomp.c++/simd12.C: New test.
16720 * testsuite/libgomp.c++/simd13.C: New test.
16721
b46ebd6c
JJ
16722 * testsuite/libgomp.fortran/aligned1.f03: New test.
16723 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16724 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16725 tasks with !$omp parallel !$omp single.
16726 * testsuite/libgomp.fortran/target8.f90: New test.
16727 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16728 not to use trim in the combiner, instead call elemental function.
16729 (fn): New elemental function.
16730 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16731 Make elemental.
16732 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16733 omp_in): Likewise.
16734 * testsuite/libgomp.fortran/udr12.f90: New test.
16735 * testsuite/libgomp.fortran/udr13.f90: New test.
16736 * testsuite/libgomp.fortran/udr14.f90: New test.
16737 * testsuite/libgomp.fortran/udr15.f90: New test.
16738
f014c653
JJ
167392014-06-18 Jakub Jelinek <jakub@redhat.com>
16740
16741 * omp_lib.f90.in (openmp_version): Set to 201307.
16742 * omp_lib.h.in (openmp_version): Likewise.
16743 * testsuite/libgomp.c/target-8.c: New test.
16744 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16745 and inbranch clauses.
16746 * testsuite/libgomp.fortran/depend-3.f90: New test.
16747 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16748 openmp_version.
16749 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16750 * testsuite/libgomp.fortran/target1.f90: New test.
16751 * testsuite/libgomp.fortran/target2.f90: New test.
16752 * testsuite/libgomp.fortran/target3.f90: New test.
16753 * testsuite/libgomp.fortran/target4.f90: New test.
16754 * testsuite/libgomp.fortran/target5.f90: New test.
16755 * testsuite/libgomp.fortran/target6.f90: New test.
16756 * testsuite/libgomp.fortran/target7.f90: New test.
16757
92d28cbb
JJ
167582014-06-10 Jakub Jelinek <jakub@redhat.com>
16759
16760 PR fortran/60928
16761 * testsuite/libgomp.fortran/allocatable9.f90: New test.
16762 * testsuite/libgomp.fortran/allocatable10.f90: New test.
16763 * testsuite/libgomp.fortran/allocatable11.f90: New test.
16764 * testsuite/libgomp.fortran/allocatable12.f90: New test.
16765 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16766 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16767 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16768 * testsuite/libgomp.fortran/associate1.f90: New test.
16769 * testsuite/libgomp.fortran/associate2.f90: New test.
16770 * testsuite/libgomp.fortran/procptr1.f90: New test.
16771
5f23671d
JJ
167722014-06-06 Jakub Jelinek <jakub@redhat.com>
16773
16774 * testsuite/libgomp.fortran/simd1.f90: New test.
16775 * testsuite/libgomp.fortran/udr1.f90: New test.
16776 * testsuite/libgomp.fortran/udr2.f90: New test.
16777 * testsuite/libgomp.fortran/udr3.f90: New test.
16778 * testsuite/libgomp.fortran/udr4.f90: New test.
16779 * testsuite/libgomp.fortran/udr5.f90: New test.
16780 * testsuite/libgomp.fortran/udr6.f90: New test.
16781 * testsuite/libgomp.fortran/udr7.f90: New test.
16782 * testsuite/libgomp.fortran/udr8.f90: New test.
16783 * testsuite/libgomp.fortran/udr9.f90: New test.
16784 * testsuite/libgomp.fortran/udr10.f90: New test.
16785 * testsuite/libgomp.fortran/udr11.f90: New test.
16786
0389fbb5
UB
167872014-05-27 Uros Bizjak <ubizjak@gmail.com>
16788
16789 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16790 vect_simd_clones effective target.
16791 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16792
decaaec8
JJ
167932014-05-21 Jakub Jelinek <jakub@redhat.com>
16794
16795 PR middle-end/61252
16796 * testsuite/libgomp.c++/simd-9.C: New test.
16797
72832460
UB
167982014-05-18 Uros Bizjak <ubizjak@gmail.com>
16799
16800 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
16801 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
16802 texts according to their @menu entry positions.
16803
dd2fc525
JJ
168042014-05-11 Jakub Jelinek <jakub@redhat.com>
16805
16806 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
16807 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16808 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
16809 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
16810 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
16811 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
16812 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
16813 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
16814 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
16815 * testsuite/libgomp.fortran/depend-1.f90: New test.
16816 * testsuite/libgomp.fortran/depend-2.f90: New test.
16817 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
16818 * testsuite/libgomp.fortran/simd1.f90: New test.
16819 * testsuite/libgomp.fortran/simd2.f90: New test.
16820 * testsuite/libgomp.fortran/simd3.f90: New test.
16821 * testsuite/libgomp.fortran/simd4.f90: New test.
16822 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
16823
95782571
JJ
168242014-05-02 Jakub Jelinek <jakub@redhat.com>
16825
16826 * testsuite/libgomp.c/simd-10.c: New test.
16827 * testsuite/libgomp.c/simd-11.c: New test.
16828 * testsuite/libgomp.c/simd-12.c: New test.
16829 * testsuite/libgomp.c/simd-13.c: New test.
16830
f7468577
JJ
168312014-04-24 Jakub Jelinek <jakub@redhat.com>
16832
42056eac
JJ
16833 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
16834 atomic type clauses in any order and optional comma in between.
16835 * testsuite/libgomp.c++/atomic-15.C: Likewise.
16836 * testsuite/libgomp.c/atomic-17.c: Likewise.
16837
f7468577
JJ
16838 * testsuite/libgomp.c/simd-7.c: New test.
16839 * testsuite/libgomp.c/simd-8.c: New test.
16840 * testsuite/libgomp.c/simd-9.c: New test.
16841 * testsuite/libgomp.c/loop-16.c: New test.
16842
ab18f2f5
RH
168432014-04-02 Richard Henderson <rth@redhat.com>
16844
16845 * config/linux/futex.h (futex_wait): Get error value from errno.
16846 (futex_wake): Likewise.
16847
8bcc90b0
JJ
168482014-03-25 Jakub Jelinek <jakub@redhat.com>
16849
16850 PR c++/60331
16851 * testsuite/libgomp.c++/udr-11.C: New test.
16852 * testsuite/libgomp.c++/udr-12.C: New test.
16853 * testsuite/libgomp.c++/udr-13.C: New test.
16854 * testsuite/libgomp.c++/udr-14.C: New test.
16855 * testsuite/libgomp.c++/udr-15.C: New test.
16856 * testsuite/libgomp.c++/udr-16.C: New test.
16857 * testsuite/libgomp.c++/udr-17.C: New test.
16858 * testsuite/libgomp.c++/udr-18.C: New test.
16859 * testsuite/libgomp.c++/udr-19.C: New test.
16860
18d73c7f
RS
168612014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16862
16863 Update copyright years
16864
f9030485
RS
168652014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16866
16867 * hashtab.h: Use the standard form for the copyright notice.
16868
98db73df
TB
168692014-01-02 Tobias Burnus <burnus@net-b.de>
16870
16871 * libgomp.texi: Bump @copying's copyright year.
16872
ae246f7f
AT
168732013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
16874
93d90219 16875 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
16876 alloca () with __builtin_alloca ().
16877 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
16878 * testsuite/libgomp.c/lock-3.c: Likewise.
16879 * testsuite/libgomp.c/pr48591.c: Likewise.
16880
fa00a5fe
JJ
168812013-12-17 Jakub Jelinek <jakub@redhat.com>
16882
16883 PR testsuite/59534
16884 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
16885 comparisons.
16886
e9792e1d
JJ
168872013-12-16 Jakub Jelinek <jakub@redhat.com>
16888
16889 PR libgomp/58756
16890 * testsuite/libgomp.c/pr58756.c: New test.
16891
cab37c89
JJ
168922013-12-12 Jakub Jelinek <jakub@redhat.com>
16893
16894 PR libgomp/59467
16895 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
16896 !$omp parallel.
16897
de14871c
TS
168982013-11-07 Thomas Schwinge <thomas@codesourcery.com>
16899
1707a5de
TS
16900 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
16901 ALWAYS_CFLAGS.
16902 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
16903 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
16904 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
16905 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
16906 Likewise.
16907
70f05c43
TS
16908 * libgomp_g.h: Include <stddef.h> for size_t.
16909
de14871c
TS
16910 * libgomp.spec.in: Update comment about libgomp's dependencies.
16911 * configure.ac: Likewise.
16912 * configure: Regenerate.
16913
83fd6c5b
TB
169142013-10-16 Tobias Burnus <burnus@net-b.de>
16915
16916 * libgomp.texi: (Runtime Library Routines): Update references for
16917 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
16918 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
16919 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
16920 (Environment Variables): Update references for OpenMP 4.0. Add
16921 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
16922 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
16923 order.
16924
c8673881
JJ
169252013-10-14 Jakub Jelinek <jakub@redhat.com>
16926
16927 * env.c (parse_bind_var): Initialize value to avoid
16928 (false positive) warning.
16929
f89163fd
JJ
169302013-10-12 Jakub Jelinek <jakub@redhat.com>
16931
16932 PR libgomp/58691
16933 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
16934 to check variable.
16935 (gomp_init_num_threads): Move i variable declaration into
16936 #ifdef CPU_ALLOC_SIZE block.
16937 * config/linux/affinity.c (gomp_affinity_init_level): Test
16938 gomp_places_list_len == 0 rather than gomp_places_list == 0
16939 when checking for topology reading error.
16940 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
16941 * env.c (parse_affinity): Add ignore argument, if true, don't populate
16942 gomp_places_list, only parse env var and always return false.
16943 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
16944 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
16945 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
16946 and either of these variables were parsed correctly into a places
16947 list.
16948
1d340638
TS
169492013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16950 Jakub Jelinek <jakub@redhat.com>
16951
16952 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
16953 of 5 loopfn matches.
16954 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16955 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16956 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
16957 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16958 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16959 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16960 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16961 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16962
71a81c21
TS
169632013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16964
bd87f731
TS
16965 * Makefile.am (omp_lib.mod): Streamline rule.
16966 * Makefile.in: Regenerate.
16967
f5745bed
TS
16968 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
16969 exceptions.
16970
b5512c66
TS
16971 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
16972 * testsuite/libgomp.fortran/lib1.f90: Likewise.
16973 * testsuite/libgomp.fortran/lib2.f: Likewise.
16974 * testsuite/libgomp.fortran/lib3.f: Likewise.
16975
451c19c4
TS
16976 * configure.ac: Typo fix.
16977 * configure: Regenerate.
16978
86a6016d
TS
16979 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
16980 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16981
71a81c21
TS
16982 * omp.h.in: Don't touch the user's namespace.
16983
acf0174b
JJ
169842013-10-11 Jakub Jelinek <jakub@redhat.com>
16985 Tobias Burnus <burnus@net-b.de>
16986 Richard Henderson <rth@redhat.com>
16987
16988 * target.c: New file.
16989 * Makefile.am (libgomp_la_SOURCES): Add target.c.
16990 * Makefile.in: Regenerated.
16991 * libgomp_g.h (GOMP_task): Add depend argument.
16992 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
16993 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
16994 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
16995 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16996 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16997 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
16998 GOMP_taskgroup_start, GOMP_taskgroup_end,
16999 GOMP_parallel_sections): New prototypes.
17000 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17001 (omp_is_initial_device_): New function.
17002 (ULP, STR1, STR2, ialias_redirect): Removed.
17003 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17004 omp_set_default_device_8_, omp_get_default_device_,
17005 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17006 functions.
17007 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17008 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17009 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17010 @@GOMP_4.0.
17011 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17012 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17013 omp_set_default_device, omp_set_default_device_,
17014 omp_set_default_device_8_, omp_get_default_device,
17015 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17016 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17017 omp_get_team_num_): Export @@OMP_4.0.
17018 * team.c (struct gomp_thread_start_data): Add place field.
17019 (gomp_thread_start): Clear thr->thread_pool and
17020 thr->task before returning. Use gomp_team_barrier_wait_final
17021 instead of gomp_team_barrier_wait. Initialize thr->place.
17022 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17023 team_cancelled and task_queued_count fields.
17024 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17025 before calling pthread_exit.
17026 (gomp_free_thread): No longer static. Use
17027 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17028 (gomp_team_start): Add flags argument. Set
17029 thr->thread_pool->threads_busy to nthreads immediately after creating
17030 new pool. Use gomp_managed_threads_lock instead of
17031 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17032 (gomp_team_end): Use gomp_managed_threads_lock instead of
17033 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17034 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 17035 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
17036 rather than thr->ts.work_share.
17037 (initialize_team): Don't call gomp_sem_init here.
17038 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17039 caller.
17040 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17041 * env.c (gomp_global_icv): Add default_device_var, target_data and
17042 bind_var initializers.
17043 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17044 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17045 gomp_places_list_len): New variables.
17046 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17047 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17048 sized places.
17049 (gomp_cancel_var): New global variable.
17050 (parse_int): New function.
17051 (handle_omp_display_env): New function.
17052 (initialize_env): Use it. Initialize default_device_var.
17053 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17054 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17055 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17056 been successfully parsed (and call gomp_init_affinity in that case).
17057 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17058 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17059 omp_get_team_num, omp_is_initial_device): New functions.
17060 * libgomp.h: Include stdlib.h.
17061 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17062 Define.
17063 (struct target_mem_desc): Forward declare.
17064 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17065 and thread_limit_var fields.
17066 (gomp_get_num_devices): New prototype.
17067 (gomp_cancel_var): New extern decl.
17068 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17069 team_cancelled and task_queued_count fields. Add comments about
17070 task_{,queued_,running_}count.
17071 (gomp_cancel_kind): New enum.
17072 (gomp_work_share_end_cancel): New prototype.
17073 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17074 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17075 and depend fields.
17076 (struct gomp_taskgroup): New type.
17077 (struct gomp_task_depend_entry,
17078 struct gomp_dependers_vec): New types.
17079 (gomp_finish_task): Free depend_hash if non-NULL.
17080 (struct gomp_team_state): Add place_partition_off
17081 and place_partition_len fields.
17082 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17083 gomp_places_list_len): New extern decls.
17084 (struct gomp_thread): Add place field.
17085 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17086 (gomp_init_thread_affinity): Add place argument.
17087 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17088 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17089 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17090 gomp_affinity_init_level, gomp_affinity_print_place): New
17091 prototypes.
17092 (gomp_team_start): Add flags argument.
17093 (gomp_thread_limit_var, gomp_remaining_threads_count,
17094 gomp_remaining_threads_lock): Remove.
17095 (gomp_managed_threads_lock): New variable.
17096 (struct gomp_thread_pool): Add threads_busy field.
17097 (gomp_free_thread): New prototype.
17098 * task.c: Include hashtab.h.
17099 (hash_entry_type): New typedef.
17100 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17101 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17102 copy_ctors_done and taskgroup fields.
17103 (GOMP_task): Add depend argument, handle depend clauses. If
17104 gomp_team_barrier_cancelled or if it's taskgroup has been
17105 cancelled, don't queue or start new tasks. Set copy_ctors_done
17106 field if needed. Initialize taskgroup field. If copy_ctors_done
17107 and already cancelled, don't discard the task. If taskgroup is
17108 non-NULL, enqueue the task into taskgroup queue. Increment
17109 num_children field in taskgroup. Increment task_queued_count.
17110 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17111 gomp_task_run_post_remove_taskgroup): New inline functions.
17112 (gomp_task_run_post_handle_depend_hash,
17113 gomp_task_run_post_handle_dependers,
17114 gomp_task_run_post_handle_depend): New functions.
17115 (GOMP_taskwait): Use them. If more than one new tasks
17116 have been queued, wake other threads if needed.
17117 (gomp_barrier_handle_tasks): Likewise. If
17118 gomp_team_barrier_cancelled, don't start any new tasks, just free
17119 all tasks.
17120 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17121 * omp_lib.f90.in
17122 (omp_proc_bind_kind, omp_proc_bind_false,
17123 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17124 omp_proc_bind_spread): New params.
17125 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17126 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17127 omp_get_team_num, omp_is_initial_device): New interfaces.
17128 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17129 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17130 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17131 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17132 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17133 useless use omp_lib_kinds.
17134 * omp.h.in (omp_proc_bind_t): New typedef.
17135 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17136 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17137 omp_get_team_num, omp_is_initial_device): New prototypes.
17138 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17139 through to gomp_team_start.
17140 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17141 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17142 Adjust gomp_parallel_loop_start callers.
17143 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17144 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17145 GOMP_loop_end_cancel): New functions.
17146 (GOMP_parallel_end): Add ialias_redirect.
17147 * hashtab.h: New file.
17148 * libgomp.texi (Environment Variables): Minor cleanup,
17149 update section refs to OpenMP 4.0rc2.
17150 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17151 environment variables.
17152 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17153 team->work_shares_to_free to thr->ts.work_share before calling
17154 free_work_share.
17155 (gomp_work_share_end_cancel): New function.
17156 * config/linux/proc.c: Include errno.h.
17157 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17158 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17159 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17160 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17161 gomp_cpuset_size is sizeof (cpu_set_t).
17162 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17163 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17164 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17165 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17166 contain any logical CPUs.
17167 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17168 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17169 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17170 pthread_getaffinity_np. Check gomp_places_list instead of
17171 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17172 * config/linux/bar.c (gomp_barrier_wait_end,
17173 gomp_barrier_wait_last): Use BAR_* defines.
17174 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17175 from state where needed. Set work_share_cancelled to 0 on last
17176 thread.
17177 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17178 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17179 functions.
17180 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17181 Add cpusetsize argument.
17182 (gomp_cpuset_size, gomp_cpusetp): Declare.
17183 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17184 (affinity_counter): Remove.
17185 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17186 if CPU_ALLOC_SIZE isn't defined.
17187 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17188 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17189 bind current thread to the first place.
17190 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17191 pthread_setaffinity_np to gomp_places_list[place].
17192 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17193 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17194 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17195 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17196 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17197 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17198 (gomp_barrier_t): Add awaited_final field.
17199 (gomp_barrier_init): Initialize awaited_final field.
17200 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17201 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17202 prototypes.
17203 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17204 defines.
17205 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17206 gomp_team_barrier_cancelled): New inline functions.
17207 (gomp_barrier_last_thread,
17208 gomp_team_barrier_set_task_pending,
17209 gomp_team_barrier_clear_task_pending,
17210 gomp_team_barrier_set_waiting_for_tasks,
17211 gomp_team_barrier_waiting_for_tasks,
17212 gomp_team_barrier_done): Use BAR_* defines.
17213 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17214 (gomp_barrier_wait_end): Use BAR_* defines.
17215 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17216 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17217 Use BAR_* defines.
17218 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17219 gomp_team_barrier_cancel): New functions.
17220 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17221 argument.
17222 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17223 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17224 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17225 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17226 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17227 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17228 (gomp_barrier_t): Add cancellable field.
17229 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17230 gomp_team_barrier_cancel): New prototypes.
17231 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17232 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17233 gomp_team_barrier_cancelled): New inline functions.
17234 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17235 gomp_team_barrier_set_task_pending,
17236 gomp_team_barrier_clear_task_pending,
17237 gomp_team_barrier_set_waiting_for_tasks,
17238 gomp_team_barrier_waiting_for_tasks,
17239 gomp_team_barrier_done): Use BAR_* defines.
17240 * barrier.c (GOMP_barrier_cancel): New function.
17241 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17242 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17243 omp_proc_bind_spread): New params.
17244 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17245 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17246 omp_get_team_num, omp_is_initial_device): New externals.
17247 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17248 New functions.
17249 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17250 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17251 infinity. If not nested, just return minimum of max_num_threads
17252 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17253 to the returned value. Otherwise, don't update atomically
17254 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17255 (GOMP_parallel_end): Adjust for thread_limit now being in
17256 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17257 infinity. Adjust threads_busy in the pool rather than
17258 gomp_remaining_threads_count. Remember team->nthreads and call
17259 gomp_team_end before adjusting threads_busy, if not nested
17260 afterwards, just set it to 1 non-atomically. Add ialias.
17261 (GOMP_parallel_start): Adjust gomp_team_start caller.
17262 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17263 * testsuite/libgomp.c/affinity-1.c: New test.
17264 * testsuite/libgomp.c/atomic-15.c: New test.
17265 * testsuite/libgomp.c/atomic-16.c: New test.
17266 * testsuite/libgomp.c/atomic-17.c: New test.
17267 * testsuite/libgomp.c/cancel-for-1.c: New test.
17268 * testsuite/libgomp.c/cancel-for-2.c: New test.
17269 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17270 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17271 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17272 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17273 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17274 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17275 * testsuite/libgomp.c/depend-1.c: New test.
17276 * testsuite/libgomp.c/depend-2.c: New test.
17277 * testsuite/libgomp.c/depend-3.c: New test.
17278 * testsuite/libgomp.c/depend-4.c: New test.
17279 * testsuite/libgomp.c/for-1.c: New test.
17280 * testsuite/libgomp.c/for-1.h: New file.
17281 * testsuite/libgomp.c/for-2.c: New test.
17282 * testsuite/libgomp.c/for-2.h: New file.
17283 * testsuite/libgomp.c/for-3.c: New test.
17284 * testsuite/libgomp.c/pr58392.c: New test.
17285 * testsuite/libgomp.c/simd-1.c: New test.
17286 * testsuite/libgomp.c/simd-2.c: New test.
17287 * testsuite/libgomp.c/simd-3.c: New test.
17288 * testsuite/libgomp.c/simd-4.c: New test.
17289 * testsuite/libgomp.c/simd-5.c: New test.
17290 * testsuite/libgomp.c/simd-6.c: New test.
17291 * testsuite/libgomp.c/target-1.c: New test.
17292 * testsuite/libgomp.c/target-2.c: New test.
17293 * testsuite/libgomp.c/target-3.c: New test.
17294 * testsuite/libgomp.c/target-4.c: New test.
17295 * testsuite/libgomp.c/target-5.c: New test.
17296 * testsuite/libgomp.c/target-6.c: New test.
17297 * testsuite/libgomp.c/target-7.c: New test.
17298 * testsuite/libgomp.c/taskgroup-1.c: New test.
17299 * testsuite/libgomp.c/thread-limit-1.c: New test.
17300 * testsuite/libgomp.c/thread-limit-2.c: New test.
17301 * testsuite/libgomp.c/thread-limit-3.c: New test.
17302 * testsuite/libgomp.c/udr-1.c: New test.
17303 * testsuite/libgomp.c/udr-2.c: New test.
17304 * testsuite/libgomp.c/udr-3.c: New test.
17305 * testsuite/libgomp.c++/affinity-1.C: New test.
17306 * testsuite/libgomp.c++/atomic-10.C: New test.
17307 * testsuite/libgomp.c++/atomic-11.C: New test.
17308 * testsuite/libgomp.c++/atomic-12.C: New test.
17309 * testsuite/libgomp.c++/atomic-13.C: New test.
17310 * testsuite/libgomp.c++/atomic-14.C: New test.
17311 * testsuite/libgomp.c++/atomic-15.C: New test.
17312 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17313 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17314 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17315 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17316 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17317 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17318 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17319 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17320 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17321 * testsuite/libgomp.c++/cancel-test.h: New file.
17322 * testsuite/libgomp.c++/for-9.C: New test.
17323 * testsuite/libgomp.c++/for-10.C: New test.
17324 * testsuite/libgomp.c++/for-11.C: New test.
17325 * testsuite/libgomp.c++/simd-1.C: New test.
17326 * testsuite/libgomp.c++/simd-2.C: New test.
17327 * testsuite/libgomp.c++/simd-3.C: New test.
17328 * testsuite/libgomp.c++/simd-4.C: New test.
17329 * testsuite/libgomp.c++/simd-5.C: New test.
17330 * testsuite/libgomp.c++/simd-6.C: New test.
17331 * testsuite/libgomp.c++/simd-7.C: New test.
17332 * testsuite/libgomp.c++/simd-8.C: New test.
17333 * testsuite/libgomp.c++/target-1.C: New test.
17334 * testsuite/libgomp.c++/target-2.C: New test.
17335 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17336 * testsuite/libgomp.c++/target-3.C: New test.
17337 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17338 * testsuite/libgomp.c++/udr-1.C: New test.
17339 * testsuite/libgomp.c++/udr-2.C: New test.
17340 * testsuite/libgomp.c++/udr-3.C: New test.
17341 * testsuite/libgomp.c++/udr-4.C: New test.
17342 * testsuite/libgomp.c++/udr-5.C: New test.
17343 * testsuite/libgomp.c++/udr-6.C: New test.
17344 * testsuite/libgomp.c++/udr-7.C: New test.
17345 * testsuite/libgomp.c++/udr-8.C: New test.
17346 * testsuite/libgomp.c++/udr-9.C: New test.
17347
bd599dea
JJ
173482013-09-20 Jakub Jelinek <jakub@redhat.com>
17349
17350 PR testsuite/57605
17351 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17352 ALWAYS_CFLAGS.
17353
3cbe17f7
AM
173542013-09-20 Alan Modra <amodra@gmail.com>
17355
17356 * configure: Regenerate.
17357
4befd127
JJ
173582013-09-19 Jakub Jelinek <jakub@redhat.com>
17359
17360 * testsuite/libgomp.c/sections-2.c: New test.
17361
946c8f7b
MS
173622013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17363
17364 * testsuite/libgomp.fortran/strassen.f90:
17365 Add dg-skip-if aarch64_tiny.
17366
1ef3b58e
IS
173672013-06-20 Iain Sandoe <iain@codesourcery.com>
17368 Cesar Philippidis <cesar@codesourcery.com>
17369
17370 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17371 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17372 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17373 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17374 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17375 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17376 Use dg-runtest rather than gfortran-dg-runtest.
17377
9275f73a
TS
173782013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17379
17380 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17381 Linux-based x86 systems to cover all GNU systems.
17382 * testsuite/libgomp.c/lock-3.c: Likewise.
17383 * testsuite/libgomp.c/pr48591.c: Likewise.
17384
492992e2
TS
173852013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17386
48df3acb
TS
17387 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17388 GNU/Hurd, as done for Linux-based systems.
17389
492992e2
TS
17390 * config/posix/ptrlock.h: Fix comment.
17391
4fed6b25
TB
173922013-05-27 Tobias Burnus <burnus@net-b.de>
17393
17394 PR fortran/57423
17395 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17396 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17397 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17398 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17399 omp_destroy_nest_lock): Correct arguments to match the one in
17400 the OpenMP spec.
17401 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17402 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17403 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17404 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17405
5a0f4dd3
JJ
174062013-05-16 Jakub Jelinek <jakub@redhat.com>
17407
17408 * testsuite/libgomp.c/loop-13.c: New test.
17409 * testsuite/libgomp.c/loop-14.c: New test.
17410 * testsuite/libgomp.c/loop-15.c: New test.
17411 * testsuite/libgomp.c++/loop-13.C: New test.
17412 * testsuite/libgomp.c++/loop-14.C: New test.
17413 * testsuite/libgomp.c++/loop-15.C: New test.
17414
6d840d99
JJ
174152013-02-06 Jakub Jelinek <jakub@redhat.com>
17416
17417 PR middle-end/56217
17418 * testsuite/libgomp.c++/pr56217.C: New test.
17419
bed8d8a6
AM
174202013-02-01 Alan Modra <amodra@gmail.com>
17421
17422 * task.c (GOMP_task, GOMP_taskwait): Comment.
17423
3b35cd04
DV
174242013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17425 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17426
17427 PR libgomp/55561
17428 * config/linux/wait.h (do_spin): Use atomic load for addr.
17429 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17430 for intptr and ptrlock.
17431 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17432 for ptrlock.
17433
9a647288
AM
174342013-01-22 Alan Modra <amodra@gmail.com>
17435
17436 PR libgomp/51376
17437 PR libgomp/56073
17438 * task.c (GOMP_task): Revert 2011-12-09 change.
17439 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17440 barrier to read task->children..
17441 (gomp_barrier_handle_tasks): ..and matching atomic store with
17442 release barrier here when setting parent->children to NULL.
17443
f34dea03
JJ
174442013-01-16 Jakub Jelinek <jakub@redhat.com>
17445 Tobias Burnus <burnus@net-b.de>
17446
17447 PR driver/55884
17448 * testsuite/libgomp.fortran/fortran.exp: Use
17449 -fintrinsic-modules-path= instead of
17450 -fintrinsic-modules-path.
17451
8129609c
RS
174522013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17453
17454 Update copyright years.
17455
aa86bf1e
TB
174562012-12-19 Tobias Burnus <burnus@net-b.de>
17457
17458 * testsuite/libgomp.fortran/fortran.exp: Set
17459 -fintrinsic-modules-path.
17460
2865ea66
TB
174612012-12-19 Tobias Burnus <burnus@net-b.de>
17462
17463 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17464 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17465
4c5ba8d0
JJ
174662012-11-21 Jakub Jelinek <jakub@redhat.com>
17467
17468 PR libgomp/55411
17469 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17470 if pool had any threads_used.
17471
e9f958c2
JH
174722012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17473
17474 * testsuite/libgomp.c++/pr24455.C: Use
17475 -Wl,-undefined,dynamic_lookup on darwin.
17476
a57d75dc
DE
174772012-11-07 David Edelsohn <dje.gcc@gmail.com>
17478
17479 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17480
c6c08485
DH
174812012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17482
17483 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17484
c1f37c00
IB
174852012-10-23 Ian Bolton <ian.bolton@arm.com>
17486 Jim MacArthur <jim.macarthur@arm.com>
17487 Marcus Shawcroft <marcus.shawcroft@arm.com>
17488 Nigel Stephens <nigel.stephens@arm.com>
17489 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17490 Richard Earnshaw <rearnsha@arm.com>
17491 Sofiane Naci <sofiane.naci@arm.com>
17492 Stephen Thomas <stephen.thomas@arm.com>
17493 Tejas Belagod <tejas.belagod@arm.com>
17494 Yufeng Zhang <yufeng.zhang@arm.com>
17495
17496 * configure.tgt: Add AArch64.
17497
7c424acd
JM
174982012-10-04 Jason Merrill <jason@redhat.com>
17499
17500 * testsuite/libgomp.c++/tls-init1.C: New.
17501
6608378b
DE
175022012-09-14 David Edelsohn <dje.gcc@gmail.com>
17503
17504 * configure: Regenerated.
17505
c24dbebb
CLT
175062012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17507
17508 * config/linux/mips/futex.h (sys_futex0): Change to static
17509 function with noinline, nomips16 attributes under MIPS16. Adjust
17510 asm statement to place 'li v0,SYS_futex' immediately before
17511 syscall insn.
17512
3d3949df
SL
175132012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17514
17515 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17516 conflict with index.html on case-insensitive file systems.
17517
68a12ef3
UB
175182012-07-03 Uros Bizjak <ubizjak@gmail.com>
17519
17520 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17521 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17522
33ad93b9 175232012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
17524 Michael Matz <matz@suse.de>
17525 Tobias Grosser <tobias@grosser.es>
17526 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
17527
17528 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17529 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17530 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17531 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17532
e6fdc918
AS
175332012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17534
17535 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17536
62e0a1ed
RG
175372012-06-22 Richard Guenther <rguenther@suse.de>
17538
17539 Merge from graphite branch
17540 2012-01-13 Tobias Grosser <tobias@grosser.es>
17541
17542 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17543 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17544
26127932
JJ
175452012-06-07 Jakub Jelinek <jakub@redhat.com>
17546
17547 PR middle-end/53580
17548 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17549 use GOMP_barrier () call instead.
17550 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17551 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17552 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17553 call GOMP_barrier instead.
17554 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17555
43fa5db5
JJ
175562012-06-06 Jakub Jelinek <jakub@redhat.com>
17557
17558 PR libgomp/52993
17559 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17560 argument to memset call.
17561
e6d5f8c9
L
175622012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17563
17564 * configure: Regenerated.
17565
559d990c
MLI
175662012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17567
17568 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17569
b9c23a61
L
175702012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17571
17572 PR bootstrap/52812
17573 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17574
c140ddf3
JJ
175752012-03-22 Jakub Jelinek <jakub@redhat.com>
17576
17577 PR middle-end/52547
17578 * testsuite/libgomp.c/pr52547.c: New test.
17579
6a26a74d
BRF
175802012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17581
17582 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17583
b24513a1
RO
175842012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17585
17586 * configure.tgt (mips-sgi-irix6*): Remove.
17587
5c30094f
RO
175882012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17589
17590 * configure.tgt (alpha*-dec-osf*): Remove.
17591
17592 * config/osf/sem.h: Remove.
17593 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17594
a339c9d6
EB
175952012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17596
17597 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17598
cc2de92d
RO
175992012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17600
17601 PR libstdc++/52188
17602 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17603 Remove ENABLE_SYMVERS_SOL2.
17604 * configure: Regenerate.
17605 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17606 (PREPROCESS): New variable.
17607 (libgomp.ver): New target.
17608 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17609 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17610 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17611 Use libgomp.ver.
17612 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17613 * Makefile.in: Regenerate.
17614
dd552284
WL
176152012-02-14 Walter Lee <walt@tilera.com>
17616
17617 * configure.tgt: Handle tilegx and tilepro.
17618 * config/linux/tile/futex.h: New file.
17619
31432e21
RG
176202012-02-08 Richard Guenther <rguenther@suse.de>
17621
17622 PR tree-optimization/46886
17623 * testsuite/libgomp.c/pr46886.c: New testcase.
17624
b9264b5f
MK
176252012-01-25 Matthias Klose <doko@ubuntu.com>
17626
17627 * config/linux/arm: Remove empty directory.
17628 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17629
fbf7be80
AM
176302011-12-09 Alan Modra <amodra@gmail.com>
17631
17632 PR libgomp/51376
17633 * task.c (GOMP_taskwait): Don't access task->children outside of
17634 task_lock mutex region.
17635 (GOMP_task): Likewise.
17636
5de62d00
JJ
176372011-12-06 Jakub Jelinek <jakub@redhat.com>
17638
17639 PR libgomp/51132
17640 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17641 to file scope.
17642 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17643 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17644 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17645 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17646 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17647
45608a43
AM
176482011-12-02 Alan Modra <amodra@gmail.com>
17649
17650 * config/linux/affinity.c: Use atomic rather than sync builtin.
17651 * config/linux/lock.c: Likewise.
17652 * config/linux/ptrlock.h: Likewise.
17653 * config/linux/ptrlock.c: Likewise.
17654 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17655 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17656 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17657 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17658 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17659 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17660 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17661 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17662 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17663 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17664
ab6dd406
AM
176652011-11-30 Alan Modra <amodra@gmail.com>
17666
17667 PR libgomp/51298
17668 * config/linux/bar.h: Use atomic rather than sync builtins.
17669 * config/linux/bar.c: Likewise. Add missing acquire
17670 synchronisation on generation field.
17671 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17672 double unlock.
17673
b40c885f
AM
176742011-11-30 Alan Modra <amodra@gmail.com>
17675
17676 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17677 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17678 * config/linux/mutex.h: Use atomic rather than sync builtins.
17679 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
17680 * config/linux/omp-lock.h: Comment fix.
17681 * config/linux/arm/mutex.h: Delete.
17682 * config/linux/powerpc/mutex.h: Delete.
17683 * config/linux/ia64/mutex.h: Delete.
17684 * config/linux/mips/mutex.h: Delete.
17685
3e348fcc
AM
176862011-11-30 Alan Modra <amodra@gmail.com>
17687
17688 PR libgomp/51249
17689 * config/linux/sem.h: Rewrite.
17690 * config/linux/sem.c: Rewrite.
17691
cef86eb2
RH
176922011-11-28 Richard Henderson <rth@redhat.com>
17693
17694 * libgomp.h (enum memmodel): New.
17695
c6084f68
AT
176962011-11-21 Andreas Tobler <andreast@fgznet.ch>
17697
17698 * configure: Regenerate.
17699
06fe026c
MK
177002011-10-10 Matthias Klose <doko@ubuntu.com>
17701
17702 * config/posix95: Remove empty directory.
17703
a6c975bd
JJ
177042011-08-26 Jakub Jelinek <jakub@redhat.com>
17705
17706 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17707
c26dffff
JJ
177082011-08-19 Jakub Jelinek <jakub@redhat.com>
17709
17710 PR fortran/49792
17711 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17712 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17713
ddaad3c8
RO
177142011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17715
17716 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17717
98d03683
RO
177182011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17719
17720 PR libgomp/49965
17721 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17722
e0b23d9f
UB
177232011-08-03 Uros Bizjak <ubizjak@gmail.com>
17724
17725 * config/linux/proc.h: New.
17726 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
17727 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
17728 (gomp_init_num_threads): Update call to cpuset_popcount.
17729 (get_num_procs): Ditto.
17730 * config/linux/affinity.c (gomp_init_affinity): Call
17731 gomp_cpuset_popcount.
17732
20906c66
JJ
177332011-08-02 Jakub Jelinek <jakub@redhat.com>
17734
17735 PR fortran/42041
17736 PR fortran/46752
17737 * omp.h.in (omp_in_final): New prototype.
17738 * omp_lib.f90.in (omp_in_final): New interface.
17739 (omp_integer_kind, omp_logical_kind): Remove
17740 and replace all its uses in the module with 4.
17741 (openmp_version): Change to 201107.
17742 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17743 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17744 kind for the parameters.
17745 (omp_in_final): New external.
17746 (openmp_version): Change to 201107.
17747 * task.c (omp_in_final): New function.
17748 (gomp_init_task): Initialize final_task.
17749 (GOMP_task): Remove unused attribute from flags. Handle final
17750 tasks.
17751 (GOMP_taskyield): New function.
17752 (omp_in_final): Return true if if (false) or final (true) task
17753 or descendant of final (true).
17754 * fortran.c (omp_in_final_): New function.
17755 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17756 (GOMP_3.0): Export GOMP_taskyield.
17757 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17758 variables.
17759 (parse_unsigned_long_list): New function.
17760 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
17761 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
17762 even if parse_affinity returned false.
17763 * config/linux/affinity.c (gomp_init_affinity): Handle
17764 gomp_cpu_affinity_len == 0.
17765 * libgomp_g.h (GOMP_taskyield): New prototype.
17766 * libgomp.h (struct gomp_task): Add final_task field.
17767 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17768 * team.c (gomp_team_start): Override new task's nthreads_var icv
17769 if list form OMP_NUM_THREADS has been used and it has value for
17770 the new nesting level.
17771
17772 * testsuite/libgomp.c/atomic-11.c: New test.
17773 * testsuite/libgomp.c/atomic-12.c: New test.
17774 * testsuite/libgomp.c/atomic-13.c: New test.
17775 * testsuite/libgomp.c/atomic-14.c: New test.
17776 * testsuite/libgomp.c/reduction-6.c: New test.
17777 * testsuite/libgomp.c/task-5.c: New test.
17778 * testsuite/libgomp.c++/atomic-2.C: New test.
17779 * testsuite/libgomp.c++/atomic-3.C: New test.
17780 * testsuite/libgomp.c++/atomic-4.C: New test.
17781 * testsuite/libgomp.c++/atomic-5.C: New test.
17782 * testsuite/libgomp.c++/atomic-6.C: New test.
17783 * testsuite/libgomp.c++/atomic-7.C: New test.
17784 * testsuite/libgomp.c++/atomic-8.C: New test.
17785 * testsuite/libgomp.c++/atomic-9.C: New test.
17786 * testsuite/libgomp.c++/task-8.C: New test.
17787 * testsuite/libgomp.c++/reduction-4.C: New test.
17788 * testsuite/libgomp.fortran/allocatable7.f90: New test.
17789 * testsuite/libgomp.fortran/allocatable8.f90: New test.
17790 * testsuite/libgomp.fortran/crayptr3.f90: New test.
17791 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17792 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17793 * testsuite/libgomp.fortran/pointer1.f90: New test.
17794 * testsuite/libgomp.fortran/pointer2.f90: New test.
17795 * testsuite/libgomp.fortran/task4.f90: New test.
17796
177972011-08-02 Tobias Burnus <burnus@net-b.de>
17798
17799 * libgomp.texi: Update OpenMP spec references to 3.1.
17800 (omp_in_final,OMP_PROC_BIND): New sections.
17801 (OMP_NUM_THREADS): Document that the value can be now a list.
17802 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
17803
c01ecafc
L
178042011-08-02 H.J. Lu <hongjiu.lu@intel.com>
17805
17806 * config/linux/x86/futex.h: Check __x86_64__ instead of
17807 __LP64__.
17808
25142650
JJ
178092011-07-29 Jakub Jelinek <jakub@redhat.com>
17810
17811 PR middle-end/49897
17812 PR middle-end/49898
17813 * testsuite/libgomp.c/pr49897-1.c: New test.
17814 * testsuite/libgomp.c/pr49897-2.c: New test.
17815 * testsuite/libgomp.c/pr49898-1.c: New test.
17816 * testsuite/libgomp.c/pr49898-2.c: New test.
17817
f53d712f
L
178182011-07-28 H.J. Lu <hongjiu.lu@intel.com>
17819
17820 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
17821 for ia32 instead of ilp32.
17822
17823 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
17824 * testsuite/libgomp.c/atomic-6.c: Likewise.
17825
3689198d
SP
178262011-07-23 Sebastian Pop <sebastian.pop@amd.com>
17827
17828 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
17829 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
17830
1a79cb73
RO
178312011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17832
17833 PR libgomp/45351
17834 * config/osf/sem.h: New file.
17835 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
17836
c1f51484
RO
178372011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17838
17839 PR target/49541
17840 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
17841 ldflags.
17842
bfee0724
JJ
178432011-07-15 Jakub Jelinek <jakub@redhat.com>
17844
17845 * config/linux/wait.h (do_spin): New inline, largely copied
17846 from do_wait, just don't do futex_wait here, instead return true if
17847 it should be done.
17848 (do_wait): Implement using do_spin.
17849 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
17850 to prototype.
17851 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17852 __sync_bool_compare_and_swap, pass the oldval to
17853 gomp_mutex_lock_slow.
17854 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
17855 If all mutex contenders are just spinning and not sleeping, don't
17856 change state to 2 unnecessarily. Optimize the loop when state has
17857 already become 2 to use just one atomic operation per loop instead
17858 of two.
17859 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
17860 to prototype.
17861 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17862 __sync_bool_compare_and_swap, pass the oldval to
17863 gomp_mutex_lock_slow.
17864
fb79f500
JJ
178652011-06-22 Jakub Jelinek <jakub@redhat.com>
17866
17867 PR libgomp/49490
17868 * iter.c (gomp_iter_static_next): For chunk size 0
17869 only use n ceil/ nthreads size for the first
17870 n % nthreads threads in the team instead of
17871 all threads except for the last few ones which
17872 get less work or none at all.
17873 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
17874 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
17875 chunk argument, set run_sched_modifier to 0 for static
17876 resp. 1 for other kinds. If chunk argument is 0
17877 and not static, set value to 1.
17878
4577f730
JJ
178792011-05-19 Jakub Jelinek <jakub@redhat.com>
17880
ea93a47b
JJ
17881 PR c++/49043
17882 * testsuite/libgomp.c++/pr49043.C: New test.
17883
4577f730
JJ
17884 PR c++/48869
17885 * testsuite/libgomp.c++/pr48869.C: New test.
17886
e7385332
JJ
178872011-05-06 Jakub Jelinek <jakub@redhat.com>
17888
17889 PR fortran/48894
17890 * fortran.c: Include limits.h.
17891 (TO_INT): Define.
17892 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
17893 *set.
17894 (omp_set_num_threads_8_, omp_set_schedule_8_,
17895 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
17896 omp_get_team_size_8_): Use TO_INT macro.
17897 * testsuite/libgomp.fortran/pr48894.f90: New test.
17898
20790697
JJ
178992011-04-13 Jakub Jelinek <jakub@redhat.com>
17900
17901 PR middle-end/48591
17902 * testsuite/libgomp.c/pr48591.c: New test.
17903
bf382f5f
RO
179042011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17905
17906 PR bootstrap/48135
17907 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
17908 * configure: Regenerate.
17909
113a53c1
JJ
179102011-02-27 Jakub Jelinek <jakub@redhat.com>
17911
17912 PR fortran/47886
17913 * testsuite/libgomp.fortran/task3.f90: New test.
17914
0024f1af
TB
179152011-02-24 Tobias Burnus <burnus@net-b.de>
17916
17917 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
17918
21e1e594
JJ
179192011-02-23 Jakub Jelinek <jakub@redhat.com>
17920
17921 PR libgomp/47854
17922 * libgomp.texi (omp_get_wtime): Don't say time in the past
17923 must be Unix Epoch.
17924
67962076
JJ
179252011-02-18 Jakub Jelinek <jakub@redhat.com>
17926
17927 PR libgomp/47804
17928 * testsuite/libgomp.fortran/fortran.exp: Check for both
17929 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
17930 but $blddir != "", still append ${blddir}/${lang_library_path}
17931 to ld_library_path.
17932
3808007c
TB
179332011-02-16 Tobias Burnus <burnus@net-b.de>
17934
17935 PR libgomp/47758
17936 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
17937 of libquadmath.a before adding its libpath to ldflags.
17938
53b4d41d
JJ
179392011-02-14 Jakub Jelinek <jakub@redhat.com>
17940
17941 PR libgomp/47731
17942 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
17943 to FUTEX_WAIT futex syscall.
17944 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
17945
029c8f3e
RW
179462011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17947
17948 * configure: Regenerate.
17949
bddd6626
BK
179502011-01-20 Benjamin Kosnik <bkoz@redhat.com>
17951
17952 PR libstdc++/36104
17953 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
17954
f1d4ab26
GP
179552011-01-16 Gerald Pfeifer
17956
17957 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
17958
2b503136
JJ
179592010-12-14 Jakub Jelinek <jakub@redhat.com>
17960
17961 PR fortran/46874
17962 * libgomp.fortran/allocatable6.f90: New test.
17963
c0f9d583
RO
179642010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17965
17966 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
17967 * configure: Regenerate.
17968
7de6ba7a
DK
179692010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
17970
17971 PR target/40125
17972 PR lto/46695
17973 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
17974 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
17975 * aclocal.m4: Regenerate.
17976 * configure: Regenerate.
17977 * Makefile.in: Regenerate.
17978 * testsuite/Makefile.in: Regenerate.
17979
b7516041
JJ
179802010-12-02 Jakub Jelinek <jakub@redhat.com>
17981
edaadf74
JJ
17982 PR fortran/46753
17983 * libgomp.fortran/pr46753.f90: New test.
17984
4c698cf8
JJ
17985 PR libgomp/43706
17986 * env.c (initialize_env): Default to spin count 300000
17987 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
17988 is specified.
17989
b7516041
JJ
17990 PR libgomp/45240
17991 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
17992 at the end if sync builtins aren't supported.
17993
6b43a34c
RO
179942010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17995
17996 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
17997
950691fa
RO
179982010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17999
18000 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18001
fb9041ea
IS
180022010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18003
18004 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18005
1ec601bf
FXC
180062010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18007 Tobias Burnus <burnus@net-b.de>
18008
18009 PR fortran/32049
3e348fcc 18010 * configure.ac:
1ec601bf
FXC
18011 * configure: Regenerate.
18012
d213e92e
MS
180132010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18014
18015 * config/linux/futex.h: New.
18016 * config/linux/arm/mutex.h: New.
18017 * configure.tgt (arm*-*-linux*): Add config path.
18018
89d5c66f
SP
180192010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18020
18021 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18022
87350d4a
TB
180232010-09-23 Tobias Burnus <burnus@net-b.de>
18024
18025 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18026 Change Fortran datatype to LOGICAL.
18027 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18028 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18029
75bc9e5e
RW
180302010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18031
18032 * configure: Regenerate.
18033
acb5c916
JJ
180342010-07-26 Jakub Jelinek <jakub@redhat.com>
18035
18036 * libgomp.texi: Add function keyword to a couple of Fortran
18037 interfaces, use integer instead of int for Fortran.
18038
6a2ba183
AH
180392010-07-26 Aldy Hernandez <aldyh@redhat.com>
18040
18041 * libgomp.texi: Fix spelling and pasto problems throughout.
18042 Adjust prototypes to match code.
18043
df161b69
TB
180442010-07-24 Tobias Burnus <burnus@net-b.de>
18045
18046 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18047 silence -fwhole-file warning.
18048
16c9d3b1
RO
180492010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18050
18051 * configure.tgt (*-*-solaris2.[56]*): Removed.
18052
6d28b933
RO
180532010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18054
18055 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18056 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18057 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18058 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18059 targetting solaris2*.
18060 * configure: Regenerate.
18061 * config.h.in: Regenerate.
18062
18063 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18064 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18065 Add libgomp_version_dep.
18066 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18067 versioning.
18068 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18069 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18070 * Makefile.in: Regenerate.
18071
18072 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18073 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18074 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18075 to common block, protected by
18076 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18077
07a67d6a
GP
180782010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18079
18080 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18081
dbd34b89
IS
180822010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18083
18084 PR bootstrap/43170
18085 * configure: Regenerate.
18086
13917ae3
RW
180872010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18088
18089 PR other/43620
18090 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18091 * configure: Regenerate.
18092 * Makefile.in: Regenerate.
18093 * testsuite/Makefile.in: Regenerate.
18094
b83a701b
JJ
180952010-04-26 Jakub Jelinek <jakub@redhat.com>
18096
18097 PR c/43893
18098 * testsuite/libgomp.c/pr43893.c: New test.
18099 * testsuite/libgomp.c++/pr43893.C: New test.
18100
78db7d92
JJ
181012010-04-21 Jakub Jelinek <jakub@redhat.com>
18102
18103 PR middle-end/43570
18104 * testsuite/libgomp.fortran/vla8.f90: New test.
18105
5221d7a9
JJ
181062010-04-20 Jakub Jelinek <jakub@redhat.com>
18107
e4ba7a60
JJ
18108 PR libgomp/43706
18109 * config/linux/affinity.c (gomp_init_affinity): Decrease
18110 gomp_available_cpus if affinity mask confines the process to fewer
18111 CPUs.
18112 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18113 non-NULL, just return gomp_available_cpus.
18114
5221d7a9
JJ
18115 PR libgomp/43569
18116 * sections.c (gomp_sections_init): Initialize ws->mode.
18117
289a9f86
UB
181182010-04-14 Uros Bizjak <ubizjak@gmail.com>
18119
18120 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18121 not unused bar variable.
18122 * configure: Regenerate.
18123
4d9e8446
RW
181242010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18125
18126 * Makefile.in: Regenerate.
18127 * aclocal.m4: Regenerate.
18128 * testsuite/Makefile.in: Regenerate.
18129
80f046cc
JJ
181302010-03-22 Jakub Jelinek <jakub@redhat.com>
18131
18132 PR libgomp/42942
18133 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18134 (initialize_env): Adjust callers.
18135 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18136 when the argument is 0.
18137
18138 * testsuite/libgomp.c/pr42942.c: New test.
18139
b58543c3
SP
181402010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18141
18142 PR middle-end/42644
18143 PR middle-end/42130
18144 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18145 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18146
41d1138f
RO
181472010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18148
18149 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18150 * testsuite/libgomp.c++/task-6.C: Likewise.
18151
6684eb28
SE
181522010-01-28 Steve Ellcey <sje@cup.hp.com>
18153
18154 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18155
2122aa97
PB
181562010-01-26 Paolo Bonzini <bonzini@gnu.org>
18157
18158 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18159 * configure: Regenerate.
18160
057dd91d
JJ
181612010-01-26 Jakub Jelinek <jakub@redhat.com>
18162
18163 PR fortran/42866
18164 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18165
d0709b6a
PB
181662010-01-20 Paolo Bonzini <bonzini@gnu.org>
18167
18168 * configure.ac: Test for executability of GFORTRAN.
18169 * configure: Regenerate.
18170
b9497ab5
RO
181712010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18172
18173 * configure: Regenerate.
18174
45de5648
L
181752010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18176
18177 PR libgomp/42602
18178 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18179
e74003a1
RG
181802010-01-03 Richard Guenther <rguenther@suse.de>
18181
18182 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18183
1b3abda8
SP
181842009-12-23 Sebastian Pop <sebpop@gmail.com>
18185
18186 * testsuite/libgomp.graphite/pr4118.c: New.
18187
e19977d3
IS
181882009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18189
18190 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18191 for darwin, protect the test with require-effective-target tls_runtime.
18192 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18193
1d32a772
IS
181942009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18195
18196 PR target/41605
18197 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18198 link spec %s substitutions for static libraries.
18199
deb109b2
JH
182002009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18201
18202 PR testsuite/42135
18203 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18204
43e02a8a
RW
182052009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18206
18207 * Makefile.in: Regenerate.
18208 * configure: Regenerate.
18209 * testsuite/Makefile.in: Regenerate.
18210
17f35e23
DK
182112009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18212
18213 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18214 settings for LC_ALL and LANG.
18215
281e33e1
JJ
182162009-11-25 Jakub Jelinek <jakub@redhat.com>
18217
18218 PR fortran/42162
18219 * testsuite/libgomp.fortran/pr42162.f90: New test.
18220
2b32c27d
JJ
182212009-11-13 Jakub Jelinek <jakub@redhat.com>
18222
18223 PR middle-end/42029
281e33e1 18224 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 18225
89c74f4a
JJ
182262009-10-26 Jakub Jelinek <jakub@redhat.com>
18227
18228 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18229 *s. Accept ld version without text in ()s.
18230 * configure: Regenerated.
18231
7e06c3d6
EB
182322009-10-22 Razya Ladelsky <razya@il.ibm.com>
18233
18234 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18235
0046b1a7
RW
182362009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18237
18238 PR libgomp/41418
18239 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18240 or a hyphen (happens with fortran language disabled).
18241 * configure: Regenerate.
18242
c82852f7
RW
182432009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18244
18245 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18246 use sed script portable to Solaris /bin/sed for extracting ld
18247 version.
18248 * configure: Regenerate.
18249
98f3eb1f
AM
182502009-09-17 Alexander Monakov <amonakov@ispras.ru>
18251
18252 * testsuite/libgomp.graphite/bounds.c: New test.
18253
878f62e5
RW
182542009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18255
18256 * Makefile.am (libgomp_la_LINK): New.
18257 * Makefile.in: Regenerate.
18258
df58e648
RW
182592009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18260
18261 * configure.ac (AC_PREREQ): Bump to 2.64.
18262
5213506e
RW
182632009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18264
70fa0efa
RW
18265 * Makefile.am (install-html, install-pdf): Remove.
18266 * Makefile.in: Regenerate.
18267
5213506e
RW
18268 * Makefile.in: Regenerate.
18269 * aclocal.m4: Regenerate.
18270 * config.h.in: Regenerate.
18271 * configure: Regenerate.
18272 * testsuite/Makefile.in: Regenerate.
18273
84fec8a5
RW
182742009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18275
18276 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18277 * Makefile.in: Regenerate.
18278
197c68cc
DK
182792009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18280
18281 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18282 * Makefile.in: Regenerate.
18283
693d54f2
TB
182842009-08-19 Tobias Burnus <burnus@net-b.de>
18285
18286 PR fortran/41102
18287 omp_lib.h.in: Fix -std=f95 errors.
18288
8cac884c
DE
182892009-08-14 David Edelsohn <edelsohn@gnu.org>
18290
18291 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18292 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18293 * testsuite/libgomp.graphite/graphite.exp: New.
18294
78729ee2
AT
182952009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18296
18297 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18298 only build.
18299
b13b7f39
DD
183002009-08-04 David Daney <ddaney@caviumnetworks.com>
18301
18302 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18303 needed memory barrier semantics.
18304 * config/linux/mips/mutex.h: New file.
18305
1b3b24c2
RW
183062009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18307
18308 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18309
396b7fa4
JM
183102009-07-16 Joseph Myers <joseph@codesourcery.com>
18311
18312 * configure: Regenerate.
18313
33cde516
RS
183142009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18315
18316 PR testsuite/40699
18317 PR testsuite/40707
18318 PR testsuite/40709
18319 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18320 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18321 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18322
bc21bfa5
RS
183232009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18324
18325 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18326 options when choosing a multilib.
18327
b30bfd40
RS
183282009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18329
18330 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18331 ld_library_path. Use add_path. Add just find_libgcc_s to
18332 ld_library_path, not every libgcc multilib directory.
18333 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18334 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18335 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18336 Use add_path.
18337 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18338
479c15c2
NF
183392009-06-09 Nathan Froyd <froydnj@codesourcery.com>
18340
18341 * Makefile.am (LTLDFLAGS): Define.
18342 (LINK): Define.
18343 * Makefile.in: Regenerate.
18344
667e6f89
JB
183452009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
18346
18347 PR fortran/39718
18348 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18349 libgfortranbegin, check existence of libgfortran.a instead of
18350 libgfortranbegin.a.
18351
6dea8e99
JJ
183522009-05-20 Jakub Jelinek <jakub@redhat.com>
18353
18354 PR libgomp/40174
18355 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18356 (gomp_free_pool_helper): Likewise.
18357
34d01e1d
VL
183582009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18359 Jakub Jelinek <jakub@redhat.com>
18360
18361 PR fortran/35423
18362 * testsuite/libgomp.fortran/workshare2.f90: New test.
18363
748086b7
JJ
183642009-04-09 Nick Clifton <nickc@redhat.com>
18365
18366 * iter.c: Change copyright header to refer to version 3 of the
18367 GNU General Public License with version 3.1 of the GCC Runtime
18368 Library Exception and to point readers at the COPYING3 and
18369 COPYING3.RUNTIME files and the FSF's license web page.
18370 * alloc.c: Likewise.
18371 * barrier.c: Likewise.
18372 * config/bsd/proc.c: Likewise.
18373 * config/linux/affinity.c: Likewise.
18374 * config/linux/alpha/futex.h: Likewise.
18375 * config/linux/bar.c: Likewise.
18376 * config/linux/bar.h: Likewise.
18377 * config/linux/ia64/futex.h: Likewise.
18378 * config/linux/ia64/mutex.h: Likewise.
18379 * config/linux/lock.c: Likewise.
18380 * config/linux/mips/futex.h: Likewise.
18381 * config/linux/mutex.c: Likewise.
18382 * config/linux/mutex.h: Likewise.
18383 * config/linux/powerpc/futex.h: Likewise.
18384 * config/linux/proc.c: Likewise.
18385 * config/linux/ptrlock.c: Likewise.
18386 * config/linux/ptrlock.h: Likewise.
18387 * config/linux/s390/futex.h: Likewise.
18388 * config/linux/sem.c: Likewise.
18389 * config/linux/sem.h: Likewise.
18390 * config/linux/sparc/futex.h: Likewise.
18391 * config/linux/wait.h: Likewise.
18392 * config/linux/x86/futex.h: Likewise.
18393 * config/mingw32/proc.c: Likewise.
18394 * config/mingw32/time.c: Likewise.
18395 * config/posix/affinity.c: Likewise.
18396 * config/posix/bar.c: Likewise.
18397 * config/posix/bar.h: Likewise.
18398 * config/posix/lock.c: Likewise.
18399 * config/posix/mutex.h: Likewise.
18400 * config/posix/proc.c: Likewise.
18401 * config/posix/ptrlock.h: Likewise.
18402 * config/posix/sem.c: Likewise.
18403 * config/posix/sem.h: Likewise.
18404 * config/posix/time.c: Likewise.
18405 * config/posix95/lock.c: Likewise.
18406 * critical.c: Likewise.
18407 * env.c: Likewise.
18408 * error.c: Likewise.
18409 * fortran.c: Likewise.
18410 * iter_ull.c: Likewise.
18411 * libgomp.h: Likewise.
18412 * libgomp_f.h.in: Likewise.
18413 * libgomp_g.h: Likewise.
18414 * loop.c: Likewise.
18415 * loop_ull.c: Likewise.
18416 * omp.h.in: Likewise.
18417 * omp_lib.f90.in: Likewise.
18418 * omp_lib.h.in: Likewise.
18419 * ordered.c: Likewise.
18420 * parallel.c: Likewise.
18421 * sections.c: Likewise.
18422 * single.c: Likewise.
18423 * task.c: Likewise.
18424 * team.c: Likewise.
18425 * work.c: Likewise.
18426
184272009-04-09 Jakub Jelinek <jakub@redhat.com>
18428
18429 * testsuite/config/default.exp: Change copyright header to refer to
18430 version 3 of the GNU General Public License and to point readers
18431 at the COPYING3 file and the FSF's license web page.
18432
4f0ae266
JJ
184332009-04-08 Jakub Jelinek <jakub@redhat.com>
18434
18435 PR middle-end/39573
18436 * libgomp.c++/pr39573.C: New test.
18437
03742a9b
JJ
184382009-04-01 Jakub Jelinek <jakub@redhat.com>
18439
18440 PR other/39591
18441 * testsuite/libgomp.c/pr39591-1.c: New test.
18442 * testsuite/libgomp.c/pr39591-2.c: New test.
18443 * testsuite/libgomp.c/pr39591-3.c: New test.
18444
e50ea10b
UB
184452009-03-25 Uros Bizjak <ubizjak@gmail.com>
18446
18447 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18448 * testsuite/libgomp.c/atomic-6.c: Ditto.
18449
c5cdb03f
JJ
184502009-03-23 Jakub Jelinek <jakub@redhat.com>
18451
18452 PR c/39495
18453 * testsuite/libgomp.c/loop-12.c: New test.
18454 * testsuite/libgomp.c/loop-11.c: New test.
18455 * testsuite/libgomp.c++/loop-11.C: New test.
18456 * testsuite/libgomp.c++/loop-12.C: New test.
18457 * testsuite/libgomp.c++/for-8.C: New test.
18458
7a9d3fe8
RW
184592009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18460
18461 * configure: Regenerate.
18462
3ad6b266
JJ
184632009-02-11 Jakub Jelinek <jakub@redhat.com>
18464
18465 PR middle-end/39154
18466 * testsuite/libgomp.c/pr39154.c: New test.
18467
b39dea08
ILT
184682009-01-30 Ian Lance Taylor <iant@google.com>
18469
18470 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18471 libgomp_ld_is_gold. Get gold version number.
18472 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18473 * configure: Rebuild.
18474
72c66596
IS
184752009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18476
e50ea10b 18477 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
18478 use libgfortran.a%s in their specs.
18479
876080ff
JJ
184802009-01-07 Jakub Jelinek <jakub@redhat.com>
18481
18482 PR libgomp/38086
18483 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18484 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18485 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18486 * configure: Regenerated.
18487 * config.h.in: Likewise.
18488
e4ebaef3
JJ
184892008-12-28 Jakub Jelinek <jakub@redhat.com>
18490
18491 PR c++/38650
18492 * testsuite/libgomp.c/pr38650.c: New test.
18493 * testsuite/libgomp.c++/pr38650.C: New test.
18494
382017a6
JJ
184952008-12-27 Jakub Jelinek <jakub@redhat.com>
18496
18497 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18498
79644b27
UB
184992008-12-26 Uros Bizjak <ubizjak@gmail.com>
18500
18501 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18502
baafc534
RW
185032008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18504
18505 * configure: Regenerate.
18506
d9c194cb
JJ
185072008-12-08 Jakub Jelinek <jakub@redhat.com>
18508
18509 PR middle-end/36802
18510 * testsuite/libgomp.c/pr36802-1.c: New test.
18511 * testsuite/libgomp.c/pr36802-2.c: New test.
18512 * testsuite/libgomp.c/pr36802-3.c: New test.
18513
86a182bf
JJ
185142008-12-01 Janis Johnson <janis187@us.ibm.com>
18515
18516 PR libgomp/38270
18517 * config/linux/powerpc/mutex.h: New.
18518
956adfaf
JJ
185192008-12-01 Jakub Jelinek <jakub@redhat.com>
18520
a2d4cdc9
JJ
18521 PR c++/38257
18522 * testsuite/libgomp.c++/for-7.C: New test.
18523
956adfaf
JJ
18524 PR c++/38348
18525 * testsuite/libgomp.c++/for-6.C: New test.
18526
d4038ca2
JJ
185272008-11-26 Janis Johnson <janis187@us.ibm.com>
18528
18529 PR testsuite/28870
18530 * testsuite/lib/libgomp.exp: Include new timeout library files.
18531 (libgomp_target_compile): Set timeout value from new proc.
18532
8b159eea
SE
185332008-11-13 Steve Ellcey <sje@cup.hp.com>
18534
18535 PR libgomp/37938
18536 * config/linux/ia64/mutex.h: New.
18537
5c6ed53a
TB
185382008-11-04 Tobias Burnus <burnus@net-b.de>
18539
18540 PR libgomp/37935
18541 * libgomp.texi (Runtime library routines, environment variables):
18542 Update for OpenMP version 3.0.
18543
6b4a97ed
PG
185442008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18545 Steve Ellcey <sje@cup.hp.com>
18546
18547 * configure: Regenerate for new libtool.
18548 * Makefile.in: Ditto.
18549 * testsuite/Makefile.in: Ditto.
18550
e2b34106
JJ
185512008-09-19 Jakub Jelinek <jakub@redhat.com>
18552 Andreas Tobler <a.tobler@schweiz.org>
18553
18554 * config/bsd/proc.c: New file.
8c3b3600 18555 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
18556 * configure.ac: Check for header <sys/sysctl.h>
18557 * configure: Regenerate.
18558 * config.h.in: Likewise.
18559
3606b8bf
JJ
185602008-09-05 Janis Johnson <janis187@us.ibm.com>
18561
18562 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18563
6528b88d
AL
185642008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18565
18566 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18567 * Makefile.in: Regenerated.
18568 * testsuite/Makefile.in: Regenerated.
18569
d9b14b12 185702008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 18571
a16b68bb 18572 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
18573 depend on blddir if blddir exists.
18574 (libgomp_target_compile): Likewise.
18575 * testsuite/libgomp.c++/c++.exp: Likewise.
18576 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18577
70b1e376
RW
185782008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18579
18580 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18581 Do not list GPL as Invariant Section.
18582
318e8c3f
IG
185832008-07-28 Ilie Garbacea <ilie@mips.com>
18584 Chao-ying Fu <fu@mips.com>
18585
18586 * configure.tgt: Enable futex for MIPS.
18587 * config/linux/mips/futex.h: New file.
18588
4db72361
JJ
185892008-07-16 Jakub Jelinek <jakub@redhat.com>
18590
18591 * team.c (gomp_team_end): Free team immediately if it has
18592 just one thread.
18593
87bd23b8
DE
185942008-07-08 David Edelsohn <edelsohn@gnu.org>
18595
18596 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18597 * testsuite/libgomp.fortran/fortran.exp: Same.
18598 * testsuite/libgomp.c/c.exp: Same.
18599 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18600 directory to library path first.
18601
323ff903
KW
186022008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18603
18604 * env.c (parse_stacksize): Add cast to avoid warning.
18605 (parse_spincount): Likewise.
18606
b357f682
JJ
186072008-06-27 Jakub Jelinek <jakub@redhat.com>
18608
ca2b1311
JJ
18609 * testsuite/libgomp.c/loop-10.c: New test.
18610 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18611 * libgomp.c++/loop-6.C (main): Likewise.
18612
b357f682
JJ
18613 PR debug/36617
18614 * testsuite/libgomp.c/debug-1.c: New test.
18615
09a46078
JJ
186162008-06-19 Jakub Jelinek <jakub@redhat.com>
18617
18618 * testsuite/libgomp.c/nqueens-1.c: New test.
18619
2368a460
JJ
18620 PR c++/36523
18621 * testsuite/libgomp.c++/task-7.C: New function.
18622
18c04407
RW
186232008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18624
18625 * configure: Regenerate.
18626
9c4e59e0
JDA
186272008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18628
18629 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18630 mutex when HAVE_SYNC_BUILTINS isn't defined.
18631
6ccde948
RW
186322008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18633
18634 * libgomp.texi (omp_test_lock): Fix typo.
18635
b896f9fd
TB
186362008-06-12 Tobias Burnus <burnus@net-b.de>
18637
18638 * omp_lib.f90.in: Add "implicit none".
18639
c34938a8
JJ
186402008-06-12 Jakub Jelinek <jakub@redhat.com>
18641
18642 PR middle-end/36506
18643 * testsuite/libgomp.c/reduction-5.c: New test.
18644
976e44e3
JJ
186452008-06-11 Jakub Jelinek <jakub@redhat.com>
18646
5f836cbb
JJ
18647 * libgomp.h (struct gomp_task): Add in_tied_task field.
18648 * task.c (gomp_init_task): Initialize it.
18649 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
18650 unconditionally. Don't call gomp_team_barrier_wake if
18651 current task is implicit or if(0) from implicit and number of
18652 running tasks is equal to nthreads - 1.
18653
01501fc8
JJ
18654 PR libgomp/36471
18655 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18656 omp_get_team_size_8): Fix pastos.
18657
976e44e3
JJ
18658 PR libgomp/36469
18659 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18660 * configure: Regenerated.
18661 * config.h.in: Regenerated.
18662 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18663 defined.
18664
e919209b
AT
186652008-06-06 Andreas Tobler <a.tobler@schweiz.org>
18666
18667 PR bootstrap/36452
18668 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18669 (GOMP_loop_ull_dynamic_start): Likewise.
18670 (GOMP_loop_ull_guided_start): Likewise.
18671 (GOMP_loop_ull_ordered_static_start): Likewise.
18672 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18673 (GOMP_loop_ull_ordered_guided_start): Likewise.
18674
a68ab351
JJ
186752008-06-06 Jakub Jelinek <jakub@redhat.com>
18676 Richard Henderson <rth@redhat.com>
18677 Ulrich Drepper <drepper@redhat.com>
18678 Jakob Blomer <jakob.blomer@ira.uka.de>
18679
18680 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18681 Substitute also OMP_*LOCK_25*.
18682 * configure: Regenerated.
18683 * config.h.in: Regenerated.
18684 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18685 ptrlock.c and task.c.
18686 * Makefile.in: Regenerated.
18687 * testsuite/Makefile.in: Regenerated.
18688 * task.c: New file.
18689 * loop_ull.c: New file.
18690 * iter_ull.c: New file.
18691 * libgomp.h: Include ptrlock.h.
18692 (enum gomp_task_kind): New type.
18693 (struct gomp_team): Add task_lock, task_queue, task_count,
18694 task_running_count, single_count fields. Add
18695 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18696 Remove work_share_lock, generation_mask,
18697 oldest_live_gen, num_live_gen and init_work_shares fields, add
18698 work work_share_list_alloc, work_share_list_free and work_share_chunk
18699 fields. Change work_shares from pointer to pointers into an array.
18700 Change ordered_release field into gomp_sem_t ** from flexible array
18701 member. Add implicit_task and initial_work_shares fields.
18702 Move close to the end of the struct.
18703 (struct gomp_team_state): Add single_count, last_work_share,
18704 active_level and level fields, remove work_share_generation.
18705 (gomp_barrier_handle_tasks): New prototype.
18706 (gomp_finish_task): New inline function.
18707 (struct gomp_work_share): Move chunk_size, end, incr into
18708 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18709 next_ll fields. Reshuffle fields. Add next_alloc,
18710 next_ws, next_free and inline_ordered_team_ids fields, change
18711 ordered_team_ids into pointer from flexible array member.
18712 Add mode field. Put lock and next into a different cache line
18713 from most of the write-once fields.
18714 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18715 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18716 gomp_iter_ull_guided_next): New prototypes.
18717 (gomp_new_icv): New prototype.
18718 (struct gomp_thread): Add thread_pool and task fields.
18719 (struct gomp_thread_pool): New type.
18720 (gomp_new_team): New prototype.
18721 (gomp_team_start): Change type of last argument.
18722 (gomp_new_work_share): Removed.
18723 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18724 (gomp_work_share_init_done): New static inline.
18725 (gomp_throttled_spin_count_var, gomp_available_cpus,
18726 gomp_managed_threads): New extern decls.
18727 (gomp_init_task): New prototype.
18728 (gomp_spin_count_var): New extern var decl.
18729 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18730 or no alias support, or if not PIC.
18731 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18732 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18733 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18734 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18735 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18736 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18737 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18738 gomp_test_nest_lock_25): New prototypes.
18739 (omp_lock_symver, strong_alias): Define.
18740 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18741 decls.
18742 (gomp_end_task): New.
18743 (struct gomp_task_icv, gomp_global_icv): New.
18744 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18745 (struct gomp_task): New.
18746 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18747 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18748 (gomp_icv): New.
18749 (gomp_schedule_type): Reorder enum to match
18750 omp_sched_t.
18751 * team.c (struct gomp_thread_start_data): Add thread_pool and task
18752 fields.
18753 (gomp_thread_start): Add gomp_team_barrier_wait call.
18754 For non-nested case remove clearing of docked thread thr fields.
18755 Use pool fields instead of global gomp_* variables. Use
18756 gomp_barrier_wait_last when needed. Initialize ts.active_level.
18757 Create tasks for each member thread.
18758 (free_team): Only destroy team barrier, task_lock here and free it.
18759 (gomp_free_thread): Free last_team if non-NULL.
18760 (gomp_team_end): Call gomp_team_barrier_wait instead of
18761 gomp_barrier_wait. For nested case call one extra
18762 gomp_barrier_wait. Move here some destruction from free_team.
18763 Call free_team on pool->last_team if any, rather than freeing
18764 current team. Destroy work_share_list_free_lock ifndef
18765 HAVE_SYNC_BUILTINS.
18766 (gomp_new_icv): New function.
18767 (gomp_threads, gomp_threads_size, gomp_threads_used,
18768 gomp_threads_dock): Removed.
18769 (gomp_thread_destructor): New variable.
18770 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18771 functions.
18772 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 18773 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
18774 Initialize thread_pool field for new threads. Clear single_count.
18775 Change last argument from ws to team, don't create
18776 new team, set ts.work_share to &team->work_shares[0] and clear
18777 ts.last_work_share. Don't clear ts.work_share_generation.
18778 If number of threads changed, adjust atomically gomp_managed_threads.
18779 Use gomp_init_task instead of gomp_new_task,
18780 set thr->task to the corresponding implicit_task array entry.
18781 Create tasks for each member thread. Initialize ts.level.
18782 (initialize_team): Call pthread_key_create on
18783 gomp_thread_destructor.
18784 (team_destructor): New function.
18785 (new_team): Removed.
18786 (gomp_new_team): New function.
18787 (free_team): Free gomp_work_share blocks chained through next_alloc,
18788 instead of freeing work_shares and destroying work_share_lock.
18789 (gomp_team_end): Call gomp_fini_work_share. If number of threads
18790 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
18791 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18792 of gomp_barrier_wait.
18793 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18794 instead of gomp_barrier_wait. Call gomp_work_share_init_done
18795 if gomp_work_share_start returned true. Don't unlock ws->lock.
18796 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
18797 of gomp_barrier_wait.
18798 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
18799 gomp_work_share_init_done if gomp_work_share_start returned true.
18800 Don't unlock ws->lock.
18801 * work.c: Include stddef.h.
18802 (free_work_share): Use work_share_list_free_lock instead
18803 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
18804 Call gomp_fini_work_share and then either free ws if orphaned, or
18805 put it into work_share_list_free list of the current team.
18806 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
18807 functions.
18808 (gomp_work_share_start, gomp_work_share_end,
18809 gomp_work_share_end_nowait): Rewritten.
18810 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
18811 (openmp_version): Set to 200805.
18812 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18813 omp_sched_guided, omp_sched_auto): New parameters.
18814 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18815 omp_set_max_active_levels, omp_get_max_active_levels,
18816 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18817 omp_get_active_level): New interfaces.
18818 * omp_lib.h.in (openmp_version): Set to 200805.
18819 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18820 omp_sched_guided, omp_sched_auto): New parameters.
18821 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18822 omp_set_max_active_levels, omp_get_max_active_levels,
18823 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18824 omp_get_active_level): New externals.
18825 * loop.c: Include limits.h.
18826 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
18827 GFS_AUTO.
18828 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
18829 Likewise. Use gomp_icv.
18830 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
18831 ts.static_trip here.
18832 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
18833 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
18834 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
18835 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
18836 don't unlock ws->lock, otherwise lock it.
18837 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
18838 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
18839 (gomp_parallel_loop_start): Call gomp_new_team instead of
18840 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
18841 Adjust gomp_team_start caller. Pass 0 as second argument to
18842 gomp_resolve_num_threads.
18843 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
18844 If adding ws->chunk_size nthreads + 1 times after end won't
18845 overflow, set ws->mode to 1.
18846 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
18847 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
18848 GOMP_loop_ull_ordered_static_start,
18849 GOMP_loop_ull_ordered_dynamic_start,
18850 GOMP_loop_ull_ordered_guided_start,
18851 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
18852 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
18853 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
18854 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
18855 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
18856 prototypes.
18857 * libgomp.map: Export lock routines also @@OMP_2.0.
18858 (GOMP_loop_ordered_dynamic_first,
18859 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
18860 GOMP_loop_ordered_static_first): Remove.
18861 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
18862 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
18863 GOMP_loop_ull_ordered_dynamic_next,
18864 GOMP_loop_ull_ordered_dynamic_start,
18865 GOMP_loop_ull_ordered_guided_next,
18866 GOMP_loop_ull_ordered_guided_start,
18867 GOMP_loop_ull_ordered_runtime_next,
18868 GOMP_loop_ull_ordered_runtime_start,
18869 GOMP_loop_ull_ordered_static_next,
18870 GOMP_loop_ull_ordered_static_start,
18871 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
18872 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
18873 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
18874 (omp_set_schedule, omp_get_schedule,
18875 omp_get_thread_limit, omp_set_max_active_levels,
18876 omp_get_max_active_levels, omp_get_level,
18877 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
18878 omp_set_schedule_, omp_set_schedule_8_,
18879 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18880 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18881 omp_get_max_active_levels_, omp_get_level_,
18882 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18883 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18884 New exports @@OMP_3.0.
18885 * omp.h.in (omp_sched_t): New type.
18886 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18887 omp_set_max_active_levels, omp_get_max_active_levels,
18888 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18889 omp_get_active_level): New prototypes.
18890 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
18891 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
18892 gomp_thread_limit_var, gomp_remaining_threads_count,
18893 gomp_remaining_threads_lock): New variables.
18894 (parse_spincount): New function.
18895 (initialize_env): Call gomp_init_num_threads unconditionally.
18896 Initialize gomp_available_cpus. Call parse_spincount,
18897 initialize gomp_{,throttled_}spin_count_var
18898 depending on presence and value of OMP_WAIT_POLICY and
18899 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
18900 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
18901 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
18902 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
18903 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
18904 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18905 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18906 (gomp_global_icv): New.
18907 (parse_schedule): Use it. Parse "auto".
18908 (omp_set_num_threads): Use gomp_icv.
18909 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
18910 Likewise.
18911 (omp_get_max_threads): Move from parallel.c.
18912 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18913 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
18914 add ialias.
18915 (parse_stacksize, parse_wait_policy): New functions.
18916 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
18917 both wrappers for compatibility and new locks.
18918 (omp_set_schedule, omp_get_schedule,
18919 omp_get_thread_limit, omp_set_max_active_levels,
18920 omp_get_max_active_levels, omp_get_level,
18921 omp_get_ancestor_thread_num, omp_get_team_size,
18922 omp_get_active_level): New ialias_redirect.
18923 (omp_set_schedule_, omp_set_schedule_8_,
18924 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18925 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18926 omp_get_max_active_levels_, omp_get_level_,
18927 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18928 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18929 New functions.
18930 * parallel.c: Include limits.h.
18931 (gomp_resolve_num_threads): Add count argument. Rewritten.
18932 (GOMP_parallel_start): Call gomp_new_team and pass that as last
18933 argument to gomp_team_start. Pass 0 as second argument to
18934 gomp_resolve_num_threads.
18935 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
18936 if gomp_thread_limit_var != ULONG_MAX.
18937 (omp_in_parallel): Implement using ts.active_level.
18938 (omp_get_max_threads): Move to env.c.
18939 (omp_get_level, omp_get_ancestor_thread_num,
18940 omp_get_team_size, omp_get_active_level): New functions,
18941 add ialias.
18942 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
18943 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
18944 gomp_iter_dynamic_next instead of the _locked variant and don't take
18945 lock around it, otherwise acquire it before calling
18946 gomp_iter_dynamic_next_locked.
18947 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
18948 gomp_iter_dynamic_next instead of the _locked variant and don't take
18949 lock around it.
18950 (GOMP_parallel_sections_start): Call gomp_new_team instead of
18951 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
18952 Adjust gomp_team_start caller. Pass count as second argument to
18953 gomp_resolve_num_threads, don't adjust num_threads after the call.
18954 Use gomp_icv.
18955 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
18956 ws->chunk_size by incr.
18957 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
18958 code.
18959 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
18960 types.
18961 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
18962 (omp_check_defines): Check even the compat defines.
18963 * config/linux/ptrlock.c: New file.
18964 * config/linux/ptrlock.h: New file.
18965 * config/linux/wait.h: New file.
18966 * config/posix/ptrlock.c: New file.
18967 * config/posix/ptrlock.h: New file.
18968 * config/linux/bar.h (gomp_team_barrier_wait,
18969 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18970 (gomp_team_barrier_set_task_pending,
18971 gomp_team_barrier_clear_task_pending,
18972 gomp_team_barrier_set_waiting_for_tasks,
18973 gomp_team_barrier_waiting_for_tasks,
18974 gomp_team_barrier_done): New inlines.
18975 (gomp_barrier_t): Rewritten.
18976 (gomp_barrier_state_t): New typedef.
18977 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
18978 gomp_barrier_wait_start): Rewritten.
18979 (gomp_barrier_wait_end): Change second argument to
18980 gomp_barrier_state_t.
18981 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
18982 inlines.
18983 * config/linux/bar.c: Include wait.h instead of libgomp.h and
18984 futex.h.
18985 (gomp_barrier_wait_end): Rewritten.
18986 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
18987 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
18988 * config/posix/bar.h (gomp_barrier_t): Add generation field.
18989 (gomp_barrier_state_t): New typedef.
18990 (gomp_team_barrier_wait,
18991 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18992 (gomp_barrier_wait_start): Or all but low 2 bits from generation
18993 into the return value. Return gomp_barrier_state_t.
18994 (gomp_team_barrier_set_task_pending,
18995 gomp_team_barrier_clear_task_pending,
18996 gomp_team_barrier_set_waiting_for_tasks,
18997 gomp_team_barrier_waiting_for_tasks,
18998 gomp_team_barrier_done): New inlines.
18999 (gomp_barrier_wait_end): Change second argument to
19000 gomp_barrier_state_t.
19001 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19002 inlines.
19003 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19004 (gomp_barrier_wait_end): Change second argument to
3e348fcc 19005 gomp_barrier_state_t.
a68ab351
JJ
19006 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19007 gomp_team_barrier_wake): New functions.
19008 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19009 futex.h.
19010 (gomp_futex_wake, gomp_futex_wait): New variables.
19011 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19012 * config/linux/lock.c: Rewrite to make locks task owned,
19013 for backwards compatibility provide the old entrypoints
19014 if symbol versioning. Include wait.h instead of libgomp.h and
19015 futex.h.
19016 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19017 * config/posix95/lock.c: Rewrite to make locks task owned,
19018 for backwards compatibility provide the old entrypoints
19019 if symbol versioning.
19020 * config/posix/lock.c: Rewrite to make locks task owned,
19021 for backwards compatibility provide the old entrypoints
19022 if symbol versioning.
19023 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19024 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19025 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19026 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19027 (sys_futex0): Return error code.
19028 (futex_wake, futex_wait): If ENOSYS was returned, clear
19029 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19030 (cpu_relax, atomic_write_barrier): New static inlines.
19031 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19032 (futex_wake, futex_wait): If ENOSYS was returned, clear
19033 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19034 (cpu_relax, atomic_write_barrier): New static inlines.
19035 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19036 (sys_futex0): Return error code.
19037 (futex_wake, futex_wait): If ENOSYS was returned, clear
19038 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19039 (cpu_relax, atomic_write_barrier): New static inlines.
19040 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19041 (sys_futex0): Return error code.
19042 (futex_wake, futex_wait): If ENOSYS was returned, clear
19043 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19044 (cpu_relax, atomic_write_barrier): New static inlines.
19045 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19046 (sys_futex0): Return error code.
19047 (futex_wake, futex_wait): If ENOSYS was returned, clear
19048 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19049 (cpu_relax, atomic_write_barrier): New static inlines.
19050 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19051 (sys_futex0): Return error code.
19052 (futex_wake, futex_wait): If ENOSYS was returned, clear
19053 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19054 (cpu_relax, atomic_write_barrier): New static inlines.
19055 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19056 futex.h.
19057 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19058 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19059 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19060 types.
19061 (omp_nest_lock_t): Change owner into void *, add lock field.
19062 * config/posix95/omp-lock.h: Include semaphore.h.
19063 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19064 (omp_lock_t): Use sem_t instead of mutex if semaphores
19065 aren't broken.
19066 (omp_nest_lock_t): Likewise. Change owner to void *.
19067 * config/posix/omp-lock.h: Include semaphore.h.
19068 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19069 (omp_lock_t): Use sem_t instead of mutex if semaphores
19070 aren't broken.
19071 (omp_nest_lock_t): Likewise. Add owner field.
19072
190732008-06-06 Jakub Jelinek <jakub@redhat.com>
19074
19075 * testsuite/libgomp.c/collapse-1.c: New test.
19076 * testsuite/libgomp.c/collapse-2.c: New test.
19077 * testsuite/libgomp.c/collapse-3.c: New test.
19078 * testsuite/libgomp.c/icv-1.c: New test.
19079 * testsuite/libgomp.c/icv-2.c: New test.
19080 * testsuite/libgomp.c/lib-2.c: New test.
19081 * testsuite/libgomp.c/lock-1.c: New test.
19082 * testsuite/libgomp.c/lock-2.c: New test.
19083 * testsuite/libgomp.c/lock-3.c: New test.
19084 * testsuite/libgomp.c/loop-4.c: New test.
19085 * testsuite/libgomp.c/loop-5.c: New test.
19086 * testsuite/libgomp.c/loop-6.c: New test.
19087 * testsuite/libgomp.c/loop-7.c: New test.
19088 * testsuite/libgomp.c/loop-8.c: New test.
19089 * testsuite/libgomp.c/loop-9.c: New test.
19090 * testsuite/libgomp.c/nested-3.c: New test.
19091 * testsuite/libgomp.c/nestedfn-6.c: New test.
19092 * testsuite/libgomp.c/sort-1.c: New test.
19093 * testsuite/libgomp.c/task-1.c: New test.
19094 * testsuite/libgomp.c/task-2.c: New test.
19095 * testsuite/libgomp.c/task-3.c: New test.
19096 * testsuite/libgomp.c/task-4.c: New test.
19097 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19098 to C++ testsuite default compiler options.
19099 * testsuite/libgomp.c++/collapse-1.C: New test.
19100 * testsuite/libgomp.c++/collapse-2.C: New test.
19101 * testsuite/libgomp.c++/ctor-10.C: New test.
19102 * testsuite/libgomp.c++/for-1.C: New test.
19103 * testsuite/libgomp.c++/for-2.C: New test.
19104 * testsuite/libgomp.c++/for-3.C: New test.
19105 * testsuite/libgomp.c++/for-4.C: New test.
19106 * testsuite/libgomp.c++/for-5.C: New test.
19107 * testsuite/libgomp.c++/loop-8.C: New test.
19108 * testsuite/libgomp.c++/loop-9.C: New test.
19109 * testsuite/libgomp.c++/loop-10.C: New test.
19110 * testsuite/libgomp.c++/task-1.C: New test.
19111 * testsuite/libgomp.c++/task-2.C: New test.
19112 * testsuite/libgomp.c++/task-3.C: New test.
19113 * testsuite/libgomp.c++/task-4.C: New test.
19114 * testsuite/libgomp.c++/task-5.C: New test.
19115 * testsuite/libgomp.c++/task-6.C: New test.
19116 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19117 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19118 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19119 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19120 * testsuite/libgomp.fortran/collapse1.f90: New test.
19121 * testsuite/libgomp.fortran/collapse2.f90: New test.
19122 * testsuite/libgomp.fortran/collapse3.f90: New test.
19123 * testsuite/libgomp.fortran/collapse4.f90: New test.
19124 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19125 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19126 * testsuite/libgomp.fortran/lib4.f90: New test.
19127 * testsuite/libgomp.fortran/lock-1.f90: New test.
19128 * testsuite/libgomp.fortran/lock-2.f90: New test.
19129 * testsuite/libgomp.fortran/nested1.f90: New test.
19130 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19131 * testsuite/libgomp.fortran/strassen.f90: New test.
19132 * testsuite/libgomp.fortran/tabs1.f90: New test.
19133 * testsuite/libgomp.fortran/tabs2.f: New test.
19134 * testsuite/libgomp.fortran/task1.f90: New test.
19135 * testsuite/libgomp.fortran/task2.f90: New test.
19136 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19137 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19138 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19139 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19140 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19141
7a0112e7
JJ
191422008-05-23 Jakub Jelinek <jakub@redhat.com>
19143
19144 PR c++/36308
19145 * testsuite/libgomp.c++/ctor-11.C: New test.
19146 * testsuite/libgomp.c++/ctor-12.C: New test.
19147
91a5b394
JJ
191482008-05-15 Janis Johnson <janis187@us.ibm.com>
19149
19150 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19151
c18c98c0
JJ
191522008-05-07 Jakub Jelinek <jakub@redhat.com>
19153
19154 PR middle-end/36106
19155 * testsuite/libgomp.c/atomic-5.c: New test.
19156 * testsuite/libgomp.c/atomic-6.c: New test.
19157 * testsuite/libgomp.c/autopar-1.c: New test.
19158
6d26724a
RW
191592008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19160
19161 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19162 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19163 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19164 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19165 * configure: Regenerate.
19166 * Makefile.in, testsuite/Makefile.in: Likewise.
19167
deb984e6
PB
191682008-04-18 Paolo Bonzini <bonzini@gnu.org>
19169
19170 PR bootstrap/35457
19171 * aclocal.m4: Regenerate.
19172 * configure: Regenerate.
19173
9e775963
JJ
191742008-03-18 Jakub Jelinek <jakub@redhat.com>
19175
8119fc93
JJ
19176 PR middle-end/35611
19177 * testsuite/libgomp.c/atomic-4.c: New test.
19178
9e775963
JJ
19179 PR libgomp/35625
19180 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19181 (gomp_iter_guided_next): Likewise.
19182 * testsuite/libgomp.c/pr35625.c: New test.
19183
38d24731
RW
191842008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19185
19186 * aclocal.m4: Regenerate.
19187 * configure: Likewise.
19188 * Makefile.in: Likewise.
19189 * testsuite/Makefile.in: Likewise.
19190
d0fb20be
JJ
191912008-03-13 Jakub Jelinek <jakub@redhat.com>
19192
19193 PR middle-end/35185
19194 * testsuite/libgomp.c++/pr35185.C: New test.
19195
7c8f7639
JJ
191962008-03-12 Jakub Jelinek <jakub@redhat.com>
19197
19198 PR middle-end/35549
19199 * testsuite/libgomp.c/pr35549.c: New test.
19200
251923f5
JJ
192012008-03-06 Jakub Jelinek <jakub@redhat.com>
19202
19203 * testsuite/libgomp.c/atomic-3.c: New test.
19204
f489fba1
FXC
192052008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19206
19207 PR fortran/33197
251923f5 19208 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
19209 .F08 file suffixes.
19210
a1b25e49
PG
192112008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19212
19213 PR libgomp/33131
19214 * configure.ac: Add ACX_HEADER_STRING.
19215 * env.c: Include strings.h.
19216 * aclocal.m4: Regenerate.
19217 * config.h.in: Regenerate.
19218 * configure: Regenerate.
19219 * Makefile.in: Regenerate.
19220 * testsuite/Makefile.in: Regenerate.
19221
6837b3b8
JJ
192222008-02-15 Jakub Jelinek <jakub@redhat.com>
19223
ac84c062
JJ
19224 PR middle-end/35196
19225 * testsuite/libgomp.c/pr35196.c: New test.
19226
6837b3b8
JJ
19227 PR middle-end/35130
19228 * testsuite/libgomp.fortran/pr35130.f90: New test.
19229 * testsuite/libgomp.c/pr35130.c: New test.
19230
c256730c
JJ
192312008-01-25 Jakub Jelinek <jakub@redhat.com>
19232
19233 PR middle-end/33880
19234 * testsuite/libgomp.c/pr33880.c: New test.
19235 * testsuite/libgomp.fortran/pr33880.f90: New test.
19236
c8e95542 192372008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
19238
19239 * configure: Regenerate.
19240
0f3e711e
JJ
192412008-01-08 Jakub Jelinek <jakub@redhat.com>
19242
19243 * configure.ac: Move futex checking into ../config/futex.m4.
19244 * configure: Rebuilt.
19245 * aclocal.m4: Rebuilt.
19246 * Makefile.in: Rebuilt.
19247
19248 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19249 2007-10-15 ../config/tls.m4 change.
19250
5259c813
JJ
192512007-12-19 Jakub Jelinek <jakub@redhat.com>
19252
19253 PR c++/34513
19254 * testsuite/libgomp.c/pr34513.c: New test.
19255 * testsuite/libgomp.c++/pr34513.C: New test.
19256
ae8d8879
JH
192572007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19258
19259 PR target/32765
19260 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19261
2b4cf991
JJ
192622007-12-04 Jakub Jelinek <jakub@redhat.com>
19263
19264 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19265
d2dda7fe
JJ
192662007-12-03 Jakub Jelinek <jakub@redhat.com>
19267
19268 * testsuite/libgomp.c/private-1.c: New test.
19269
d683ec81
PB
192702007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19271 Paolo Bonzini <bonzini@gnu.org>
19272
19273 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19274 instead of 'VPATH ='.
19275 * Makefile.in: Regenerate.
19276
a7415017
MK
192772007-11-23 Matthias Klose <doko@ubuntu.com>
19278
19279 * configure.ac: Adjust makeinfo version check.
19280 * configure: Regenerate.
19281
78e47463
JJ
192822007-11-10 Jakub Jelinek <jakub@redhat.com>
19283
19284 PR fortran/34020
19285 * testsuite/libgomp.fortran/pr34020.f90: New test.
19286
239371f9
JJ
192872007-11-06 Jakub Jelinek <jakub@redhat.com>
19288
19289 PR c++/33894
19290 * testsuite/libgomp.c++/atomic-1.C: New test.
19291
98a5fa94
JJ
192922007-10-25 Jakub Jelinek <jakub@redhat.com>
19293
19294 PR libgomp/33275
19295 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19296 Make x and y integers rather than (implicit) reals. Add private (j)
19297 clause to the last omp parallel.
19298
3afcaaf4
MR
192992007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19300
19301 * configure: Regenerate following changes to ../config/tls.m4.
19302
bd69daef
JJ
193032007-09-28 Jakub Jelinek <jakub@redhat.com>
19304
19305 * testsuite/libgomp.fortran/stack.f90: New test.
19306
1d0bd356
DS
193072007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19308
19309 * config/mingw32/proc.c: New file.
19310
b3172cab
UB
193112007-09-05 Uros Bizjak <ubizjak@gmail.com>
19312
19313 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19314 (main): Use __get_cpuid to get i386 target fetaures.
19315 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19316 (main): Use __get_cpuid to get x86_64 target fetaures.
19317
6da17392
JH
193182007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19319
19320 PR target/32765
19321 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19322 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19323
e1c82219
JJ
193242007-07-12 Jakub Jelinek <jakub@redhat.com>
19325
19326 PR fortran/32550
19327 * testsuite/libgomp.fortran/pr32550.f90: New test.
19328 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19329
12a27363
L
193302007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19331
19332 * aclocal.m4: Regenerated.
19333
5349080d
TB
193342007-07-05 Tobias Burnus <burnus@net-b.de>
19335
19336 PR fortran/32359
19337 * testsuite/libgomp.fortran/pr32359.f90: New.
19338
4f9c450c
JJ
193392007-07-02 Jakub Jelinek <jakub@redhat.com>
19340
19341 PR libgomp/32468
19342 * sections.c (GOMP_parallel_sections_start): Only decrease
19343 number of threads to COUNT if dyn_var is true.
19344 * testsuite/libgomp.c/pr32468.c: New test.
19345
28c67ed7
RO
193462007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19347
19348 PR libgomp/26308
19349 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19350
64964499
JJ
193512007-06-21 Jakub Jelinek <jakub@redhat.com>
19352
19353 PR middle-end/32362
19354 * testsuite/libgomp.c/pr32362-1.c: New test.
19355 * testsuite/libgomp.c/pr32362-2.c: New test.
19356 * testsuite/libgomp.c/pr32362-3.c: New test.
19357
46d8fbd1
JJ
193582007-06-07 Jakub Jelinek <jakub@redhat.com>
19359
19360 * team.c (gomp_team_start): Fix setting up thread_attr
19361 stack size.
19362
82a6cadf
PB
193632007-06-02 Paolo Bonzini <bonzini@gnu.org>
19364
19365 * configure: Regenerate.
19366
1cf3d07d
SE
193672007-05-23 Steve Ellcey <sje@cup.hp.com>
19368
19369 * Makefile.in: Regenerate.
19370 * configure: Regenerate.
19371 * aclocal.m4: Regenerate.
19372 * testsuite/Makefile.in: Regenerate.
19373
12aac30b
JJ
193742007-05-04 Jakub Jelinek <jakub@redhat.com>
19375
19376 * config/linux/proc.c: New file.
19377
f1028b02
JJ
19378 PR libgomp/28482
19379 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19380
06785a48
DF
193812007-04-19 Daniel Franke <franke.daniel@gmail.com>
19382
19383 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19384
b3b08ba0
MK
193852007-04-16 Matthias Klose <doko@debian.org>
19386
19387 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19388 flags if not building with -m64.
19389 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19390 flag for i?86-*-* targets, if current target matches -m64.
19391
6b2c5ce0
SE
193922007-04-14 Steve Ellcey <sje@cup.hp.com>
19393
19394 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19395 * Makefile.in: Regenerate.
19396
dd56fe7c
JDA
193972007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19398
19399 PR testsuite/31369
19400 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19401 ld_library_path.
19402 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19403
a0884cf0
JJ
194042007-04-04 Jakub Jelinek <jakub@redhat.com>
19405
19406 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19407 decls.
19408 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19409 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19410 (parse_affinity): New function.
19411 (initialize_env): Call it and gomp_init_affinity.
19412 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19413 create new pthread_attr_t and call gomp_init_thread_affinity
19414 on it for each thread before passing the attribute to pthread_create.
19415 * config/linux/affinity.c: New file.
19416 * config/posix/affinity.c: New file.
19417 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19418 * configure: Rebuilt.
19419 * config.h.in: Rebuilt.
19420 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19421 * Makefile.in: Rebuilt.
19422
1850744b
AT
194232007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19424
19425 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19426 *-*-darwin*.
19427 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19428 and use it if found.
19429
516f1ed8
UB
194302007-03-18 Uros Bizjak <ubizjak@gmail.com>
19431
19432 * testsuite/config/default.exp: New file.
19433 * testsuite/lib/libgomp.exp: New file.
19434 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19435 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19436 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19437 (libgomp_load): Remove.
19438 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19439 always_ld_library_path, not ld_library_path. Set additional_flags
19440 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19441 (target_compile): Do not call libgomp_init. Append lang_library_path
19442 and lang_link_flags to options.
19443 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19444 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19445 here.
19446 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19447 always_ld_library_path. Set LD_LIBRARY_PATH here.
19448 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19449 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19450 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19451 CX8 flag.
19452 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19453 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19454 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19455 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19456 * testsuite/libgomp.c/atomic-10.c: Ditto.
19457
2ada56f5
JJ
194582007-03-21 Jakub Jelinek <jakub@redhat.com>
19459
19460 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19461 dg-final cleanup-modules line.
19462 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19463 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19464 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19465 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19466 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19467 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19468 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19469
f210f1cd
AS
194702007-03-18 Andreas Schwab <schwab@suse.de>
19471
19472 * acinclude.m4: Adjust regular expression for ld version
19473 extraction.
19474 * configure: Regenerate.
19475
c4dc950d
BM
194762007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19477
19478 * Makefile.am: Add install-pdf target as copied from
19479 automake v1.10 rules.
19480 * Makefile.in: Regenerate
19481
e02a048f
JJ
194822007-02-07 Jakub Jelinek <jakub@redhat.com>
19483
78e075d4
JJ
19484 PR libgomp/28486
19485 * configure: Regenerate.
19486
e02a048f
JJ
19487 PR c++/30703
19488 * testsuite/libgomp.c++/pr30703.C: New test.
19489
60def7ed
JJ
194902007-02-02 Jakub Jelinek <jakub@redhat.com>
19491
19492 Revert:
19493 2006-07-05 Eric Christopher <echristo@apple.com>
19494 * configure.ac: Depend addition of -pthread on host OS.
19495 * configure: Regenerate.
19496
f1b0882e
RW
194972007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19498
19499 * libgomp.texi: Fix spacing after abbreviations.
19500
748b9d7c
DF
195012007-01-31 Daniel Franke <franke.daniel@gmail.com>
19502
19503 PR libgomp/30546
19504 * configure.ac: Add check for makeinfo
19505 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 19506 if an appropriate version of makeinfo is found.
748b9d7c
DF
19507 * aclocal.m4: Regenerated.
19508 * configure: Regenerated.
19509 * Makefile.in: Regenerated.
19510 * testsuite/Makefile.in: Regenerated.
19511
14734fc7
DF
195122007-01-29 Daniel Franke <franke.daniel@gmail.com>
19513
19514 PR libgomp/30540
19515 * libgomp.texi: More about implementation-dependent settings.
19516
7befd5d2
TB
195172007-01-26 Tobias Burnus <burnus@net-b.de>
19518
19519 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19520
4288fea2
JJ
195212007-01-24 Jakub Jelinek <jakub@redhat.com>
19522
19523 PR middle-end/30494
19524 * testsuite/libgomp.c/pr30494.c: New test.
19525
627ab4b8
TT
195262007-01-15 Tom Tromey <tromey@redhat.com>
19527
19528 * configure: Rebuilt.
19529 * configure.ac: Fixed comment.
19530
7c2b7f45
DF
195312007-01-14 Daniel Franke <franke.daniel@gmail.com>
19532
19533 * libgomp.texi: Document implementation specific default values of
19534 environment variables.
19535
3721b9e1
DF
195362006-12-21 Daniel Franke <franke.daniel@gmail.com>
19537
19538 PR libgomp/28209
19539 * libgomp.texi: New file.
19540 * configure.ac: Add --enable-generated-files-in-srcdir option.
19541 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19542 files to srcdir.
19543 * Makefile.in: Regenerated.
19544 * config.h.in: Regenerated.
19545 * testsuite/Makefile.in: Regenerated.
19546 * NOTES: Removed.
19547
62bd6216
DF
195482006-12-04 Daniel Franke <franke.daniel@gmail.com>
19549
19550 PR libgomp/29949
19551 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19552
aad741f4
EB
195532006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19554
19555 * configure: Regenerate.
19556
22568cc6
JJ
195572006-12-04 Jakub Jelinek <jakub@redhat.com>
19558
19559 PR libgomp/29947
19560 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19561 start if there shouldn't be any loop iterations.
19562 (gomp_loop_ordered_static_start): Remove start == end test.
19563 * testsuite/libgomp.c/pr29947-1.c: New test.
19564 * testsuite/libgomp.c/pr29947-2.c: New test.
19565
a9690009
EB
195662006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19567
19568 * configure.tgt: Force initial-exec TLS model on Linux only.
19569
597c25e6
DJ
195702006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19571
19572 * configure: Regenerated.
19573
6acf0b38
UB
195742006-11-09 Uros Bizjak <ubizjak@gmail.com>
19575
19576 * env.c (parse_schedule): Reject out of range values.
19577 (parse_unsigned_long): Reject out of range, negative or zero values.
19578
a7a53ca5
JJ
195792006-10-29 Jakub Jelinek <jakub@redhat.com>
19580
19581 PR fortran/29629
19582 * testsuite/libgomp.fortran/pr29629.f90: New test.
19583
6d4d216a
EB
195842006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19585
19586 PR libgomp/29494
19587 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19588 * config/posix95: New directory.
19589 * config/posix95/omp-lock.h: New file.
19590 * config/posix95/lock.c: Likewise.
19591
5b043f08
GK
195922006-10-14 Geoffrey Keating <geoffk@apple.com>
19593
19594 * aclocal.m4: Regenerate.
19595 * configure: Regenerate.
19596
b50019f0
DS
195972006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19598
19599 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19600 '<' to '<='.
19601
8887708e
DS
196022006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19603
19604 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19605 test.
19606 * configure: Regenerate.
19607 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19608
9b9e4cd6
JJ
196092006-09-26 Jakub Jelinek <jakub@redhat.com>
19610
a70ad3bb
JJ
19611 PR middle-end/25261
19612 PR middle-end/28790
19613 * testsuite/libgomp.c/nestedfn-4.c: New test.
19614 * testsuite/libgomp.c/nestedfn-5.c: New test.
19615 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19616
9b9e4cd6
JJ
19617 PR fortran/29097
19618 * testsuite/libgomp.fortran/condinc1.f: New test.
19619 * testsuite/libgomp.fortran/condinc2.f: New test.
19620 * testsuite/libgomp.fortran/condinc3.f90: New test.
19621 * testsuite/libgomp.fortran/condinc4.f90: New test.
19622 * testsuite/libgomp.fortran/condinc1.inc: New file.
19623
2fb31455
TT
196242006-09-18 Tom Tromey <tromey@redhat.com>
19625
19626 * configure: Rebuilt.
19627
c663e301
JM
196282006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19629
19630 PR c/28768
19631 PR preprocessor/14634
19632 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19633 to AC_DEFINE.
19634 * configure: Regenerate.
19635
38371be9
SK
196362006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19637
19638 * testsuite/libgomp.fortran/reduction3.f90: Change
19639 -2147483648 to -huge(i)-1 to avoid overflow.
19640 * testsuite/libgomp.fortran/reduction4.f90: Change
19641 Z'ffffffff' to not(0) to avoid overflow.
19642
571d5ac5
JM
196432006-08-26 Joseph S. Myers <joseph@codesourcery.com>
19644
19645 PR libgomp/25938
19646 * Makefile.am (libsubincludedir): New.
19647 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19648 * Makefile.in: Regenerate.
19649
89b3e3cd
JJ
196502006-08-17 Jakub Jelinek <jakub@redhat.com>
19651
19652 PR libgomp/28725
19653 * env.c: Include ctype.h.
19654 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19655 leading and/or trailing whitespace and compare strings case
19656 insensitively.
19657
742fae05
JJ
196582006-07-16 Jakub Jelinek <jakub@redhat.com>
19659
19660 PR fortran/28390
19661 * testsuite/libgomp.fortran/pr28390.f: New test.
19662
a1daed2d
EC
196632006-07-05 Eric Christopher <echristo@apple.com>
19664
19665 * configure.ac: Depend addition of -pthread on host OS.
19666 * configure: Regenerate.
19667
5d7b5199
JJ
196682006-06-21 Jakub Jelinek <jakub@redhat.com>
19669
19670 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19671 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19672 defined.
19673
fe5568e9
JJ
196742006-06-20 Jakub Jelinek <jakub@redhat.com>
19675
19676 PR libgomp/26175
19677 PR libgomp/26477
19678 * configure.ac: If neither --enable-linux-futex nor
19679 --disable-linux-futex is passed, determine the default by checking
19680 for compiling and/or running against NPTL. With --enable-linux-futex,
19681 check if SYS_gettid and SYS_futex are defined.
19682 * configure: Rebuilt.
19683
c3b11a40
RH
196842006-06-14 Richard Henderson <rth@redhat.com>
19685
19686 PR libgomp/28008
19687 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19688 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19689
d0d1b24d
RH
196902006-06-09 Richard Henderson <rth@redhat.com>
19691
19692 * env.c (gomp_nthreads_var): Change to unsigned long.
19693 (gomp_run_sched_chunk): Likewise.
19694 (parse_unsigned_long): Rename from parse_num_threads and generalize.
19695 (initialize_env): Initialize gomp_thread_attr.
19696 * libgomp.h (gomp_nthreads_var): Update decl.
19697 (gomp_run_sched_chunk): Likewise.
19698 (gomp_thread_attr): Declare.
19699 * team.c (gomp_thread_attr): Export.
19700 (initialize_team): Don't initialize it.
19701
cd75853e
JJ
197022006-06-09 Jakub Jelinek <jakub@redhat.com>
19703
19704 PR fortran/27916
19705 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19706 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19707
33815e0c
FXC
197082006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19709
19710 * config/mingw32/time.c: New file.
19711 * configure.tgt: Use it.
19712
6667de0d
CD
197132006-05-23 Carlos O'Donell <carlos@codesourcery.com>
19714
19715 * Makefile.am: Add install-html target. Add install-html to .PHONY
19716 * Makefile.in: Regenerate.
19717
e962c46b
JDA
197182006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19719
19720 PR libgomp/27612
19721 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19722 * testsuite/libgomp.c/critical-1.c: Likewise.
19723 * testsuite/libgomp.c/loop-1.c: Likewise.
19724 * testsuite/libgomp.c/loop-2.c: Likewise.
19725 * testsuite/libgomp.c/single-1.c: Likewise.
19726 * testsuite/libgomp.c/ordered-1.c: Likewise.
19727 * testsuite/libgomp.c/ordered-2.c: Likewise.
19728
eeb1d9e0
JJ
197292006-05-15 Jakub Jelinek <jakub@redhat.com>
19730
19731 PR middle-end/27416
19732 * libgomp.fortran/pr27416-1.f90: New test.
19733
693d710f
JJ
197342006-05-03 Jakub Jelinek <jakub@redhat.com>
19735
19736 PR fortran/27395
19737 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19738 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19739
8ca5b2a2
JJ
197402006-05-02 Jakub Jelinek <jakub@redhat.com>
19741
19742 PR c++/26943
19743 * testsuite/libgomp.c/pr26943-1.c: New test.
19744 * testsuite/libgomp.c/pr26943-2.c: New test.
19745 * testsuite/libgomp.c/pr26943-3.c: New test.
19746 * testsuite/libgomp.c/pr26943-4.c: New test.
19747 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19748 * testsuite/libgomp.c++/pr26943.C: New test.
19749
077b0dfb
JJ
197502006-05-02 Jakub Jelinek <jakub@redhat.com>
19751
19752 PR middle-end/27337
19753 * testsuite/libgomp.c++/pr27337.C: New test.
19754
91b6c26d
JJ
197552006-04-26 Jakub Jelinek <jakub@redhat.com>
19756
19757 PR c/26171
19758 * testsuite/libgomp.c/pr26171.c: New test.
19759
60e1758f
RH
197602006-04-25 Richard Henderson <rth@redhat.com>
19761
19762 PR libgomp/25865
19763 * configure.ac: Use GCC_CHECK_TLS.
19764 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19765 * Makefile.in, aclocal.m4, configure: Regenerate.
19766
615baed7
MK
197672006-04-10 Matthias Klose <doko@debian.org>
19768
19769 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19770 directory names containing underscores.
19771
fae2b46b
JJ
197722006-03-21 Jakub Jelinek <jakub@redhat.com>
19773
19774 PR c++/26691
19775 * testsuite/libgomp.c++/pr26691.C: New test.
19776
11a5f608
JJ
197772006-03-13 Jakub Jelinek <jakub@redhat.com>
19778
19779 * testsuite/libgomp.fortran/retval2.f90: New test.
19780
1799e5d5
RH
197812006-03-09 Diego Novillo <dnovillo@redhat.com>
19782
19783 * testsuite/libgomp.c++: New directory.
19784
d349482e
AT
197852006-02-25 Shantonu Sen <ssen@opendarwin.org>
19786
19787 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19788 * config/posix/sem.c: Implement the above.
19789
197902006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
19791
19792 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19793 define HAVE_BROKEN_POSIX_SEMAPHORES.
19794 * configure: Rebuilt.
19795 * config.h.in: Rebuilt.
19796
124452c9
FXC
197972006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19798
19799 PR bootstrap/26161
19800 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
19801 for the other pthread check.
19802 * configure: Regenerate.
19803 * config.h.in: Regenerate.
19804
dd8d6dfe
JJ
198052006-02-15 Jakub Jelinek <jakub@redhat.com>
19806
19807 PR libgomp/25938
19808 PR libgomp/25984
19809 * Makefile.am (fincludedir): New variable.
19810 (nodist_include_HEADERS): Remove Fortran files.
19811 (nodist_finclude_HEADERS): New variable.
19812 * Makefile.in: Regenerated.
19813
6c7a4dfd
JJ
198142006-02-13 Jakub Jelinek <jakub@redhat.com>
19815
19816 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
19817 Remove tests for returning assumed character length arrays.
19818
5142e08b
RS
198192006-02-12 Roger Sayle <roger@eyesopen.com>
19820 John David Anglin <dave@hiauly1.hia.nrc.ca>
19821
19822 PR libgomp/25936
19823 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 19824
5821fba8
UW
198252006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
19826
19827 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
19828
cb2bbc67
EB
198292006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
19830
19831 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
19832 part of LD_LIBRARY_PATH manually.
19833
f05ee80c
L
198342006-02-03 H.J. Lu <hongjiu.lu@intel.com>
19835
19836 PR libgomp/25852
19837 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
19838 libgomp_init.
19839
03b8fe49
PB
198402005-01-25 Paolo Bonzini <bonzini@gnu.org>
19841
19842 PR libgomp/25884
f05ee80c
L
19843 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
19844 * configure.ac (PERL): Don't set.
19845 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
19846 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
19847 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
19848 * omp.h.in: Wrap the new configure substitutions with @ characters.
19849 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
19850 * aclocal.m4, configure, Makefile.in: Regenerate.
19851 * mkomp_h.pl: Delete.
03b8fe49 19852
18cbfd85
PB
198532005-01-24 Paolo Bonzini <bonzini@gnu.org>
19854
19855 PR libgomp/25259
19856 * configure.ac: Use GCC_HEADER_STDINT.
19857 * libgomp.h: Include gstdint.h.
19858 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
19859 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
19860
c41303c6
RH
198612006-01-24 Richard Henderson <rth@redhat.com>
19862
19863 PR libgomp/25942
19864 * configure.ac: Add AM_MAINTAINER_MODE.
19865 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
19866
149b9553
DN
198672006-01-24 Diego Novillo <dnovillo@redhat.com>
19868
19869 * Makefile.in: Regenerate.
19870 * testsuite/Makefile.in: Regenerate.
19871 * aclocal.m4: Regenerate.
19872
192a50ad
AT
198732006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
19874
19875 * config/posix/proc.c: Conditional include of sys/loadavg.h for
19876 Solaris.
19877 * configure.ac: Add check for loadavg.h.
19878 (link_gomp): Adjust comment.
19879 * configure: Regenerate.
19880 * config.h.in: Regenerate.
19881
a55b8e18
SE
198822006-01-21 Steve Ellcey <sje@cup.hp.com>
19883
19884 PR libgomp/25877
19885 * configure.ac: Remove check for alloca.h.
19886 * configure: Regenerate.
19887 * config.h.in: Regenerate.
19888 * libgomp.h: define gomp_alloca to be __builtin_alloca.
19889 * team.c: Remove use of alloca.h.
19890 Call gomp_alloca instead of alloca.
19891
692eeb34
SE
198922006-01-20 Steve Ellcey <sje@cup.hp.com>
19893
19894 PR libgomp/25877
19895 * team.c: Add include of alloca.h.
19896 * configure.ac: Add check for alloca.h.
19897 * configure: Regenerate.
19898 * config.h.in: Regenerate.
19899
953ff289
DN
199002006-01-17 Jakub Jelinek <jakub@redhat.com>
19901
19902 PR fortran/25219
19903 * testsuite/libgomp.fortran/pr25219.f90: New test.
19904
199052005-12-05 Uros Bizjak <uros@kss-loka.si>
19906
19907 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
19908 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
19909 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19910 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
19911 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
19912 testsuite/libgomp.fortran/threadprivate1.f90,
19913 testsuite/libgomp.fortran/threadprivate2.f90,
19914 testsuite/libgomp.fortran/threadprivate3.f90,
19915 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
19916 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
19917 testsuite/libgomp.fortran/omp_parse3.f90: Change required
19918 effective-target to TLS runtime.
19919
19920 * testsuite/libgomp.fortran/pr25162.f: Require
19921 effective-target TLS runtime.
19922
199232005-12-01 Jakub Jelinek <jakub@redhat.com>
19924
19925 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
19926 * testsuite/libgomp.c/nestedfn-3.c: New test.
19927
199282005-11-30 Jakub Jelinek <jakub@redhat.com>
19929
19930 PR fortran/25162
19931 * testsuite/libgomp.fortran/pr25162.f: New test.
19932
199332005-11-28 Jakub Jelinek <jakub@redhat.com>
19934
19935 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
19936 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
19937
199382005-11-25 Jakub Jelinek <jakub@redhat.com>
19939
19940 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
19941 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
19942 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
19943 single.c, team.c, work.c, config/linux/alpha/futex.h,
19944 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
19945 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
19946 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
19947 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
19948 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
19949 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
19950 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
19951 FSF address.
19952
199532005-11-18 Jakub Jelinek <jakub@redhat.com>
19954
19955 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
19956 to nodist_noinst_HEADERS.
19957 * Makefile.in: Rebuilt.
19958
19959 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
19960 add integer count field.
19961 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
19962 omp_nest_lock_t type change.
19963 (omp_init_nest_lock): Likewise. Initialize count to 0.
19964 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
19965 Increment count.
19966 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
19967 Decrement count.
19968 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
19969 Increment count if successful and return the new nesting level.
19970 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
19971 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
19972 * testsuite/libgomp.c/lib-1.c: New test.
19973 * testsuite/libgomp.fortran/lib1.f90: New test.
19974 * testsuite/libgomp.fortran/lib2.f: New test.
19975 * testsuite/libgomp.fortran/lib3.f: New test.
19976
199772005-11-17 Richard Henderson <rth@redhat.com>
19978
19979 PR 24845
19980 * Makefile.am (nodist_toolexeclib_HEADERS): New.
19981 * configure.ac (link_gomp): New. Substitute it.
19982 (AC_CONFIG_FILES): Add libgomp.spec.
19983 * libgomp.spec.in: New file.
19984 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
19985 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
19986
199872005-11-18 Jakub Jelinek <jakub@redhat.com>
19988
19989 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
19990 reduction(-:var) behaving the same as reduction(+:var).
19991 * testsuite/libgomp.c/reduction-4.c: New test.
19992
199932005-11-15 Uros Bizjak <uros@kss-loka.si>
19994
19995 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
19996 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
19997 testsuite/libgomp.c/copyin-3.c,
19998 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19999 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20000 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20001 testsuite/libgomp.c++/pr24455.C,
20002 testsuite/libgomp.fortran/threadprivate1.f90,
20003 testsuite/libgomp.fortran/threadprivate2.f90,
20004 testsuite/libgomp.fortran/threadprivate3.f90,
20005 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20006 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20007 testsuite/libgomp.fortran/omp_parse3.f90: Require
20008 effective-target TLS.
20009
200102005-11-14 Diego Novillo <dnovillo@redhat.com>
20011
20012 * HEADER: Remove.
20013
200142005-11-13 Jakub Jelinek <jakub@redhat.com>
20015
20016 PR libgomp/24797
20017 * team.c (initialize_team): Pass NULL rather than free as
20018 pthread_key_create destructor. Initialize thread specific data
20019 pointer in initial thread to a static local variable rather than
20020 malloced memory.
20021
200222005-11-11 Uros Bizjak <uros@kss-loka.si>
20023
20024 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20025 its location to ld_library_path.
20026
200272005-11-10 Diego Novillo <dnovillo@redhat.com>
20028
20029 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20030
200312005-11-10 Diego Novillo <dnovillo@redhat.com>
20032
20033 * testsuite/libgomp.c: Rename from libgomp.dg.
20034
200352005-11-09 Diego Novillo <dnovillo@redhat.com>
20036
20037 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20038 threadprivate variable 'i'.
20039
200402005-11-09 Jakub Jelinek <jakub@redhat.com>
20041
20042 * config/linux/s390/futex.h: New file.
20043 * configure.tgt: Use it.
20044
20045 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20046 before the parallel.
20047
200482005-11-08 Jakub Jelinek <jakub@redhat.com>
20049
20050 PR c++/24734
20051 * testsuite/libgomp.c++/master-1.C: New test.
20052
200532005-11-07 Jakub Jelinek <jakub@redhat.com>
20054
20055 * testsuite/libgomp.dg/copyin-3.c: New test.
20056
200572005-11-07 Jakub Jelinek <jakub@redhat.com>
20058
20059 * testsuite/libgomp.fortran/retval1.f90: New test.
20060 * testsuite/libgomp.fortran/vla7.f90: New test.
20061
200622005-11-06 Jakub Jelinek <jakub@redhat.com>
20063
20064 * testsuite/libgomp.fortran/vla2.f90: New test.
20065 * testsuite/libgomp.fortran/vla3.f90: New test.
20066 * testsuite/libgomp.fortran/vla4.f90: New test.
20067 * testsuite/libgomp.fortran/vla5.f90: New test.
20068 * testsuite/libgomp.fortran/vla6.f90: New test.
20069
200702005-11-01 Jakub Jelinek <jakub@redhat.com>
20071
20072 * config/linux/sparc/futex.h: New file.
20073 * configure.tgt: Use it.
20074 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20075
20076 * critical.c: Include stdlib.h.
20077 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20078 ignoring return value.
20079 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20080 LIBGOMP_CHECK_SYNC_BUILTINS check.
20081 * configure: Rebuilt.
20082
200832005-10-31 Jakub Jelinek <jakub@redhat.com>
20084
20085 * testsuite/libgomp.fortran/vla1.f90: New test.
20086
200872005-10-31 Richard Henderson <rth@redhat.com>
20088
20089 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20090 setting 's' in different threads.
20091
200922005-10-31 Jakub Jelinek <jakub@redhat.com>
20093
20094 * libgomp.h (attribute_hidden, ialias): Define.
20095 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20096 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20097 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20098 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20099 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20100 omp_test_lock, omp_test_nest_lock): Likewise.
20101 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20102 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20103 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20104 omp_test_lock, omp_test_nest_lock): Likewise.
20105 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20106 omp_get_dynamic, omp_get_nested): Likewise.
20107 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20108 omp_get_thread_num, omp_in_parallel): Likewise.
20109 * fortran.c (ialias_redirect): Define.
20110 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20111 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20112 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20113 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20114 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20115 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20116 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20117 omp_get_wtime): Add ialias_redirect.
20118
201192005-10-30 Jakub Jelinek <jakub@redhat.com>
20120
20121 * fortran.c: Include stdlib.h.
20122
201232005-10-29 Jakub Jelinek <jakub@redhat.com>
20124
20125 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20126 * Makefile.in: Regenerated.
20127
201282005-10-28 Jakub Jelinek <jakub@redhat.com>
20129
20130 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20131 * libgomp_f.h.in (omp_check_defines): New function.
20132 * env.c: Include libgomp_f.h.
20133 (initialize_env): Call omp_check_defines.
20134
20135 * testsuite/libgomp.dg/copyin-2.c: New test.
20136 * testsuite/libgomp.c++/copyin-2.C: New test.
20137 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20138
20139 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20140 * testsuite/libgomp.fortran/sharing2.f90: New test.
20141
20142 * testsuite/libgomp.dg/copyin-1.c: New test.
20143 * testsuite/libgomp.c++/copyin-1.C: New test.
20144
201452005-10-26 Jakub Jelinek <jakub@redhat.com>
20146
20147 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20148
20149 * testsuite/libgomp.fortran/workshare1.f90: New test.
20150
20151 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20152 only test.
20153 * libgomp.fortran/sharing1.f90: New test.
20154
201552005-10-24 Jakub Jelinek <jakub@redhat.com>
20156
20157 PR c++/24502
20158 * testsuite/libgomp.c++/loop-7.C: New test.
20159
20160 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20161
20162 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20163 * testsuite/libgomp.fortran/reduction6.f90: New test.
20164 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20165
201662005-10-23 Richard Henderson <rth@redhat.com>
20167
20168 * testsuite/libgomp.c++/ctor-1.C: New.
20169 * testsuite/libgomp.c++/ctor-2.C: New.
20170 * testsuite/libgomp.c++/ctor-3.C: New.
20171 * testsuite/libgomp.c++/ctor-4.C: New.
20172 * testsuite/libgomp.c++/ctor-5.C: New.
20173 * testsuite/libgomp.c++/ctor-6.C: New.
20174 * testsuite/libgomp.c++/ctor-7.C: New.
20175 * testsuite/libgomp.c++/ctor-8.C: New.
20176 * testsuite/libgomp.c++/ctor-9.C: New.
20177
201782005-10-21 Diego Novillo <dnovillo@redhat.com>
20179
20180 PR 24455
20181 * testsuite/libgomp.c++/pr24455-1.C: New test.
20182 * testsuite/libgomp.c++/pr24455.C: New test.
20183 * testsuite/libgomp.dg/pr24455-1.c: New test.
20184 * testsuite/libgomp.dg/pr24455.c: New test.
20185
201862005-10-20 Richard Henderson <rth@redhat.com>
20187
20188 * testsuite/libgomp.c++/loop-6.C: New.
20189 * testsuite/libgomp.dg/loop-3.c: New.
20190
201912005-10-20 Jakub Jelinek <jakub@redhat.com>
20192
20193 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20194 explicitly private.
20195 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20196 explicitly shared.
20197
201982005-10-19 Diego Novillo <dnovillo@redhat.com>
20199
20200 * testsuite/libgomp.fortran/jacobi.f: New test.
20201
202022005-10-19 Richard Henderson <rth@redhat.com>
20203
20204 * configure.tgt (i?86-linux): Default to with_arch instead of
20205 CFLAGS. Add -mtune to match target_cpu.
20206 (x86_64-linux): Tune to i686.
20207
20208 * fortran.c (omp_test_nest_lock_): Fix typo.
20209
202102005-10-19 Jakub Jelinek <jakub@redhat.com>
20211
20212 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20213 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20214 * testsuite/libgomp.dg/ordered-3.c: New test.
20215
20216 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20217 Remove volatile keyword.
20218
20219 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20220 in COMMON block to avoid warnings on 64-bit targets.
20221
202222005-10-18 Diego Novillo <dnovillo@redhat.com>
20223
20224 * testsuite/libgomp.dg/shared-3.c: New test.
20225
202262005-10-18 Jakub Jelinek <jakub@redhat.com>
20227
20228 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20229 * testsuite/libgomp.fortran/reduction5.f90: New test.
20230
202312005-10-18 Jakub Jelinek <jakub@redhat.com>
20232
20233 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20234 dg-options.
20235 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20236 flush loop now that __sync_synchronize has proper memory barrier.
20237 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20238 Add -ffixed-form to dg-options.
20239
202402005-10-17 Diego Novillo <dnovillo@redhat.com>
20241
20242 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20243 from subdirectories.
20244 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20245 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20246 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20247 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20248 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20249 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20250 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20251 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20252 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20253 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20254 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20255 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20256 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20257 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20258 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20259 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20260 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20261 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20262 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20263 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20264 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20265 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20266 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20267 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20268 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20269
202702005-10-17 Jakub Jelinek <jakub@redhat.com>
20271
20272 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20273 lang_library_path exists. Use find instead of glob to gather tests.
20274 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20275
202762005-10-17 Diego Novillo <dnovillo@redhat.com>
20277
20278 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20279 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20280 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20281 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20282 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20283 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20284 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20285 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20286 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20287 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20288 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20289 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20290 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20291
202922005-10-15 Jakub Jelinek <jakub@redhat.com>
20293
20294 * testsuite/libgomp.dg/vla-1.c: New test.
20295
20296 * testsuite/libgomp.fortran/reference2.f90: New test.
20297
20298 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20299 declaration of omp_get_thread_num.
20300 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20301 use omp_lib.
20302
20303 * testsuite/libgomp.fortran/reduction1.f90: New test.
20304 * testsuite/libgomp.fortran/reduction2.f90: New test.
20305 * testsuite/libgomp.fortran/reduction3.f90: New test.
20306 * testsuite/libgomp.fortran/reduction4.f90: New test.
20307
203082005-10-13 Richard Henderson <rth@redhat.com>
20309
20310 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20311 * Makefile.in: Regenerate.
20312 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20313 * libgomp.h: Include bar.h.
20314 (struct gomp_barrier): Remove.
20315 (struct gomp_team): Add barrier. Replace master_barrier with
20316 master_release. Replace threads with ordered_release.
20317 (struct gomp_thread): Replace barrier with release.
20318 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20319 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20320 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20321 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20322 (GOMP_single_copy_end): Likewise.
20323 * team.c (gomp_threads_dock): New.
20324 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20325 (gomp_thread_start): Use gomp_barrier_wait.
20326 (new_team, free_team): Update for gomp_team changes.
20327 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20328 (gomp_team_end): Use gomp_barrier_wait.
20329 (initialize_team): Update for gomp_thread changes.
20330 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20331 (gomp_work_share_end_nowait): Use atomic ops when available.
20332 * config/linux/bar.c, config/linux/bar.h: New files.
20333 * config/posix/bar.c, config/posix/bar.h: New files.
20334
203352005-10-13 Jakub Jelinek <jakub@redhat.com>
20336
20337 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20338 * testsuite/libgomp.dg/single-2.c: New test.
20339
20340 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20341 lang_link_flags): Unset, so that they aren't inherited from previously
20342 sourced *.exp.
20343
20344 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20345
203462005-10-12 Richard Henderson <rth@redhat.com>
20347
20348 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20349 (libgomp_init): Use lang_test_file, lang_library_path, and
20350 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20351
20352 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20353 (lang_test_file, lang_link_flags): New.
20354 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20355
20356 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20357 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20358 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20359 testsuite/libgomp.c++/parallel-1.C,
20360 testsuite/libgomp.c++/reduction-1.C,
20361 testsuite/libgomp.c++/reduction-2.C,
20362 testsuite/libgomp.c++/reduction-3.C,
20363 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20364 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20365 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20366 New files, largely cribbed from the C testsuite.
20367
203682005-10-12 Jakub Jelinek <jakub@redhat.com>
20369
20370 * testsuite/libgomp.fortran/character1.f90: New test.
20371 * testsuite/libgomp.fortran/character2.f90: New test.
20372
20373 * testsuite/libgomp.dg/nested-1.c: New test.
20374 * testsuite/libgomp.dg/nested-2.c: New test.
20375 * testsuite/libgomp.fortran/do1.f90: New test.
20376 * testsuite/libgomp.fortran/do2.f90: New test.
20377
20378 * testsuite/libgomp.fortran/reference1.f90: New test.
20379
203802005-10-11 Jakub Jelinek <jakub@redhat.com>
20381
20382 * testsuite/libgomp.dg/reduction-1.c: New test.
20383 * testsuite/libgomp.dg/reduction-2.c: New test.
20384 * testsuite/libgomp.dg/reduction-3.c: New test.
20385
203862005-10-10 Jakub Jelinek <jakub@redhat.com>
20387
20388 * testsuite/libgomp.dg/atomic-1.c: New test.
20389 * testsuite/libgomp.dg/atomic-2.c: New test.
20390
203912005-10-09 Richard Henderson <rth@redhat.com>
20392
20393 * critical.c (atomic_lock): New.
20394 (initialize_critical): Initialize it.
20395 (GOMP_atomic_start, GOMP_atomic_end): New.
20396 * libgomp.map: Export them.
20397 * libgomp_g.h: Declare them.
20398
20399 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20400
204012005-10-02 Richard Henderson <rth@redhat.com>
20402
20403 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20404 to XCFLAGS instead of CFLAGS.
20405
204062005-09-30 Richard Henderson <rth@redhat.com>
20407
20408 * configure.ac: Determine whether -pthread or -lpthread is needed.
20409 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 20410 * Makefile.in, configure: Rebuild.
953ff289
DN
20411
204122005-09-28 Richard Henderson <rth@redhat.com>
20413
20414 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20415 * testsuite/libgomp.dg/omp-single-3.c: New test.
20416
204172005-09-28 Diego Novillo <dnovillo@redhat.com>
20418
20419 * testsuite/libgomp.dg/omp-single-2.c: New test.
20420 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20421
204222005-09-27 Richard Henderson <rth@redhat.com>
20423
20424 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20425 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20426
204272005-09-27 Jakub Jelinek <jakub@redhat.com>
20428
20429 * testsuite/libgomp.dg/omp-loop03.c: New test.
20430
204312005-09-27 Diego Novillo <dnovillo@redhat.com>
20432
20433 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20434
204352005-09-27 Diego Novillo <dnovillo@redhat.com>
20436
20437 * testsuite/libgomp.dg/omp-single-1.c: New test.
20438 * testsuite/libgomp.dg/shared-1.c: Return 0.
20439 Add prototype for abort.
20440 * testsuite/libgomp.dg/shared-2.c: Likewise.
20441
204422005-09-26 Jakub Jelinek <jakub@redhat.com>
20443
20444 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20445 constructs.
20446
204472005-09-26 Diego Novillo <dnovillo@redhat.com>
20448
20449 * testsuite/libgomp.dg/shared-1.c: New test.
20450 * testsuite/libgomp.dg/shared-2.c: New test.
20451
204522005-09-24 Richard Henderson <rth@redhat.com>
20453
20454 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20455
204562005-09-24 Richard Henderson <rth@redhat.com>
20457
20458 * iter.c (gomp_iter_static_next): Round up when computing number
20459 of iterations. Don't bother distributing a remainder equally.
20460
20461 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20462 Don't call srand. Zero b before testing.
20463 (main): New.
20464
204652005-09-24 Jakub Jelinek <jakub@redhat.com>
20466
20467 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20468 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20469
204702005-09-23 Jakub Jelinek <jakub@redhat.com>
20471
20472 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20473 without !$omp end do, followed immediately by subroutine end.
20474
204752005-09-23 Diego Novillo <dnovillo@redhat.com>
20476
20477 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20478
204792005-09-22 Richard Henderson <rth@redhat.com>
20480
20481 * critical.c (GOMP_critical_name_start): Change argument to void**.
20482 Reuse the pointer space if the mutex fits.
20483 (GOMP_critical_name_end): Likewise.
20484 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20485 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20486 (GOMP_critical_name_end): Likewise.
20487 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20488 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20489
204902005-09-20 Richard Henderson <rth@redhat.com>
20491
20492 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20493 (create_lock_lock): New.
20494 (initialize_critical): Initialize it.
20495 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20496 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20497
204982005-09-20 Diego Novillo <dnovillo@redhat.com>
20499
20500 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20501
205022005-09-20 Diego Novillo <dnovillo@redhat.com>
20503
20504 * testsuite/libgomp.dg/omp-loop01.c: New test.
20505 * testsuite/libgomp.dg/omp-loop02.c: New test.
20506
205072005-09-20 Jakub Jelinek <jakub@redhat.com>
20508
20509 * configure.ac (AC_PROG_FC): Add.
20510 (USE_FORTRAN): New automake conditional.
20511 * configure: Rebuilt.
20512 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20513 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20514 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20515 Add rules to build them.
20516 * Makefile.in: Rebuilt.
20517 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20518 OMP_NEST_LOCK_KIND.
20519 * libgomp.map: Add Fortran wrappers.
20520 * libgomp_f.h.in: New file.
20521 * omp_lib.h.in: New file.
20522 * omp_lib.f90.in: New file.
20523 * fortran.c: New file.
20524 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20525 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20526 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20527 libgfortran has been built.
20528 * testsuite/libgomp.fortran/fortran.exp: New file.
20529 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20530 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20531 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20532 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20533 * testsuite/libgomp.fortran/omp_hello.f: New test.
20534 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20535 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20536 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20537 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20538 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20539 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20540 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20541 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20542
205432005-08-30 Richard Henderson <rth@redhat.com>
20544
20545 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20546 function for when aliases are not usable.
20547 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20548 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20549 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20550 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20551 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20552 GOMP_loop_ordered_guided_next): Likewise.
20553 * ordered.c (GOMP_ordered_start): Likewise.
20554
205552005-08-01 Diego Novillo <dnovillo@redhat.com>
20556
20557 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20558 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20559 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20560 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20561 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20562 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20563 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20564 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20565 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20566
205672005-07-07 Eric Christopher <echristo@redhat.com>
20568 Diego Novillo <dnovillo@redhat.com>
20569
20570 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20571 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20572 up code.
20573 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20574 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20575 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20576 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20577 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20578 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20579 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20580
205812005-06-13 Diego Novillo <dnovillo@redhat.com>
20582
20583 * TOPLEVEL.patch: Remove.
20584
205852005-05-16 Richard Henderson <rth@redhat.com>
20586
20587 * configure.ac: Test for clock_gettime.
20588 * config.h.in, configure: Rebuild.
20589 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20590 (omp_get_wtime): Use clock_gettime if available.
20591 (omp_get_wtick): Use clock_getres if available.
20592
205932005-05-11 Richard Henderson <rth@redhat.com>
20594
20595 * config/linux/ia64/futex.h: New file.
20596 * configure.tgt: Use it.
20597
20598 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20599
206002005-05-07 Richard Henderson <rth@redhat.com>
20601
20602 * config/linux/powerpc/futex.h: New file.
20603 * configure.tgt: Use it.
20604
20605 * config/linux/i486/futex.h: Merge ...
20606 * config/linux/x86_64/futex.h: ... into ...
20607 * config/linux/x86/futex.h: ... here.
20608 * configure.tgt: Update to match.
20609
206102005-05-06 Richard Henderson <rth@redhat.com>
20611
20612 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20613 * config/linux/i486/futex.h: Likewise.
20614 * config/linux/x86_64/futex.h: Likewise.
20615
20616 * config/linux/lock.c: New file.
20617 * config/linux/omp-lock.h: New file.
20618
20619 * critical.c, env.h: Don't include omp.h
20620 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20621 * config/posix/time.c: Likewise.
20622 * config/posix/omp-lock.h: New file.
20623 * libgomp.h: Include omp-lock.h and omp.h.
20624 * Makefile.am (nodist_include_HEADERS): New.
20625 (omp.h): New rule.
20626 * configure.ac (PERL): New.
20627 * mkomp_h.pl: New file.
20628 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20629 with templates.
20630 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20631
20632 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20633 build directory. Re-add -march=i486 hack.
20634
20635 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20636 (libgomp_link_flags): Remove.
20637 (libgomp_initialized): Remove.
20638 (libgomp_init): Don't protect from reinitialization. Copy code
20639 from libstdc++ for getting the multilib set correctly.
20640
206412005-05-05 Richard Henderson <rth@redhat.com>
20642
20643 * config/linux/alpha/futex.h: New file.
20644 * configure.tgt (alpha*-*-linux*): Use it.
20645
20646 * config/posix/mutex.c: New file.
20647 * config/posix/sem.c: Use libgomp.h.
20648
20649 * configure.tgt (x86_64-linux): Also test CC for -m32.
20650 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20651
a1daed2d 20652 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
20653 after $gccpath.
20654
20655 * Makefile.am (SUBDIRS): New.
20656 (libgomp_la_LDFLAGS): Add -lpthread.
20657 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20658 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20659
20660 * libgomp_g.h: New file.
20661 * libgomp.h: Split out all public declarations to libgomp_g.h.
20662 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20663 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20664 * config/linux/sem.h: Likewise.
20665 * config/posix/sem.h: Likewise.
20666
20667 * Makefile.am (AM_LDFLAGS): New.
20668 (libgomp_version_script): Split out from ...
20669 (libgomp_la_LDFLAGS): ... here.
20670 (libgomp_version_info): New.
20671 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20672 (LIBGOMP_ENABLE): New.
20673 (LIBGOMP_CHECK_LINKER_FEATURES): New.
20674 (LIBGOMP_ENABLE_SYMVERS): New.
20675 * configure.ac (AC_INIT): Version 1.0.
20676 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20677 (enable-linux-futex): Likewise. Rename from enable-futex.
20678 (libtool_VERSION): New.
20679 (LIBGOMP_ENABLE_SYMVERS): Use it.
20680 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20681 * Makefile.in, aclocal.m4, configure: Rebuild.
20682
20683 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20684 (gomp_mutex_unlock_slow): Fix typo.
20685 * config/linux/sem.c: Similarly.
20686 (gomp_sem_post_slow): Fix typo.
20687 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20688 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20689 [__PIC__] (sys_futex0): Don't use tmp output in asm.
20690
20691 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20692 (libgomp_la_LDFLAGS): Add top_srcdir to path.
20693 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20694 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
20695 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20696 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20697 LDFLAGS. Pull enable_futex check to top-level.
20698 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
20699 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20700
20701 First attempt at real configury.
20702 * Makefile, config.h: Remove file.
20703 * Makefile.am, Makefile.in: New file.
20704 * acinclude.m4 aclocal.m4: New file.
20705 * configure.ac, configure.tgt, configure: New file.
20706
20707 * config/posix/lock.c: Rename from sys-lock.c.
20708 * config/posix/mutex.h: Rename from sys-mutex.h.
20709 * config/posix/sem.c: Rename from sys-sem.c.
20710 * config/posix/sem.h: Rename from sys-sem.h.
20711 * config/posix/proc.c: Rename from sys-proc.c.
20712 * config/posix/time.c: Rename from sys-proc.c.
20713
20714 * config/linux/mutex.c: New file.
20715 * config/linux/mutex.h: New file.
20716 * config/linux/sem.c: New file.
20717 * config/linux/sem.h: New file.
20718 * config/linux/i486/futex.h: New file.
20719 * config/linux/x86_64/futex.h: New file.
20720
207212005-05-04 Richard Henderson <rth@redhat.com>
20722
20723 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20724 * libgomp.h: Declare them.
20725 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20726 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20727
207282005-05-04 Richard Henderson <rth@redhat.com>
20729
20730 * libgomp-1 code drop
20731
207322005-05-04 Richard Henderson <rth@redhat.com>
20733
20734 * iter.c (gomp_iter_static_next): Return tri-state on 0.
20735 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20736 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20737 (gomp_iter_static_next): Update.
20738 (gomp_ordered_static_next): Update.
20739 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20740 (gomp_loop_ordered_static_start): Likewise. Exit early for a
20741 totally empty range.
20742 (gomp_loop_ordered_static_next): Refine test for calling
20743 gomp_ordered_static_next.
20744 * testsuite/ordered-1.c: Add case for more threads than iterations.
20745
20746 * iter.c (gomp_iter_runtime_next_locked): Remove.
20747 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 20748 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
20749 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20750 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20751 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20752 gomp_loop_ordered_guided_next): Downcase name, make static, add
20753 an external alias with the old name.
20754 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20755 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20756 switch and call one of the above static functions.
20757 * libgomp.h: Update.
20758
20759 * work.c (gomp_work_share_start): Lock the mutex for !first too.
20760 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20761 GOMP_loop_guided_start, GOMP_loop_runtime_start,
20762 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20763 GOMP_loop_ordered_guided_start): Update to match.
20764 * sections.c (GOMP_sections_start): Likewise.
20765 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20766
20767 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20768 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20769 Use bounds check instead of modulus.
20770 (gomp_ordered_sync): Split out of GOMP_ordered_start.
20771 (gomp_ordered_last): Don't sync with ordered_owner here.
20772 (gomp_ordered_next): Likewise.
20773 (gomp_ordered_static_loop_next): Likewise.
20774 * loop.c, libgomp.h: Update to match.
20775
20776 * libgomp.h (GOMP_barrier): Declare.
20777
20778 * testsuite/barrier-1.c: New file.
20779 * testsuite/critical-1.c: New file.
20780 * testsuite/ordered-2.c: New file.
20781 * testsuite/ordered-1.c: New file.
20782 * testsuite/sections-1.c: New file.
20783 * testsuite/single-1.c: New file.
20784 * testsuite/Makefile (TESTS): Add them.
20785
207862005-05-04 Richard Henderson <rth@redhat.com>
20787
20788 * libgomp.h (struct gomp_work_share): Add ordered_owner.
20789 * loop.c (GOMP_loop_static_start): If not the startup thread,
20790 acquire the mutex to wait for initialization complete.
20791 (GOMP_loop_ordered_static_start): Likewise.
20792 (GOMP_loop_ordered_runtime_start): Likewise.
20793 (GOMP_loop_ordered_static_first): Remove.
20794 (GOMP_loop_ordered_dynamic_first): Remove.
20795 (GOMP_loop_ordered_guided_first): Remove.
20796 (GOMP_loop_ordered_runtime_first): Remove.
20797 * ordered.c (gomp_ordered_loop_first): Post to own release when
20798 we're the first thread.
20799 (gomp_ordered_loop_last): Wait on release if not owner.
20800 (gomp_ordered_loop_next): Likewise.
20801 (gomp_ordered_static_loop_init): New.
20802 (gomp_ordered_static_loop_next): Use ordered_owner.
20803 (GOMP_ordered_start): Likewise.
20804 * work.c (gomp_new_work_share): Initialize ordered_owner.
20805
208062005-05-03 Richard Henderson <rth@redhat.com>
20807
20808 * Makefile (OPT): New.
20809 (CFLAGS): Use it.
20810
20811 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
20812 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
20813 * libgomp.h, libgomp.map, NOTES: Update to match.
20814
20815 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
20816 Add initialized and thr members.
20817 (gomp_thread_start): Pause when initially spawned to wait for
20818 the whole team to be created.
20819 (gomp_team_start): Release team members at the end.
20820
20821 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
20822 (f_foo_1): Use GOMP_loop_end.
20823 (f_foo_2): Use GOMP_loop_end_nowait.
20824
20825 * testsuite/loop-2.c: New file.
20826 * testsuite/Makefile (TESTS): Add it.
20827
208282005-05-03 Richard Henderson <rth@redhat.com>
20829
20830 * iter.c (gomp_iter_static_next): Fix overflow check typo.
20831 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
20832 * team.c (new_team): Initialize oldest_live_gen to 1 if no
20833 initial work_share.
20834
20835 * testsuite/Makefile: New file.
20836 * testsuite/loop-1.c: New file.
20837
208382005-05-03 Richard Henderson <rth@redhat.com>
20839
20840 Initial implementation and checkin.
21fa2a29 20841\f
68127a8e 20842Copyright (C) 2005-2023 Free Software Foundation, Inc.
21fa2a29
JJ
20843
20844Copying and distribution of this file, with or without modification,
20845are permitted in any medium without royalty provided the copyright
20846notice and this notice are preserved.