]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
f8d266a340a5e25f2f2c215cafaeed5622aa021e
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
2
3 * plugin/plugin-gcn.c (GOMP_OFFLOAD_can_run): Don't consider
4 'GCN_SUPPRESS_HOST_FALLBACK' anymore (assume always-'true').
5 (init_hsa_context): Adjust 'GCN_SUPPRESS_HOST_FALLBACK' error
6 message.
7
8 2024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
9
10 * plugin/plugin-nvptx.c (nvptx_get_num_devices):
11 'cuDeviceGetCount' failure is fatal.
12
13 2024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
14
15 * plugin/plugin-gcn.c (init_hsa_runtime_functions): Fatal error
16 for missing symbols.
17 * plugin/plugin-nvptx.c (init_cuda_lib): Likewise.
18
19 2024-03-06 John David Anglin <danglin@gcc.gnu.org>
20
21 Revert:
22 2024-02-01 John David Anglin <danglin@gcc.gnu.org>
23
24 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
25 on 32-bit hppa.
26 * testsuite/libgomp.c/omp-loop03.c: Likewise.
27
28 2024-03-04 Jakub Jelinek <jakub@redhat.com>
29
30 PR libgomp/114216
31 * target.c (gomp_target_rev): Change host_fn type and corresponding
32 cast from void (*)() to void (*) (void *).
33
34 2024-03-01 Jakub Jelinek <jakub@redhat.com>
35 Tobias Burnus <tburnus@baylibre.com>
36
37 PR c++/110347
38 * testsuite/libgomp.c++/target-lambda-3.C: Moved from
39 gcc/testsuite/g++.dg/gomp/ and fixed is-mapped handling.
40 * testsuite/libgomp.c++/target-lambda-1.C: Modify to also
41 also work without offloading.
42 * testsuite/libgomp.c++/firstprivate-1.C: New test.
43 * testsuite/libgomp.c++/firstprivate-2.C: New test.
44 * testsuite/libgomp.c++/private-1.C: New test.
45 * testsuite/libgomp.c++/private-2.C: New test.
46 * testsuite/libgomp.c++/target-lambda-4.C: New test.
47 * testsuite/libgomp.c++/use_device_ptr-1.C: New test.
48
49 2024-02-27 Tobias Burnus <tburnus@baylibre.com>
50
51 * libgomp.texi (OpenACC Runtime Library Routines): Document new 3.3
52 routines that simply map to their C counterpart.
53 * openacc.f90 (openacc): Add them.
54 * openacc_lib.h: Likewise.
55 * testsuite/libgomp.oacc-fortran/acc_host_device_ptr.f90: New test.
56 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: New test.
57 * testsuite/libgomp.oacc-fortran/acc-memcpy-2.f90: New test.
58 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Crossref to f90 test.
59 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
60 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
61
62 2024-02-21 Tobias Burnus <tburnus@baylibre.com>
63
64 * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional
65 'arch' value for nvptx.
66
67 2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
68
69 * libgomp.texi (OpenMP 5.1): Mark indirect call support as fully
70 implemented.
71
72 2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
73
74 * testsuite/libgomp.fortran/declare-target-indirect-1.f90: New.
75 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: New.
76 * testsuite/libgomp.fortran/declare-target-indirect-3.f90: New.
77
78 2024-02-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
79
80 PR testsuite/113448
81 * testsuite/libgomp.c/alloc-pinned-1.c [!__linux__] (CHECK_SIZE):
82 Call abort.
83 * testsuite/libgomp.c/alloc-pinned-2.c [!__linux__] (CHECK_SIZE):
84 Likewise.
85
86 2024-02-11 John David Anglin <danglin@gcc.gnu.org>
87
88 PR libgomp/113843
89 * configure.tgt (hppa*-*-linux*): Define config_path.
90
91 2024-02-01 John David Anglin <danglin@gcc.gnu.org>
92
93 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
94 on 32-bit hppa.
95 * testsuite/libgomp.c/omp-loop03.c: Likewise.
96
97 2024-01-29 Tobias Burnus <tburnus@baylibre.com>
98
99 * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030
100 function not gfx90a for gfx1100/gfx1030 context selector.
101
102 2024-01-26 Richard Biener <rguenther@suse.de>
103
104 * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out
105 agents with unsupported ISA.
106
107 2024-01-26 Richard Biener <rguenther@suse.de>
108
109 * plugin/plugin-gcn.c
110 (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add.
111 (isa_code): Return that instead of -1.
112 (GOMP_OFFLOAD_init_device): Adjust.
113
114 2024-01-26 Tobias Burnus <tburnus@baylibre.com>
115
116 * testsuite/libgomp.c/declare-variant-4.h: Add variant functions
117 for gfx1030 and gfx1100.
118 * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test.
119 * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test.
120
121 2024-01-26 Andrew Stubbs <ams@baylibre.com>
122
123 * config/gcn/time.c (RTC_TICKS): Configure RDNA3.
124 (omp_get_wtime): Add RDNA3-compatible variant.
125 * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100.
126
127 2024-01-24 Tobias Burnus <tburnus@baylibre.com>
128 Sandra Loosemore <sandra@codesourcery.com>
129
130 * libgomp.texi (Runtime Library Routines): Document
131 omp_pause_resource, omp_pause_resource_all and
132 omp_target_memcpy{,_rect}{,_async}.
133
134 2024-01-22 Tobias Burnus <tburnus@baylibre.com>
135
136 * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
137 support is no longer enabled by default.
138 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
139
140 2024-01-20 John David Anglin <danglin@gcc.gnu.org>
141
142 * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
143 timeout by 2 on hppa*-*-*.
144
145 2024-01-20 John David Anglin <danglin@gcc.gnu.org>
146
147 * testsuite/libgomp.c/simd-math-1.c: Don't run on
148 hppa*-*-hpux*.
149
150 2024-01-17 Jakub Jelinek <jakub@redhat.com>
151
152 PR middle-end/113409
153 * testsuite/libgomp.c/bitint-1.c: New test.
154
155 2024-01-11 Julian Brown <julian@codesourcery.com>
156
157 * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
158 * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
159 * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
160
161 2024-01-10 Jakub Jelinek <jakub@redhat.com>
162
163 PR libgomp/113192
164 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
165 instead of \$(abs_top_srcdir)/testsuite/flock.
166 * configure: Regenerated.
167
168 2024-01-09 Julian Brown <julian@codesourcery.com>
169
170 * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
171 now work.
172 * testsuite/libgomp.c++/baseptrs-6.C: New test.
173 * testsuite/libgomp.c++/ind-base-1.C: New test.
174 * testsuite/libgomp.c++/ind-base-2.C: New test.
175 * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
176 * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
177 * testsuite/libgomp.c++/map-comma-1.C: New test.
178 * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
179 * testsuite/libgomp.c++/struct-ref-1.C: New test.
180 * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
181 * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
182 * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
183
184 2024-01-09 Jakub Jelinek <jakub@redhat.com>
185
186 PR libgomp/113192
187 * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
188 rather than $srcdir/testsuite/flock.
189 * configure: Regenerated.
190
191 2024-01-08 Thomas Schwinge <thomas@codesourcery.com>
192
193 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
194 'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
195
196 2024-01-08 Julian Brown <julian@codesourcery.com>
197
198 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
199 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
200 hsa_amd_memory_async_copy_rect_fn function pointers.
201 (init_hsa_runtime_functions): Add above functions, with
202 DLSYM_OPT_FN.
203 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
204
205 2024-01-08 Tobias Burnus <tobias@codesourcery.com>
206
207 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
208 (gcn_isa_name_len): Fix length.
209 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
210
211 2024-01-06 Tobias Burnus <tobias@codesourcery.com>
212
213 * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
214 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
215 omp_target_is_accessible.
216 (Environment Display Routine): Uncomment and add
217 omp_display_env description.
218 (OMP_DISPLAY_ENV): Update wording, add 'see also'.
219
220 2024-01-06 Mark Wielaard <mark@klomp.org>
221
222 * configure: Regenerate.
223
224 2024-01-03 Jakub Jelinek <jakub@redhat.com>
225
226 * libgomp.texi: Bump @copying's copyright year.
227
228 2023-12-21 Julian Brown <julian@codesourcery.com>
229
230 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
231
232 2023-12-20 Julian Brown <julian@codesourcery.com>
233
234 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
235 avoid out-of-bounds array checks in CUDA runtime.
236 (GOMP_OFFLOAD_memcpy3d): Likewise.
237 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
238
239 2023-12-18 Jakub Jelinek <jakub@redhat.com>
240
241 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
242 drop because of that unneeded target selector from other directives
243 and remove the aarch64 specific ones.
244
245 2023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
246
247 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
248 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
249
250 2023-12-15 Thomas Schwinge <thomas@codesourcery.com>
251
252 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
253 'dg-output's to 'target offload_device_nonshared_as'.
254
255 2023-12-15 Julian Brown <julian@codesourcery.com>
256
257 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
258 goacc_exit_data_internal, GOACC_enter_exit_data): Add
259 GOMP_MAP_STRUCT_UNORD support.
260 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
261 Detect incorrect use of variable indexing of arrays of structs.
262 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
263 GOMP_MAP_STRUCT_UNORD support.
264 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
265 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
266 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
267 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
268
269 2023-12-13 Julian Brown <julian@codesourcery.com>
270
271 * testsuite/libgomp.fortran/map-subarray.f90: New test.
272 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
273 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
274 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
275 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
276 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
277 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
278 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
279 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
280 descriptor-mapping changes. Remove XFAIL.
281
282 2023-12-13 Julian Brown <julian@codesourcery.com>
283
284 * target.c (gomp_map_pointer): Modify zero-length array section
285 pointer handling.
286 (gomp_attach_pointer): Likewise.
287 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
288 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
289 "unassociated" pointers).
290 (gomp_map_vars_internal): Handle zero-sized struct members. Add
291 diagnostic for unmapped struct pointer members.
292 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
293 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
294 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
295 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
296 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
297 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
298 "free".
299 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
300 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
301 * testsuite/libgomp.c++/class-array-1.C: New test.
302 * testsuite/libgomp.c++/baseptrs-3.C: New test.
303 * testsuite/libgomp.c++/baseptrs-4.C: New test.
304 * testsuite/libgomp.c++/baseptrs-5.C: New test.
305 * testsuite/libgomp.c++/baseptrs-8.C: New test.
306 * testsuite/libgomp.c++/baseptrs-9.C: New test.
307 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
308 * testsuite/libgomp.c++/target-48.C: New test.
309 * testsuite/libgomp.c++/target-49.C: New test.
310 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
311 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
312 semantics.
313 * testsuite/libgomp.c++/target-this-3.C: Likewise.
314 * testsuite/libgomp.c++/target-this-4.C: Likewise.
315 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
316 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
317
318 2023-12-13 Thomas Schwinge <thomas@codesourcery.com>
319
320 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
321 vs. '%ld' format string mismatch.
322
323 2023-12-13 Andrew Stubbs <ams@codesourcery.com>
324 Thomas Schwinge <thomas@codesourcery.com>
325
326 * allocator.c (MEMSPACE_ALLOC): Add PIN.
327 (MEMSPACE_CALLOC): Add PIN.
328 (MEMSPACE_REALLOC): Add PIN.
329 (MEMSPACE_FREE): Add PIN.
330 (MEMSPACE_VALIDATE): Add PIN.
331 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
332 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
333 (omp_aligned_calloc): Likewise.
334 (omp_realloc): Likewise.
335 (omp_free): Likewise.
336 * config/linux/allocator.c: New file.
337 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
338 (MEMSPACE_CALLOC): Add PIN.
339 (MEMSPACE_REALLOC): Add PIN.
340 (MEMSPACE_FREE): Add PIN.
341 (MEMSPACE_VALIDATE): Add PIN.
342 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
343 (MEMSPACE_CALLOC): Add PIN.
344 (MEMSPACE_REALLOC): Add PIN.
345 (MEMSPACE_FREE): Add PIN.
346 * libgomp.texi: Switch pinned trait to supported.
347 (MEMSPACE_VALIDATE): Add PIN.
348 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
349 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
350 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
351 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
352
353 2023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
354
355 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
356 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
357 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
358
359 2023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
360
361 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
362 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
363
364 2023-12-11 Tobias Burnus <tobias@codesourcery.com>
365
366 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
367
368 2023-12-08 Tobias Burnus <tobias@codesourcery.com>
369
370 * allocator.c (struct fort_alloc_splay_tree_key_s,
371 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
372 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
373 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
374 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
375 (GOMP_5.1.1): ... here.
376 * libgomp.texi (Impl. Status, Memory management): Update for
377 allocators/allocate directives.
378 * splay-tree.c: Handle splay_tree_static define to declare all
379 functions as static.
380 (splay_tree_lookup_node): New.
381 * splay-tree.h: Handle splay_tree_decl_only define.
382 (splay_tree_lookup_node): New prototype.
383 * target.c: Define splay_tree_static for 'reverse'.
384 * testsuite/libgomp.fortran/allocators-1.f90: New test.
385 * testsuite/libgomp.fortran/allocators-2.f90: New test.
386 * testsuite/libgomp.fortran/allocators-3.f90: New test.
387 * testsuite/libgomp.fortran/allocators-4.f90: New test.
388 * testsuite/libgomp.fortran/allocators-5.f90: New test.
389
390 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
391
392 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
393 (TEAM_ARENA_FREE): Likewise.
394 (TEAM_ARENA_END): Likewise.
395 (GCN_LOWLAT_HEAP): New.
396 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
397 (__gcn_lowlat_init): New prototype.
398 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
399 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
400 (TEAM_ARENA_FREE): Likewise.
401 (TEAM_ARENA_END): Likewise.
402 * plugin/plugin-gcn.c (lowlat_size): New variable.
403 (print_kernel_dispatch): Label the group_segment_size purpose.
404 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
405 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
406 (run_kernel): Use shadow; don't assume values.
407 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
408 * config/gcn/allocator.c: New file.
409 * libgomp.texi: Document low-latency implementation details.
410
411 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
412
413 * allocator.c (MEMSPACE_VALIDATE): New macro.
414 (omp_init_allocator): Use MEMSPACE_VALIDATE.
415 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
416 (omp_aligned_calloc): Likewise.
417 (omp_realloc): Likewise.
418 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
419 (MEMSPACE_VALIDATE): New macro.
420 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
421 * libgomp.texi: Document low-latency implementation details.
422 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
423 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
424 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
425 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
426 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
427 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
428 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
429
430 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
431 Kwok Cheung Yeung <kcy@codesourcery.com>
432 Thomas Schwinge <thomas@codesourcery.com>
433
434 * allocator.c (MEMSPACE_ALLOC): New macro.
435 (MEMSPACE_CALLOC): New macro.
436 (MEMSPACE_REALLOC): New macro.
437 (MEMSPACE_FREE): New macro.
438 (predefined_alloc_mapping): New array. Add _Static_assert to match.
439 (ARRAY_SIZE): New macro.
440 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
441 Implement fall-backs for predefined allocators. Simplify existing
442 fall-backs.
443 (omp_free): Use MEMSPACE_FREE.
444 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
445 predefined allocators. Simplify existing fall-backs.
446 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
447 Implement fall-backs for predefined allocators. Simplify existing
448 fall-backs.
449 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
450 (__nvptx_lowlat_init): New prototype.
451 (gomp_nvptx_main): Call __nvptx_lowlat_init.
452 * libgomp.texi: Update memory space table.
453 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
454 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
455 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
456 * basic-allocator.c: New file.
457 * config/nvptx/allocator.c: New file.
458 * testsuite/libgomp.c/omp_alloc-1.c: New test.
459 * testsuite/libgomp.c/omp_alloc-2.c: New test.
460 * testsuite/libgomp.c/omp_alloc-3.c: New test.
461 * testsuite/libgomp.c/omp_alloc-4.c: New test.
462 * testsuite/libgomp.c/omp_alloc-5.c: New test.
463 * testsuite/libgomp.c/omp_alloc-6.c: New test.
464
465 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
466
467 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
468 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
469 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
470 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
471 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
472 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
473 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
474 * testsuite/libgomp.c/declare-variant-4.c: New.
475
476 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
477
478 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
479 into 'dg-do link'.
480 * testsuite/libgomp.c/declare-variant-3.c: New.
481 * testsuite/libgomp.c/declare-variant-3.h: Extend.
482
483 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
484
485 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
486 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
487 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
488 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
489 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
490 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
491 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
492 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
493 'scan-offload-tree-dump' to
494 'only_for_offload_target amdgcn-amdhsa'.
495 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
496 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
497 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
498 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
499 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
500
501 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
502
503 * testsuite/libgomp.c/declare-variant-3-sm30.c:
504 'dg-additional-options -foffload=nvptx-none'.
505 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
506 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
507 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
508 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
509 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
510
511 2023-11-29 Thomas Schwinge <thomas@codesourcery.com>
512
513 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
514 'scan-offload-ipa-dump's to
515 'only_for_offload_target amdgcn-amdhsa'.
516 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
517 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
518
519 2023-11-24 Tobias Burnus <tobias@codesourcery.com>
520
521 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
522 is now supported.
523
524 2023-11-22 Thomas Schwinge <thomas@codesourcery.com>
525
526 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
527 (f75, f80, f): Add '__attribute__ ((noipa))'.
528 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
529 (gfx908, gfx90a, f): Likewise.
530
531 2023-11-15 Andrew Stubbs <ams@codesourcery.com>
532 Andrew Jenner <andrew@codesourcery.com>
533
534 * plugin/plugin-gcn.c (max_isa_vgprs): New.
535 (run_kernel): CDNA2 devices have more VGPRs.
536
537 2023-11-10 Tobias Burnus <tobias@codesourcery.com>
538
539 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
540 renamed section from TR11.
541
542 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
543
544 * config/linux/target-indirect.c: Move to...
545 * target-indirect.c: ...here.
546
547 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
548
549 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
550 * Makefile.in: Regenerate.
551 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
552 (GOMP_OFFLOAD_load_image): Add extra argument.
553 * libgomp.h (struct indirect_splay_tree_key_s): New.
554 (indirect_splay_tree_node, indirect_splay_tree,
555 indirect_splay_tree_key): New.
556 (indirect_splay_compare): New.
557 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
558 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
559 calls in target region and on indirect clause.
560 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
561 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
562 * oacc-host.c (host_load_image): Add extra argument.
563 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
564 enough, read host indirect functions table and pass to
565 load_image_func.
566 * config/accel/target-indirect.c: New.
567 * config/linux/target-indirect.c: New.
568 * config/gcn/team.c (build_indirect_map): Add prototype.
569 (gomp_gcn_enter_kernel): Initialize support for indirect
570 function calls on GCN target.
571 * config/nvptx/team.c (build_indirect_map): Add prototype.
572 (gomp_nvptx_main): Initialize support for indirect function
573 calls on NVPTX target.
574 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
575 indirect functions count.
576 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
577 is high enough, build address translation table and copy it to target
578 memory.
579 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
580 functions count.
581 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
582 is high enough, Build address translation table and copy it to target
583 memory.
584 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
585 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
586 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
587
588 2023-11-05 Jakub Jelinek <jakub@redhat.com>
589
590 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
591 supported also in C.
592
593 2023-10-31 Thomas Schwinge <thomas@codesourcery.com>
594
595 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
596 'acc_map_data' variant.
597
598 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
599
600 * oacc-parallel.c (GOACC_data_start): Handle
601 'GOACC_FLAG_LOCAL_DEVICE'.
602 (GOACC_parallel_keyed): Simplify accordingly.
603 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
604
605 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
606
607 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
608 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
609 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
610 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
611 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
612
613 2023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
614
615 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
616 GOACC_FLAG_LOCAL_DEVICE case.
617 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
618
619 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
620
621 * Makefile.am: Handle Darwin rpaths.
622 * Makefile.in: Regenerate.
623 * configure: Regenerate.
624 * configure.ac: Handle Darwin rpaths
625
626 2023-10-20 Andrew Stubbs <ams@codesourcery.com>
627
628 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
629 (isa_hsa_name): Recognise gfx1030.
630 (isa_code): Likewise.
631 * team.c (defined): Remove s_endpgm.
632
633 2023-10-20 Tobias Burnus <tobias@codesourcery.com>
634
635 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
636 _OPENMP >= 201811.
637
638 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
639
640 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
641 improve wording especially for Fortran; mention -fopenmp-simd.
642 (Enabling OpenACC): Minor cleanup; remove conditional compilation
643 sentinel.
644
645 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
646
647 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
648 Actually document what the function does.
649 (GCC_ACC_NOTIFY): Remove unused env var.
650
651 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
652
653 * libgomp.texi: Replace most future tense by present tense.
654
655 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
656
657 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
658 dg-additional-options "-fdump-tree-gimple"; fix scan.
659
660 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
661
662 * libgomp.texi: Fix some typos.
663 (Memory Management Routines): Document remaining 5.x routines.
664 (Memory allocation): Make clear when the section applies.
665
666 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
667
668 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
669 supports the allocate directive for stack variables.
670 * testsuite/libgomp.fortran/allocate-5.f90: New test.
671 * testsuite/libgomp.fortran/allocate-6.f90: New test.
672 * testsuite/libgomp.fortran/allocate-7.f90: New test.
673 * testsuite/libgomp.fortran/allocate-8.f90: New test.
674
675 2023-10-12 Tobias Burnus <tobias@codesourcery.com>
676
677 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
678 OMP_TARGET_OFFLOAD.
679 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
680 clarify MANDATORY behavior.
681
682 2023-10-12 Zhang, Jun <jun.zhang@intel.com>
683
684 * env.c (initialize_env): Use do_adjust_default_spincount.
685 * config/linux/x86/spincount.h: New file.
686
687 2023-10-08 Tobias Burnus <tobias@codesourcery.com>
688
689 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
690
691 2023-10-06 Tobias Burnus <tobias@codesourcery.com>
692
693 * libgomp.texi (Device Memory Routines): New.
694
695 2023-10-04 Tobias Burnus <tobias@codesourcery.com>
696
697 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
698 and that other target archs have no 'arch'/'isa' traits implemented.
699
700 2023-09-20 Tobias Burnus <tobias@codesourcery.com>
701
702 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
703 implemented for C only.
704 * testsuite/libgomp.c/allocate-4.c: New test.
705 * testsuite/libgomp.c/allocate-5.c: New test.
706 * testsuite/libgomp.c/allocate-6.c: New test.
707
708 2023-09-20 Jakub Jelinek <jakub@redhat.com>
709
710 PR c++/111392
711 * libgomp.texi: Mark decl attribute was added to the C++ attribute
712 syntax as implemented.
713
714 2023-09-19 Jakub Jelinek <jakub@redhat.com>
715
716 PR libgomp/111413
717 * env.c (initialize_env): Don't dereference environ if it is NULL.
718 Reindent.
719
720 2023-09-18 Richard Biener <rguenther@suse.de>
721
722 PR tree-optimization/111294
723 * team.c (gomp_team_start): Assert alloca size to avoid false
724 positive alloc-size diagnostic.
725
726 2023-09-12 Thomas Schwinge <thomas@codesourcery.com>
727 Chung-Lin Tang <cltang@codesourcery.com>
728
729 PR testsuite/91884
730 PR testsuite/109951
731 * configure.ac: Revert earlier changes, instead
732 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
733 * Makefile.in: Regenerate.
734 * configure: Likewise.
735 * testsuite/Makefile.in: Likewise.
736 * testsuite/lib/libgomp.exp (libgomp_init): Remove
737 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
738 If '--with-build-sysroot=[...]' was specified, use it for
739 build-tree testing.
740 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
741 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
742 (SYSROOT_CFLAGS_FOR_TARGET): Set.
743 * testsuite/libgomp.c++/c++.exp (lang_source_re)
744 (lang_include_flags): Set for build-tree testing.
745 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
746 (lang_include_flags): Likewise.
747
748 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
749
750 * libgomp.texi (Memory Management Routines): New; add documentation for
751 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
752 omp_get_default_allocator.
753 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
754
755 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
756
757 * target.c (gomp_unload_device): Remove tailing whitespace.
758
759 2023-09-04 Tobias Burnus <tobias@codesourcery.com>
760 Thomas Schwinge <thomas@codesourcery.com>
761
762 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
763
764 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
765
766 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
767
768 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
769
770 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
771 * testsuite/libgomp.fortran/imperfect1.f90: New.
772 * testsuite/libgomp.fortran/imperfect2.f90: New.
773 * testsuite/libgomp.fortran/imperfect3.f90: New.
774 * testsuite/libgomp.fortran/imperfect4.f90: New.
775 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
776 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
777 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
778 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
779
780 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
781
782 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
783 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
784 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
785 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
786 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
787 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
788 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
789 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
790 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
791 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
792
793 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
794
795 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
796 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
797 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
798 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
799 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
800 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
801 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
802 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
803 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
804 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
805 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
806 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
807 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
808
809 2023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
810
811 * testsuite/lib/libgomp.exp: Add effective target.
812 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
813 functions.
814
815 2023-08-22 Tobias Burnus <tobias@codesourcery.com>
816
817 * libgomp.texi (OpenMP 5.2 status): Add depobj with
818 destroy-var argument as 'N'. Mark defaultmap with
819 'all' category as 'Y'.
820
821 2023-08-19 Tobias Burnus <tobias@codesourcery.com>
822
823 PR middle-end/111017
824 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
825
826 2023-08-17 Tobias Burnus <tobias@codesourcery.com>
827
828 PR libgomp/111024
829 * allocator.c (gomp_init_libnuma): Call numa_available; if
830 not available or not returning 0, disable libnuma usage.
831
832 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
833
834 * configure: Regenerate.
835
836 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
837
838 * configure: Regenerate.
839
840 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
841
842 * configure: Regenerate.
843
844 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
845
846 * configure: Regenerate.
847
848 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
849
850 * configure: Regenerate.
851
852 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
853
854 * configure: Regenerate.
855
856 2023-07-29 Tobias Burnus <tobias@codesourcery.com>
857
858 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
859 GOMP_OFFLOAD_CAP_SHARED_MEM.
860 (omp_target_memcpy_rect_copy): Likewise for lock condition.
861 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
862 memcpy3d/memcpy2d.
863 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
864 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
865 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
866
867 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
868
869 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
870 GOMP_OFFLOAD_memcpy3d): New prototypes.
871 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
872 and memcpy3d_func.
873 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
874 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
875 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
876 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
877 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
878 GOMP_OFFLOAD_memcpy3d): New.
879 * target.c (omp_target_memcpy_rect_worker):
880 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
881 Permit all device-to-device copyies; invoke new plugins for
882 2D and 3D copying when available.
883 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
884 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
885 * testsuite/libgomp.fortran/target-12.f90: Likewise.
886 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
887
888 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
889
890 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
891 (Tasking Routines): Document omp_in_explicit_task.
892 (Implementation-defined ICV Initialization): Use @ref not @code.
893
894 2023-07-20 Tobias Burnus <tobias@codesourcery.com>
895
896 * libgomp.texi (OpenMP Runtime Library Routines):
897 Split long list by adding sections and moving routines there.
898 (OMP_ALLOCATORS): Fix typo.
899
900 2023-07-19 Tobias Burnus <tobias@codesourcery.com>
901
902 PR fortran/107424
903 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
904 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
905 commented tests.
906 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
907 test file; tests are in non-rectangular-loop-1.f90.
908 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
909 testcase to use a non-constant step to retain the 'sorry' test.
910 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
911
912 2023-07-17 Tobias Burnus <tobias@codesoucery.com>
913 Chung-Lin Tang <cltang@codesourcery.com>
914
915 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
916 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
917
918 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
919
920 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
921 the traits. Add crossref to 'Memory allocation'.
922 (Memory allocation): Refer to OMP_ALLOCATOR for the available
923 traits and allocators/mem spaces; document the default value
924 for the pool_size trait.
925
926 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
927
928 * allocator.c (omp_init_allocator): Check whether symbol from
929 dlopened libnuma is available before using libnuma for
930 allocations.
931
932 2023-07-13 David Edelsohn <dje.gcc@gmail.com>
933
934 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
935 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
936 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
937
938 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
939
940 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
941 'Memory allocation' section which contains the full status.
942 (TR11): Remove differently worded duplicated entry.
943
944 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
945
946 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
947 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
948 add GOMP_MEMKIND_LIBNUMA.
949 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
950 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
951 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
952 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
953 needed.
954 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
955 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
956 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
957 updated for libnuma usage.
958 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
959 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
960
961 2023-07-11 Tobias Burnus <tobias@codesourcery.com>
962
963 * allocator.c (omp_init_allocator): Use malloc for
964 omp_high_bw_mem_space when the memkind lib is unavailable
965 instead of returning omp_null_allocator.
966 * libgomp.texi (OpenMP 5.0): Fix typo.
967 (Memory allocation with libmemkind): Document implementation
968 in more detail.
969
970 2023-06-22 Tobias Burnus <tobias@codesourcery.com>
971
972 * libgomp.texi: Use @var for ICV vars.
973 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
974 document which ICV is set and which scope the ICV has; extend/cleanup
975 some @ref.
976 (Implementation-defined ICV Initialization): New.
977 (nvptx): Document the implementation-defined used per-warp stack size.
978
979 2023-06-19 Thomas Schwinge <thomas@codesourcery.com>
980
981 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
982 error.
983
984 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
985
986 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
987 as expected dg-output.
988
989 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
990
991 PR middle-end/110270
992 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
993 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
994 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
995 * testsuite/libgomp.c/target-19.c: Update expected value.
996 * testsuite/libgomp.c++/target-18.C: Likewise.
997 * testsuite/libgomp.c++/target-19.C: Likewise.
998 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
999 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
1000 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
1001
1002 2023-06-16 Tobias Burnus <tobias@codesourcery.com>
1003
1004 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
1005 gomp_init_targets_once was called before using default-device-var.
1006 * testsuite/libgomp.c/target-55.c: New test.
1007 * testsuite/libgomp.c/target-55a.c: New test.
1008
1009 2023-06-15 Tobias Burnus <tobias@codesourcery.com>
1010
1011 * env.c (gomp_def_allocator_envvar): New var.
1012 (parse_allocator): Handle OpenMP 5.1 syntax.
1013 (cleanup_env): New.
1014 (omp_display_env): Output gomp_def_allocator_envvar
1015 for an allocator with traits.
1016 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
1017 OMP_DISPLAY_AFFINITY): New.
1018 * testsuite/libgomp.c/allocator-1.c: New test.
1019 * testsuite/libgomp.c/allocator-2.c: New test.
1020 * testsuite/libgomp.c/allocator-3.c: New test.
1021 * testsuite/libgomp.c/allocator-4.c: New test.
1022 * testsuite/libgomp.c/allocator-5.c: New test.
1023 * testsuite/libgomp.c/allocator-6.c: New test.
1024
1025 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1026
1027 * target.c (resolve_device): Align a
1028 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
1029 * testsuite/libgomp.c/target-51.c: Adjust.
1030
1031 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1032
1033 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
1034 set.
1035 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
1036 Likewise.
1037 * testsuite/libgomp.c/simd-math-1.c: Remove
1038 '-foffload-options=-lm'.
1039 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
1040 Likewise.
1041 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1042 Likewise.
1043
1044 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1045
1046 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
1047 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1048 Likewise.
1049
1050 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1051
1052 * testsuite/libgomp.c/target-51.c: Fix typo.
1053
1054 2023-06-14 Tobias Burnus <tobias@codesourcery.com>
1055
1056 * env.c (gomp_default_icv_values): Init default_device_var to
1057 an nonconforming value - INT_MIN.
1058 (initialize_env): After env-var parsing, set default_device_var to
1059 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
1060 (omp_display_env): If default_device_var is INT_MIN, call
1061 gomp_init_targets_once.
1062 * icv-device.c (omp_get_default_device): Likewise.
1063 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
1064 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
1065 * target.c (resolve_device): Improve error message device-num < 0
1066 with 'mandatory' and no no-host devices available.
1067 (gomp_target_init): Set default-device-var if INT_MIN.
1068 * testsuite/libgomp.c/target-48.c: New test.
1069 * testsuite/libgomp.c/target-49.c: New test.
1070 * testsuite/libgomp.c/target-50.c: New test.
1071 * testsuite/libgomp.c/target-50a.c: New test.
1072 * testsuite/libgomp.c/target-51.c: New test.
1073 * testsuite/libgomp.c/target-52.c: New test.
1074 * testsuite/libgomp.c/target-53.c: New test.
1075 * testsuite/libgomp.c/target-54.c: New test.
1076
1077 2023-06-13 Tobias Burnus <tobias@codesourcery.com>
1078
1079 PR libgomp/109837
1080 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
1081 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
1082
1083 2023-06-12 Tobias Burnus <tobias@codesourcery.com>
1084
1085 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
1086 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
1087 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
1088 error message.
1089 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
1090 changed error message.
1091 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1092 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
1093 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1094 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
1095 extend testcase to check that data is copied when needed.
1096 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1097 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1098
1099 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
1100 Tobias Burnus <tobias@codesourcery.com>
1101
1102 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
1103 also for non-offload_device targets; check that it runs
1104 successfully for those and for all until a checkpoint for all
1105 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
1106 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1107 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1108 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1109 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
1110 add missing vars to map clause.
1111
1112 2023-06-06 Tobias Burnus <tobias@codesourcery.com>
1113
1114 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
1115 unified_address requirement as supported.
1116 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
1117 'unified_address' from the not-supported requirements.
1118
1119 2023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1120 Tobias Burnus <tobias@codesourcery.com>
1121
1122 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
1123 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
1124 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
1125 modifier.
1126 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
1127 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
1128 Emit runtime error if memory region not present.
1129 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
1130 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
1131 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
1132 * testsuite/libgomp.fortran/target-present-1.f90: New test.
1133 * testsuite/libgomp.fortran/target-present-2.f90: New test.
1134 * testsuite/libgomp.fortran/target-present-3.f90: New test.
1135
1136 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1137
1138 PR testsuite/66005
1139 * testsuite/lib/libgomp.exp: 'flock' through stdout.
1140 * testsuite/flock: New.
1141 * configure.ac (FLOCK): Point to that if no 'flock' available, but
1142 'perl' is.
1143 * configure: Regenerate.
1144
1145 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1146
1147 * configure.ac (PERL): Remove.
1148 * configure: Regenerate.
1149 * Makefile.in: Likewise.
1150 * testsuite/Makefile.in: Likewise.
1151
1152 2023-06-01 Tobias Burnus <tobias@codesourcery.com>
1153
1154 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1155
1156 2023-05-26 Tobias Burnus <tobias@codesourcery.com>
1157
1158 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1159
1160 2023-05-21 Tobias Burnus <tobias@codesourcery.com>
1161
1162 PR libgomp/109875
1163 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1164 * config/nvptx/target.c (GOMP_teams4): Likewise.
1165 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1166 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1167 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1168 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1169
1170 2023-05-19 Jakub Jelinek <jakub@redhat.com>
1171
1172 PR libgomp/109904
1173 * configure.ac (link_gomp): Include also $DL_LIBS.
1174 * configure: Regenerated.
1175
1176 2023-05-17 Tobias Burnus <tobias@codesourcery.com>
1177
1178 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1179 'target exit data'.
1180 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1181 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1182 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1183 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1184
1185 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1186
1187 PR testsuite/66005
1188 * configure.ac: Look for 'flock'.
1189 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1190 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1191 * testsuite/lib/libgomp.exp: ... but here, instead.
1192 (libgomp_load): Override for parallel testing.
1193 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1194 * configure: Regenerate.
1195 * Makefile.in: Regenerate.
1196 * testsuite/Makefile.in: Regenerate.
1197
1198 2023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1199 Thomas Schwinge <thomas@codesourcery.com>
1200
1201 PR testsuite/66005
1202 * testsuite/Makefile.am (PWD_COMMAND): New variable.
1203 (%/site.exp): New target.
1204 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1205 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1206 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1207 (check_p_subdirs)
1208 (check_DEJAGNU_libgomp_targets): New variables.
1209 ($(check_DEJAGNU_libgomp_targets)): New target.
1210 ($(check_DEJAGNU_libgomp_targets)): New dependency.
1211 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1212 * testsuite/Makefile.in: Regenerate.
1213 * testsuite/lib/libgomp.exp: For parallel testing,
1214 'load_file ../libgomp-test-support.exp'.
1215
1216 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1217
1218 PR testsuite/91884
1219 * configure.ac: 'AC_SUBST(CXX)'.
1220 * configure: Regenerate.
1221 * Makefile.in: Likewise.
1222 * testsuite/Makefile.in: Likewise.
1223 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1224 (GFORTRAN_UNDER_TEST): Set.
1225 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1226 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1227 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1228 * testsuite/libgomp.fortran/fortran.exp: Use
1229 'GFORTRAN_UNDER_TEST'.
1230 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1231
1232 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1233
1234 PR testsuite/91884
1235 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1236 specify compiler.
1237 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1238 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1239 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1240 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1241 Likewise.
1242 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1243 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1244 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1245 Likewise.
1246
1247 2023-05-12 Tobias Burnus <tobias@codesourcery.com>
1248
1249 PR libstdc++/109816
1250 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1251 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1252
1253 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1254
1255 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1256 'lang_library_path' into a list of 'lang_library_paths'.
1257 * testsuite/libgomp.c++/c++.exp: Adjust.
1258 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1259 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1260 libquadmath, too.
1261 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1262
1263 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1264
1265 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1266 at 'lang_test_file_found'.
1267 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1268 'return' early if not able to test. Simplify 'ld_library_path' setup.
1269 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1270 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1271 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1272
1273 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1274
1275 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1276 first.
1277 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1278 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1279 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1280
1281 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1282
1283 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1284 * testsuite/libgomp.c/c.exp: Likewise.
1285 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1286 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1287 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1288 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1289 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1290
1291 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1292
1293 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1294 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1295 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1296 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1297 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1298 'lang_test_file'.
1299 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1300 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1301 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1302 'lang_test_file_found' instead of 'lang_test_file'.
1303
1304 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1305
1306 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1307 set.
1308 * testsuite/libgomp.c++/c++.exp: Likewise.
1309 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1310
1311 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1312
1313 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1314 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1315
1316 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1317
1318 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1319 of 'libstdcxx_includes'.
1320 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1321
1322 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1323
1324 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1325 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1326 * libgomp.h (gomp_target_rev): Adjust.
1327 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1328 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1329 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1330 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1331 (rev_off_host_to_dev_cpy): Remove.
1332 (GOMP_OFFLOAD_run): Adjust.
1333
1334 2023-05-04 Julian Brown <julian@codesourcery.com>
1335
1336 PR fortran/109622
1337 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1338 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1339 vector length warning.
1340 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1341 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1342 missing copyin/copyout variable. Ignore vector length warnings.
1343 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1344 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1345 vector length warnings.
1346 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1347
1348 2023-04-28 Julian Brown <julian@codesourcery.com>
1349
1350 PR fortran/109622
1351 * testsuite/libgomp.fortran/pr109622.f90: New test.
1352 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1353 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1354
1355 2023-04-25 Tobias Burnus <tobias@codesourcery.com>
1356
1357 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1358 * testsuite/libgomp.c/scan-23.c: New test.
1359 * testsuite/libgomp.fortran/scan-2.f90: New test.
1360
1361 2023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1362
1363 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1364 weak_undefined options.
1365
1366 2023-03-24 Tobias Burnus <tobias@codesourcery.com>
1367
1368 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1369
1370 2023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1371
1372 PR fortran/104949
1373 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1374 caveat/safeguard.
1375
1376 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1377
1378 PR libgomp/90596
1379 * target.c (gomp_map_vars_internal): Allow for
1380 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1381 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1382 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1383 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1384 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1385 Adjust, simplify.
1386 (gomp_offload_free): Remove.
1387 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1388 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1389 (cuda_free_argmem): Remove.
1390 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1391 Adjust.
1392
1393 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1394
1395 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1396 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1397 data.
1398
1399 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1400
1401 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1402 'GOMP_MAP_IF_PRESENT'.
1403 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1404 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1405 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1406 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1407 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1408 testing.
1409 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1410
1411 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1412
1413 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1414 shortcut.
1415
1416 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1417
1418 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1419 another aspect of OpenACC 'async' semantics.
1420
1421 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1422
1423 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1424 position.
1425 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1426 Verify 'acc_ev_alloc', 'acc_ev_free'.
1427
1428 2023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1429
1430 PR libgomp/109062
1431 * env.c (wait_policy): Initialize to -1.
1432 (initialize_icvs): Initialize icvs->wait_policy to -1.
1433 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1434
1435 2023-03-08 Tobias Burnus <tobias@codesourcery.com>
1436
1437 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1438
1439 2023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1440 Paul-Antoine Arras <pa@codesourcery.com>
1441
1442 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1443
1444 2023-03-01 Tobias Burnus <tobias@codesourcery.com>
1445
1446 PR middle-end/108546
1447 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1448 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1449
1450 2023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1451
1452 * testsuite/libgomp.fortran/alloc-10.f90: Use
1453 '-Wno-complain-wrong-lang'.
1454 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1455 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1456 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1457 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1458 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1459 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1460 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1461 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1462 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1463 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1464 Likewise.
1465 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1466 Likewise.
1467 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1468 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1469 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1470 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1471 'dg-prune-output'.
1472
1473 2023-02-16 Jakub Jelinek <jakub@redhat.com>
1474
1475 * libgomp.texi: Fix typos - theads -> threads.
1476
1477 2023-02-16 Jakub Jelinek <jakub@redhat.com>
1478
1479 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1480 comment typo and improve its wording.
1481
1482 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
1483
1484 * target.c (gomp_target_rev): Dereference ptr
1485 to get device address.
1486 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1487 for unallocated allocatable.
1488
1489 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
1490
1491 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1492 kind check.
1493 (GOMP_target_enter_exit_data): If the next map item is
1494 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1495 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1496
1497 2023-02-09 Tobias Burnus <tobias@codesourcery.com>
1498
1499 PR fortran/107424
1500 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1501 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1502 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1503 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1504 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1505 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1506
1507 2023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1508
1509 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1510 offloading compilation.
1511
1512 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
1513
1514 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1515 freeing not allocated memory.
1516 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1517
1518 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
1519
1520 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1521 reverse offload.
1522 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1523 reverse-offload requirement.
1524
1525 2023-02-02 Andrew Stubbs <ams@codesourcery.com>
1526
1527 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1528 (DEFAULT_TEAM_ARENA_SIZE): New define.
1529 (struct heap): Move to this file.
1530 (struct kernargs_abi): Likewise.
1531 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1532 the kernargs.
1533 * libgomp.h: Include libgomp-gcn.h.
1534 (TEAM_ARENA_SIZE): Remove.
1535 (team_malloc): Update the error message.
1536 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1537 struct kernargs_abi.
1538 (struct agent_info): Rename team arenas to ephemeral memories.
1539 (struct team_arena_list): Rename ....
1540 (struct ephemeral_memories_list): to this.
1541 (struct heap): Delete.
1542 (team_arena_size): New variable.
1543 (stack_size): New variable.
1544 (print_kernel_dispatch): Update debug messages.
1545 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1546 Read GCN_STACK_SIZE.
1547 (get_team_arena): Rename ...
1548 (configure_ephemeral_memories): ... to this, and set up stacks.
1549 (release_team_arena): Rename ...
1550 (release_ephemeral_memories): ... to this.
1551 (destroy_team_arenas): Rename ...
1552 (destroy_ephemeral_memories): ... to this.
1553 (create_kernel_dispatch): Add num_threads parameter.
1554 Adjust for kernargs_abi refactor and ephemeral memories.
1555 (release_kernel_dispatch): Adjust for ephemeral memories.
1556 (run_kernel): Pass thread-count to create_kernel_dispatch.
1557 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1558 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1559
1560 2023-02-02 Tobias Burnus <tobias@codesourcery.com>
1561
1562 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1563
1564 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
1565
1566 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1567 usage, remove unused -fdump-tree-original.
1568 * testsuite/libgomp.fortran/allocate-4.f90: New.
1569
1570 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
1571
1572 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1573 (GCN): Add item about 'omp requires'.
1574 (nvptx): Likewise; add item about reverse offload.
1575
1576 2023-01-27 Tobias Burnus <tobias@codesourcery.com>
1577
1578 PR fortran/108558
1579 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1580
1581 2023-01-23 Tobias Burnus <tobias@codesourcery.com>
1582
1583 * libgomp.texi (OpenMP 5.0): Set non-rectangular
1584 loop nest back to 'P' as Fortran support is incomplete.
1585
1586 2023-01-19 Jakub Jelinek <jakub@redhat.com>
1587
1588 PR middle-end/108459
1589 * testsuite/libgomp.c/pr108459.c: New test.
1590
1591 2023-01-17 Martin Liska <mliska@suse.cz>
1592
1593 * Makefile.in: Regenerate.
1594 * configure: Regenerate.
1595
1596 2023-01-07 LIU Hao <lh_mouse@126.com>
1597
1598 PR middle-end/108300
1599 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1600 <windows.h>.
1601
1602 2023-01-05 Jakub Jelinek <jakub@redhat.com>
1603
1604 PR c++/108286
1605 * testsuite/libgomp.c++/pr108286.C: New test.
1606
1607 2023-01-02 Jakub Jelinek <jakub@redhat.com>
1608
1609 * libgomp.texi: Bump @copying's copyright year.
1610
1611 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1612
1613 PR target/99555
1614 * config/nvptx/bar.c (generation_to_barrier): Remove.
1615 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1616 (GOMP_WAIT_H): Remove.
1617 (#include "../linux/bar.c"): Remove.
1618 (gomp_barrier_wait_end): New function.
1619 (gomp_barrier_wait): Likewise.
1620 (gomp_barrier_wait_last): Likewise.
1621 (gomp_team_barrier_wait_end): Likewise.
1622 (gomp_team_barrier_wait): Likewise.
1623 (gomp_team_barrier_wait_final): Likewise.
1624 (gomp_team_barrier_wait_cancel_end): Likewise.
1625 (gomp_team_barrier_wait_cancel): Likewise.
1626 (gomp_team_barrier_cancel): Likewise.
1627 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1628 (gomp_barrier_init): Remove init of waiters, lock fields.
1629 (gomp_team_barrier_wake): Remove prototype, add new static inline
1630 function.
1631
1632 2022-12-21 Jakub Jelinek <jakub@redhat.com>
1633
1634 PR c++/108180
1635 * testsuite/libgomp.c++/pr108180.C: New test.
1636
1637 2022-12-16 Tobias Burnus <tobias@codesourcery.com>
1638
1639 PR libfortran/108056
1640 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1641 accidentally added file.
1642
1643 2022-12-15 Tobias Burnus <tobias@codesourcery.com>
1644
1645 PR libfortran/108056
1646 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1647
1648 2022-12-14 Julian Brown <julian@codesourcery.com>
1649
1650 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1651 test.
1652
1653 2022-12-10 Tobias Burnus <tobias@codesourcery.com>
1654
1655 * libgomp.h (struct target_mem_desc): Predeclare; move
1656 below after 'reverse_splay_tree_node' and add rev_array
1657 member.
1658 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1659 (reverse_splay_tree_node, reverse_splay_tree,
1660 reverse_splay_tree_key): New typedef.
1661 (struct gomp_device_descr): Add mem_map_rev member.
1662 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1663 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1664 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1665 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1666 splay_tree_callback but returning int not void.
1667 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1668 taking splay_tree_callback_stop as argument.
1669 * splay-tree.c (splay_tree_foreach_internal_lazy,
1670 splay_tree_foreach_lazy): New; but early exit if callback returns
1671 nonzero.
1672 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1673 (gomp_map_lookup_rev): New.
1674 (gomp_load_image_to_device): Handle reverse-offload function
1675 lookup table.
1676 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1677 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1678 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1679 gomp_map_cdata_lookup): New auxiliary structs and functions for
1680 gomp_target_rev.
1681 (gomp_target_rev): Implement reverse offloading and its mapping.
1682 (gomp_target_init): Init current_device.mem_map_rev.root.
1683 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1684 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1685 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1686 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1687 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1688 mapping of on-device allocated variables.
1689
1690 2022-12-09 Tobias Burnus <tobias@codesourcery.com>
1691
1692 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1693 item about 'align'; mark clause as 'Y' and directive as 'N'.
1694 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1695 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1696
1697 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1698
1699 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1700 allow processing of device-specific values.
1701 (omp_set_teams_thread_limit): Likewise.
1702 (ialias): Likewise.
1703 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1704 (omp_set_teams_thread_limit): Likewise.
1705 (ialias): Likewise.
1706 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1707 (ialias): Likewise.
1708 (omp_set_teams_thread_limit): Likewise.
1709 * icv.c (omp_set_teams_thread_limit): Removed.
1710 (omp_get_teams_thread_limit): Likewise.
1711 (ialias): Likewise.
1712 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1713 to the limitation of the number of teams.
1714 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1715 the number of teams by twice the number of compute units.
1716 (parse_target_attributes): Limit the number of teams on gcn offload
1717 devices.
1718 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1719 handling.
1720 (gomp_load_image_to_device): Added a size check for the ICVs struct
1721 variable.
1722 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1723 copy back the ICV values from device to host.
1724 (GOMP_target_ext): Update the number of teams and threads in the kernel
1725 args also considering device-specific values.
1726 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1727 of OMP_TEAMS_THREAD_LIMIT from the environment.
1728 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1729 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1730 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1731 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1732 * testsuite/libgomp.fortran/icv-5.f90: New test.
1733 * testsuite/libgomp.fortran/icv-6.f90: New test.
1734
1735 2022-12-06 Tobias Burnus <tobias@codesourcery.com>
1736
1737 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1738 (TR11): Add missing '@tab N @tab'.
1739
1740 2022-11-30 Tobias Burnus <tobias@codesourcery.com>
1741
1742 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1743
1744 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1745
1746 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1747 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1748 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1749 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1750 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1751 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1752 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1753
1754 2022-11-28 Tobias Burnus <tobias@codesourcery.com>
1755
1756 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1757
1758 2022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1759
1760 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1761 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1762 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1763 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1764
1765 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
1766
1767 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1768 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1769 as valid and the code having no reverse-offload code.
1770 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1771
1772 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
1773
1774 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1775 and status for Technical Report (TR) 11.
1776
1777 2022-11-21 Tobias Burnus <tobias@codesourcery.com>
1778
1779 * config/gcn/libgomp-gcn.h (struct output):
1780 Remove 'msg_u64' from the union, change
1781 value_u64[2] to value_u64[6].
1782 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1783 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1784 Likewise.
1785
1786 2022-11-19 Tobias Burnus <tobias@codesourcery.com>
1787
1788 * config/gcn/libgomp-gcn.h: New file; contains
1789 struct output, declared previously in plugin-gcn.c.
1790 * config/gcn/target.c: Include it.
1791 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1792 (GOMP_target_ext): Handle reverse offload.
1793 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1794 (struct kernargs): Replace struct def by the one
1795 from libgomp-gcn.h for output_data.
1796 (process_reverse_offload): New.
1797 (console_output): Call it.
1798
1799 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
1800 Andrew Stubbs <ams@codesourcery.com>
1801
1802 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1803 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1804
1805 2022-11-14 Martin Liska <mliska@suse.cz>
1806
1807 Revert:
1808 2022-11-14 Martin Liska <mliska@suse.cz>
1809
1810 * doc/amd-radeon-gcn.rst: New file.
1811 * doc/conf.py: New file.
1812 * doc/copyright.rst: New file.
1813 * doc/cuda-streams-usage.rst: New file.
1814 * doc/enabling-openacc.rst: New file.
1815 * doc/enabling-openmp.rst: New file.
1816 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1817 * doc/first-invocation-openacc-library-api.rst: New file.
1818 * doc/funding.rst: New file.
1819 * doc/general-public-license-3.rst: New file.
1820 * doc/gnu-free-documentation-license.rst: New file.
1821 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1822 * doc/index.rst: New file.
1823 * doc/indices-and-tables.rst: New file.
1824 * doc/introduction.rst: New file.
1825 * doc/memory-allocation-with-libmemkind.rst: New file.
1826 * doc/nvptx.rst: New file.
1827 * doc/offload-target-specifics.rst: New file.
1828 * doc/openacc-environment-variables.rst: New file.
1829 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1830 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1831 * doc/openacc-environment-variables/accproflib.rst: New file.
1832 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1833 * doc/openacc-introduction.rst: New file.
1834 * doc/openacc-library-and-environment-variables.rst: New file.
1835 * doc/openacc-library-interoperability.rst: New file.
1836 * doc/openacc-profiling-interface.rst: New file.
1837 * doc/openacc-runtime-library-routines.rst: New file.
1838 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1839 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1840 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1841 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1842 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1843 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1844 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1845 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1846 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1847 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1848 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1849 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1850 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1851 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1852 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1853 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1854 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1855 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1856 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1857 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1858 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1859 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1860 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1861 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1862 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1863 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1864 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1865 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1866 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1867 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1868 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1869 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1870 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1871 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1872 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1873 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1874 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1875 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1876 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1877 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1878 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1879 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1880 * doc/openmp-context-selectors.rst: New file.
1881 * doc/openmp-environment-variables.rst: New file.
1882 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1883 * doc/openmp-environment-variables/gompdebug.rst: New file.
1884 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1885 * doc/openmp-environment-variables/gompspincount.rst: New file.
1886 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1887 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1888 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1889 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1890 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1891 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1892 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1893 * doc/openmp-environment-variables/ompnested.rst: New file.
1894 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1895 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1896 * doc/openmp-environment-variables/ompplaces.rst: New file.
1897 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1898 * doc/openmp-environment-variables/ompschedule.rst: New file.
1899 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1900 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1901 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1902 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1903 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1904 * doc/openmp-implementation-specifics.rst: New file.
1905 * doc/openmp-implementation-status.rst: New file.
1906 * doc/openmp-implementation-status/openmp-45.rst: New file.
1907 * doc/openmp-implementation-status/openmp-50.rst: New file.
1908 * doc/openmp-implementation-status/openmp-51.rst: New file.
1909 * doc/openmp-implementation-status/openmp-52.rst: New file.
1910 * doc/openmp-runtime-library-routines.rst: New file.
1911 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1912 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1913 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1914 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1915 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1916 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1917 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1918 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1919 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1920 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1921 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1922 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1923 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1924 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1925 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1926 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1927 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1928 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1929 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1930 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1931 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1932 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1933 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1934 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1935 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1936 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1937 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1938 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1939 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1940 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1941 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1942 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1943 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1944 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1945 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1946 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1947 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1948 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1949 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1950 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1951 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1952 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1953 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1954 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1955 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1956 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1957 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1958 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1959 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1960 * doc/reporting-bugs.rst: New file.
1961 * doc/the-libgomp-abi.rst: New file.
1962 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1963 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1964 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1965 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1966 New file.
1967 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1968 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1969 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1970 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1971 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1972 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1973 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1974 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1975 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1976 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1977 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1978
1979 2022-11-14 Martin Liska <mliska@suse.cz>
1980
1981 Revert:
1982 2022-11-14 Martin Liska <mliska@suse.cz>
1983
1984 * Makefile.in: Support Sphinx based documentation.
1985
1986 2022-11-14 Martin Liska <mliska@suse.cz>
1987
1988 Revert:
1989 2022-11-14 Martin Liska <mliska@suse.cz>
1990
1991 * libgomp.texi: Removed.
1992
1993 2022-11-14 Martin Liska <mliska@suse.cz>
1994
1995 Revert:
1996 2022-11-14 Martin Liska <mliska@suse.cz>
1997
1998 * Makefile.in: Support --with-sphinx-build.
1999 * configure.ac: Likewise..
2000 * configure: Regenerate.
2001
2002 2022-11-14 Martin Liska <mliska@suse.cz>
2003
2004 Revert:
2005 2022-11-09 Martin Liska <mliska@suse.cz>
2006
2007 * Makefile.in: Build info pages conditionally.
2008
2009 2022-11-14 Martin Liska <mliska@suse.cz>
2010
2011 Revert:
2012 2022-11-14 Martin Liska <mliska@suse.cz>
2013
2014 * doc/amd-radeon-gcn.rst:
2015 Add trailing newline.
2016 * doc/copyright.rst:
2017 Add trailing newline.
2018 * doc/cuda-streams-usage.rst:
2019 Add trailing newline.
2020 * doc/enabling-openacc.rst:
2021 Add trailing newline.
2022 * doc/enabling-openmp.rst:
2023 Add trailing newline.
2024 * doc/first-invocation-nvidia-cublas-library-api.rst:
2025 Add trailing newline.
2026 * doc/first-invocation-openacc-library-api.rst:
2027 Add trailing newline.
2028 * doc/funding.rst:
2029 Add trailing newline.
2030 * doc/general-public-license-3.rst:
2031 Add trailing newline.
2032 * doc/gnu-free-documentation-license.rst:
2033 Add trailing newline.
2034 * doc/implementation-status-and-implementation-defined-behavior.rst:
2035 Add trailing newline.
2036 * doc/index.rst:
2037 Add trailing newline.
2038 * doc/indices-and-tables.rst:
2039 Add trailing newline.
2040 * doc/introduction.rst:
2041 Add trailing newline.
2042 * doc/memory-allocation-with-libmemkind.rst:
2043 Add trailing newline.
2044 * doc/nvptx.rst:
2045 Add trailing newline.
2046 * doc/offload-target-specifics.rst:
2047 Add trailing newline.
2048 * doc/openacc-environment-variables.rst:
2049 Add trailing newline.
2050 * doc/openacc-environment-variables/accdevicenum.rst:
2051 Add trailing newline.
2052 * doc/openacc-environment-variables/accdevicetype.rst:
2053 Add trailing newline.
2054 * doc/openacc-environment-variables/accproflib.rst:
2055 Add trailing newline.
2056 * doc/openacc-environment-variables/gccaccnotify.rst:
2057 Add trailing newline.
2058 * doc/openacc-introduction.rst:
2059 Add trailing newline.
2060 * doc/openacc-library-and-environment-variables.rst:
2061 Add trailing newline.
2062 * doc/openacc-library-interoperability.rst:
2063 Add trailing newline.
2064 * doc/openacc-profiling-interface.rst:
2065 Add trailing newline.
2066 * doc/openacc-runtime-library-routines.rst:
2067 Add trailing newline.
2068 * doc/openacc-runtime-library-routines/accasynctest.rst:
2069 Add trailing newline.
2070 * doc/openacc-runtime-library-routines/accasynctestall.rst:
2071 Add trailing newline.
2072 * doc/openacc-runtime-library-routines/accattach.rst:
2073 Add trailing newline.
2074 * doc/openacc-runtime-library-routines/acccopyin.rst:
2075 Add trailing newline.
2076 * doc/openacc-runtime-library-routines/acccopyout.rst:
2077 Add trailing newline.
2078 * doc/openacc-runtime-library-routines/acccreate.rst:
2079 Add trailing newline.
2080 * doc/openacc-runtime-library-routines/accdelete.rst:
2081 Add trailing newline.
2082 * doc/openacc-runtime-library-routines/accdetach.rst:
2083 Add trailing newline.
2084 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2085 Add trailing newline.
2086 * doc/openacc-runtime-library-routines/accfree.rst:
2087 Add trailing newline.
2088 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2089 Add trailing newline.
2090 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2091 Add trailing newline.
2092 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2093 Add trailing newline.
2094 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2095 Add trailing newline.
2096 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2097 Add trailing newline.
2098 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2099 Add trailing newline.
2100 * doc/openacc-runtime-library-routines/accgetproperty.rst:
2101 Add trailing newline.
2102 * doc/openacc-runtime-library-routines/acchostptr.rst:
2103 Add trailing newline.
2104 * doc/openacc-runtime-library-routines/accinit.rst:
2105 Add trailing newline.
2106 * doc/openacc-runtime-library-routines/accispresent.rst:
2107 Add trailing newline.
2108 * doc/openacc-runtime-library-routines/accmalloc.rst:
2109 Add trailing newline.
2110 * doc/openacc-runtime-library-routines/accmapdata.rst:
2111 Add trailing newline.
2112 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2113 Add trailing newline.
2114 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2115 Add trailing newline.
2116 * doc/openacc-runtime-library-routines/accondevice.rst:
2117 Add trailing newline.
2118 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2119 Add trailing newline.
2120 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2121 Add trailing newline.
2122 * doc/openacc-runtime-library-routines/accproflookup.rst:
2123 Add trailing newline.
2124 * doc/openacc-runtime-library-routines/accprofregister.rst:
2125 Add trailing newline.
2126 * doc/openacc-runtime-library-routines/accprofunregister.rst:
2127 Add trailing newline.
2128 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2129 Add trailing newline.
2130 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2131 Add trailing newline.
2132 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2133 Add trailing newline.
2134 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2135 Add trailing newline.
2136 * doc/openacc-runtime-library-routines/accshutdown.rst:
2137 Add trailing newline.
2138 * doc/openacc-runtime-library-routines/accunmapdata.rst:
2139 Add trailing newline.
2140 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2141 Add trailing newline.
2142 * doc/openacc-runtime-library-routines/accupdateself.rst:
2143 Add trailing newline.
2144 * doc/openacc-runtime-library-routines/accwait.rst:
2145 Add trailing newline.
2146 * doc/openacc-runtime-library-routines/accwaitall.rst:
2147 Add trailing newline.
2148 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2149 Add trailing newline.
2150 * doc/openacc-runtime-library-routines/accwaitasync.rst:
2151 Add trailing newline.
2152 * doc/openmp-context-selectors.rst:
2153 Add trailing newline.
2154 * doc/openmp-environment-variables.rst:
2155 Add trailing newline.
2156 * doc/openmp-environment-variables/gompcpuaffinity.rst:
2157 Add trailing newline.
2158 * doc/openmp-environment-variables/gompdebug.rst:
2159 Add trailing newline.
2160 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2161 Add trailing newline.
2162 * doc/openmp-environment-variables/gompspincount.rst:
2163 Add trailing newline.
2164 * doc/openmp-environment-variables/gompstacksize.rst:
2165 Add trailing newline.
2166 * doc/openmp-environment-variables/ompcancellation.rst:
2167 Add trailing newline.
2168 * doc/openmp-environment-variables/ompdefaultdevice.rst:
2169 Add trailing newline.
2170 * doc/openmp-environment-variables/ompdisplayenv.rst:
2171 Add trailing newline.
2172 * doc/openmp-environment-variables/ompdynamic.rst:
2173 Add trailing newline.
2174 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2175 Add trailing newline.
2176 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2177 Add trailing newline.
2178 * doc/openmp-environment-variables/ompnested.rst:
2179 Add trailing newline.
2180 * doc/openmp-environment-variables/ompnumteams.rst:
2181 Add trailing newline.
2182 * doc/openmp-environment-variables/ompnumthreads.rst:
2183 Add trailing newline.
2184 * doc/openmp-environment-variables/ompplaces.rst:
2185 Add trailing newline.
2186 * doc/openmp-environment-variables/ompprocbind.rst:
2187 Add trailing newline.
2188 * doc/openmp-environment-variables/ompschedule.rst:
2189 Add trailing newline.
2190 * doc/openmp-environment-variables/ompstacksize.rst:
2191 Add trailing newline.
2192 * doc/openmp-environment-variables/omptargetoffload.rst:
2193 Add trailing newline.
2194 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2195 Add trailing newline.
2196 * doc/openmp-environment-variables/ompthreadlimit.rst:
2197 Add trailing newline.
2198 * doc/openmp-environment-variables/ompwaitpolicy.rst:
2199 Add trailing newline.
2200 * doc/openmp-implementation-specifics.rst:
2201 Add trailing newline.
2202 * doc/openmp-implementation-status.rst:
2203 Add trailing newline.
2204 * doc/openmp-implementation-status/openmp-45.rst:
2205 Add trailing newline.
2206 * doc/openmp-implementation-status/openmp-50.rst:
2207 Add trailing newline.
2208 * doc/openmp-implementation-status/openmp-51.rst:
2209 Add trailing newline.
2210 * doc/openmp-implementation-status/openmp-52.rst:
2211 Add trailing newline.
2212 * doc/openmp-runtime-library-routines.rst:
2213 Add trailing newline.
2214 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2215 Add trailing newline.
2216 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2217 Add trailing newline.
2218 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2219 Add trailing newline.
2220 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2221 Add trailing newline.
2222 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2223 Add trailing newline.
2224 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2225 Add trailing newline.
2226 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2227 Add trailing newline.
2228 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2229 Add trailing newline.
2230 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2231 Add trailing newline.
2232 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2233 Add trailing newline.
2234 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2235 Add trailing newline.
2236 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2237 Add trailing newline.
2238 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2239 Add trailing newline.
2240 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2241 Add trailing newline.
2242 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2243 Add trailing newline.
2244 * doc/openmp-runtime-library-routines/ompgetnested.rst:
2245 Add trailing newline.
2246 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2247 Add trailing newline.
2248 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2249 Add trailing newline.
2250 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2251 Add trailing newline.
2252 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2253 Add trailing newline.
2254 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2255 Add trailing newline.
2256 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2257 Add trailing newline.
2258 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2259 Add trailing newline.
2260 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2261 Add trailing newline.
2262 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2263 Add trailing newline.
2264 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2265 Add trailing newline.
2266 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2267 Add trailing newline.
2268 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2269 Add trailing newline.
2270 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2271 Add trailing newline.
2272 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2273 Add trailing newline.
2274 * doc/openmp-runtime-library-routines/ompinfinal.rst:
2275 Add trailing newline.
2276 * doc/openmp-runtime-library-routines/ompinitlock.rst:
2277 Add trailing newline.
2278 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2279 Add trailing newline.
2280 * doc/openmp-runtime-library-routines/ompinparallel.rst:
2281 Add trailing newline.
2282 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2283 Add trailing newline.
2284 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2285 Add trailing newline.
2286 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2287 Add trailing newline.
2288 * doc/openmp-runtime-library-routines/ompsetlock.rst:
2289 Add trailing newline.
2290 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2291 Add trailing newline.
2292 * doc/openmp-runtime-library-routines/ompsetnested.rst:
2293 Add trailing newline.
2294 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2295 Add trailing newline.
2296 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2297 Add trailing newline.
2298 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2299 Add trailing newline.
2300 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2301 Add trailing newline.
2302 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2303 Add trailing newline.
2304 * doc/openmp-runtime-library-routines/omptestlock.rst:
2305 Add trailing newline.
2306 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2307 Add trailing newline.
2308 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2309 Add trailing newline.
2310 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2311 Add trailing newline.
2312 * doc/reporting-bugs.rst:
2313 Add trailing newline.
2314 * doc/the-libgomp-abi.rst:
2315 Add trailing newline.
2316 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2317 Add trailing newline.
2318 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2319 Add trailing newline.
2320 * doc/the-libgomp-abi/implementing-critical-construct.rst:
2321 Add trailing newline.
2322 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2323 Add trailing newline.
2324 * doc/the-libgomp-abi/implementing-flush-construct.rst:
2325 Add trailing newline.
2326 * doc/the-libgomp-abi/implementing-for-construct.rst:
2327 Add trailing newline.
2328 * doc/the-libgomp-abi/implementing-master-construct.rst:
2329 Add trailing newline.
2330 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2331 Add trailing newline.
2332 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2333 Add trailing newline.
2334 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2335 Add trailing newline.
2336 * doc/the-libgomp-abi/implementing-private-clause.rst:
2337 Add trailing newline.
2338 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2339 Add trailing newline.
2340 * doc/the-libgomp-abi/implementing-sections-construct.rst:
2341 Add trailing newline.
2342 * doc/the-libgomp-abi/implementing-single-construct.rst:
2343 Add trailing newline.
2344 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2345 Add trailing newline.
2346
2347 2022-11-14 Martin Liska <mliska@suse.cz>
2348
2349 Revert:
2350 2022-11-09 Martin Liska <mliska@suse.cz>
2351
2352 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2353
2354 2022-11-14 Martin Liska <mliska@suse.cz>
2355
2356 Revert:
2357 2022-11-14 Martin Liska <mliska@suse.cz>
2358
2359 * doc/conf.py: Add newline at last line.
2360
2361 2022-11-14 Martin Liska <mliska@suse.cz>
2362
2363 Revert:
2364 2022-11-14 Martin Liska <mliska@suse.cz>
2365
2366 PR other/107620
2367 * configure: Regenerate.
2368 * configure.ac: Always set sphinx-build.
2369
2370 2022-11-13 Martin Liska <mliska@suse.cz>
2371
2372 PR other/107620
2373 * configure: Regenerate.
2374 * configure.ac: Always set sphinx-build.
2375
2376 2022-11-12 Jakub Jelinek <jakub@redhat.com>
2377
2378 PR libgomp/107641
2379 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2380 unsigned long. Change type of upper from unsigned to unsigned long.
2381
2382 2022-11-10 Martin Liska <mliska@suse.cz>
2383
2384 * doc/conf.py: Add newline at last line.
2385
2386 2022-11-09 Martin Liska <mliska@suse.cz>
2387
2388 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2389
2390 2022-11-09 Martin Liska <mliska@suse.cz>
2391
2392 * doc/amd-radeon-gcn.rst:
2393 Add trailing newline.
2394 * doc/copyright.rst:
2395 Add trailing newline.
2396 * doc/cuda-streams-usage.rst:
2397 Add trailing newline.
2398 * doc/enabling-openacc.rst:
2399 Add trailing newline.
2400 * doc/enabling-openmp.rst:
2401 Add trailing newline.
2402 * doc/first-invocation-nvidia-cublas-library-api.rst:
2403 Add trailing newline.
2404 * doc/first-invocation-openacc-library-api.rst:
2405 Add trailing newline.
2406 * doc/funding.rst:
2407 Add trailing newline.
2408 * doc/general-public-license-3.rst:
2409 Add trailing newline.
2410 * doc/gnu-free-documentation-license.rst:
2411 Add trailing newline.
2412 * doc/implementation-status-and-implementation-defined-behavior.rst:
2413 Add trailing newline.
2414 * doc/index.rst:
2415 Add trailing newline.
2416 * doc/indices-and-tables.rst:
2417 Add trailing newline.
2418 * doc/introduction.rst:
2419 Add trailing newline.
2420 * doc/memory-allocation-with-libmemkind.rst:
2421 Add trailing newline.
2422 * doc/nvptx.rst:
2423 Add trailing newline.
2424 * doc/offload-target-specifics.rst:
2425 Add trailing newline.
2426 * doc/openacc-environment-variables.rst:
2427 Add trailing newline.
2428 * doc/openacc-environment-variables/accdevicenum.rst:
2429 Add trailing newline.
2430 * doc/openacc-environment-variables/accdevicetype.rst:
2431 Add trailing newline.
2432 * doc/openacc-environment-variables/accproflib.rst:
2433 Add trailing newline.
2434 * doc/openacc-environment-variables/gccaccnotify.rst:
2435 Add trailing newline.
2436 * doc/openacc-introduction.rst:
2437 Add trailing newline.
2438 * doc/openacc-library-and-environment-variables.rst:
2439 Add trailing newline.
2440 * doc/openacc-library-interoperability.rst:
2441 Add trailing newline.
2442 * doc/openacc-profiling-interface.rst:
2443 Add trailing newline.
2444 * doc/openacc-runtime-library-routines.rst:
2445 Add trailing newline.
2446 * doc/openacc-runtime-library-routines/accasynctest.rst:
2447 Add trailing newline.
2448 * doc/openacc-runtime-library-routines/accasynctestall.rst:
2449 Add trailing newline.
2450 * doc/openacc-runtime-library-routines/accattach.rst:
2451 Add trailing newline.
2452 * doc/openacc-runtime-library-routines/acccopyin.rst:
2453 Add trailing newline.
2454 * doc/openacc-runtime-library-routines/acccopyout.rst:
2455 Add trailing newline.
2456 * doc/openacc-runtime-library-routines/acccreate.rst:
2457 Add trailing newline.
2458 * doc/openacc-runtime-library-routines/accdelete.rst:
2459 Add trailing newline.
2460 * doc/openacc-runtime-library-routines/accdetach.rst:
2461 Add trailing newline.
2462 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2463 Add trailing newline.
2464 * doc/openacc-runtime-library-routines/accfree.rst:
2465 Add trailing newline.
2466 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2467 Add trailing newline.
2468 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2469 Add trailing newline.
2470 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2471 Add trailing newline.
2472 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2473 Add trailing newline.
2474 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2475 Add trailing newline.
2476 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2477 Add trailing newline.
2478 * doc/openacc-runtime-library-routines/accgetproperty.rst:
2479 Add trailing newline.
2480 * doc/openacc-runtime-library-routines/acchostptr.rst:
2481 Add trailing newline.
2482 * doc/openacc-runtime-library-routines/accinit.rst:
2483 Add trailing newline.
2484 * doc/openacc-runtime-library-routines/accispresent.rst:
2485 Add trailing newline.
2486 * doc/openacc-runtime-library-routines/accmalloc.rst:
2487 Add trailing newline.
2488 * doc/openacc-runtime-library-routines/accmapdata.rst:
2489 Add trailing newline.
2490 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2491 Add trailing newline.
2492 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2493 Add trailing newline.
2494 * doc/openacc-runtime-library-routines/accondevice.rst:
2495 Add trailing newline.
2496 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2497 Add trailing newline.
2498 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2499 Add trailing newline.
2500 * doc/openacc-runtime-library-routines/accproflookup.rst:
2501 Add trailing newline.
2502 * doc/openacc-runtime-library-routines/accprofregister.rst:
2503 Add trailing newline.
2504 * doc/openacc-runtime-library-routines/accprofunregister.rst:
2505 Add trailing newline.
2506 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2507 Add trailing newline.
2508 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2509 Add trailing newline.
2510 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2511 Add trailing newline.
2512 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2513 Add trailing newline.
2514 * doc/openacc-runtime-library-routines/accshutdown.rst:
2515 Add trailing newline.
2516 * doc/openacc-runtime-library-routines/accunmapdata.rst:
2517 Add trailing newline.
2518 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2519 Add trailing newline.
2520 * doc/openacc-runtime-library-routines/accupdateself.rst:
2521 Add trailing newline.
2522 * doc/openacc-runtime-library-routines/accwait.rst:
2523 Add trailing newline.
2524 * doc/openacc-runtime-library-routines/accwaitall.rst:
2525 Add trailing newline.
2526 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2527 Add trailing newline.
2528 * doc/openacc-runtime-library-routines/accwaitasync.rst:
2529 Add trailing newline.
2530 * doc/openmp-context-selectors.rst:
2531 Add trailing newline.
2532 * doc/openmp-environment-variables.rst:
2533 Add trailing newline.
2534 * doc/openmp-environment-variables/gompcpuaffinity.rst:
2535 Add trailing newline.
2536 * doc/openmp-environment-variables/gompdebug.rst:
2537 Add trailing newline.
2538 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2539 Add trailing newline.
2540 * doc/openmp-environment-variables/gompspincount.rst:
2541 Add trailing newline.
2542 * doc/openmp-environment-variables/gompstacksize.rst:
2543 Add trailing newline.
2544 * doc/openmp-environment-variables/ompcancellation.rst:
2545 Add trailing newline.
2546 * doc/openmp-environment-variables/ompdefaultdevice.rst:
2547 Add trailing newline.
2548 * doc/openmp-environment-variables/ompdisplayenv.rst:
2549 Add trailing newline.
2550 * doc/openmp-environment-variables/ompdynamic.rst:
2551 Add trailing newline.
2552 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2553 Add trailing newline.
2554 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2555 Add trailing newline.
2556 * doc/openmp-environment-variables/ompnested.rst:
2557 Add trailing newline.
2558 * doc/openmp-environment-variables/ompnumteams.rst:
2559 Add trailing newline.
2560 * doc/openmp-environment-variables/ompnumthreads.rst:
2561 Add trailing newline.
2562 * doc/openmp-environment-variables/ompplaces.rst:
2563 Add trailing newline.
2564 * doc/openmp-environment-variables/ompprocbind.rst:
2565 Add trailing newline.
2566 * doc/openmp-environment-variables/ompschedule.rst:
2567 Add trailing newline.
2568 * doc/openmp-environment-variables/ompstacksize.rst:
2569 Add trailing newline.
2570 * doc/openmp-environment-variables/omptargetoffload.rst:
2571 Add trailing newline.
2572 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2573 Add trailing newline.
2574 * doc/openmp-environment-variables/ompthreadlimit.rst:
2575 Add trailing newline.
2576 * doc/openmp-environment-variables/ompwaitpolicy.rst:
2577 Add trailing newline.
2578 * doc/openmp-implementation-specifics.rst:
2579 Add trailing newline.
2580 * doc/openmp-implementation-status.rst:
2581 Add trailing newline.
2582 * doc/openmp-implementation-status/openmp-45.rst:
2583 Add trailing newline.
2584 * doc/openmp-implementation-status/openmp-50.rst:
2585 Add trailing newline.
2586 * doc/openmp-implementation-status/openmp-51.rst:
2587 Add trailing newline.
2588 * doc/openmp-implementation-status/openmp-52.rst:
2589 Add trailing newline.
2590 * doc/openmp-runtime-library-routines.rst:
2591 Add trailing newline.
2592 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2593 Add trailing newline.
2594 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2595 Add trailing newline.
2596 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2597 Add trailing newline.
2598 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2599 Add trailing newline.
2600 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2601 Add trailing newline.
2602 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2603 Add trailing newline.
2604 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2605 Add trailing newline.
2606 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2607 Add trailing newline.
2608 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2609 Add trailing newline.
2610 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2611 Add trailing newline.
2612 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2613 Add trailing newline.
2614 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2615 Add trailing newline.
2616 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2617 Add trailing newline.
2618 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2619 Add trailing newline.
2620 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2621 Add trailing newline.
2622 * doc/openmp-runtime-library-routines/ompgetnested.rst:
2623 Add trailing newline.
2624 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2625 Add trailing newline.
2626 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2627 Add trailing newline.
2628 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2629 Add trailing newline.
2630 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2631 Add trailing newline.
2632 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2633 Add trailing newline.
2634 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2635 Add trailing newline.
2636 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2637 Add trailing newline.
2638 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2639 Add trailing newline.
2640 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2641 Add trailing newline.
2642 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2643 Add trailing newline.
2644 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2645 Add trailing newline.
2646 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2647 Add trailing newline.
2648 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2649 Add trailing newline.
2650 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2651 Add trailing newline.
2652 * doc/openmp-runtime-library-routines/ompinfinal.rst:
2653 Add trailing newline.
2654 * doc/openmp-runtime-library-routines/ompinitlock.rst:
2655 Add trailing newline.
2656 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2657 Add trailing newline.
2658 * doc/openmp-runtime-library-routines/ompinparallel.rst:
2659 Add trailing newline.
2660 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2661 Add trailing newline.
2662 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2663 Add trailing newline.
2664 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2665 Add trailing newline.
2666 * doc/openmp-runtime-library-routines/ompsetlock.rst:
2667 Add trailing newline.
2668 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2669 Add trailing newline.
2670 * doc/openmp-runtime-library-routines/ompsetnested.rst:
2671 Add trailing newline.
2672 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2673 Add trailing newline.
2674 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2675 Add trailing newline.
2676 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2677 Add trailing newline.
2678 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2679 Add trailing newline.
2680 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2681 Add trailing newline.
2682 * doc/openmp-runtime-library-routines/omptestlock.rst:
2683 Add trailing newline.
2684 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2685 Add trailing newline.
2686 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2687 Add trailing newline.
2688 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2689 Add trailing newline.
2690 * doc/reporting-bugs.rst:
2691 Add trailing newline.
2692 * doc/the-libgomp-abi.rst:
2693 Add trailing newline.
2694 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2695 Add trailing newline.
2696 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2697 Add trailing newline.
2698 * doc/the-libgomp-abi/implementing-critical-construct.rst:
2699 Add trailing newline.
2700 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2701 Add trailing newline.
2702 * doc/the-libgomp-abi/implementing-flush-construct.rst:
2703 Add trailing newline.
2704 * doc/the-libgomp-abi/implementing-for-construct.rst:
2705 Add trailing newline.
2706 * doc/the-libgomp-abi/implementing-master-construct.rst:
2707 Add trailing newline.
2708 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2709 Add trailing newline.
2710 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2711 Add trailing newline.
2712 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2713 Add trailing newline.
2714 * doc/the-libgomp-abi/implementing-private-clause.rst:
2715 Add trailing newline.
2716 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2717 Add trailing newline.
2718 * doc/the-libgomp-abi/implementing-sections-construct.rst:
2719 Add trailing newline.
2720 * doc/the-libgomp-abi/implementing-single-construct.rst:
2721 Add trailing newline.
2722 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2723 Add trailing newline.
2724
2725 2022-11-09 Martin Liska <mliska@suse.cz>
2726
2727 * Makefile.in: Build info pages conditionally.
2728
2729 2022-11-09 Martin Liska <mliska@suse.cz>
2730
2731 * Makefile.in: Support --with-sphinx-build.
2732 * configure.ac: Likewise..
2733 * configure: Regenerate.
2734
2735 2022-11-09 Martin Liska <mliska@suse.cz>
2736
2737 * libgomp.texi: Removed.
2738
2739 2022-11-09 Martin Liska <mliska@suse.cz>
2740
2741 * Makefile.in: Support Sphinx based documentation.
2742
2743 2022-11-09 Martin Liska <mliska@suse.cz>
2744
2745 * doc/amd-radeon-gcn.rst: New file.
2746 * doc/conf.py: New file.
2747 * doc/copyright.rst: New file.
2748 * doc/cuda-streams-usage.rst: New file.
2749 * doc/enabling-openacc.rst: New file.
2750 * doc/enabling-openmp.rst: New file.
2751 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2752 * doc/first-invocation-openacc-library-api.rst: New file.
2753 * doc/funding.rst: New file.
2754 * doc/general-public-license-3.rst: New file.
2755 * doc/gnu-free-documentation-license.rst: New file.
2756 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2757 * doc/index.rst: New file.
2758 * doc/indices-and-tables.rst: New file.
2759 * doc/introduction.rst: New file.
2760 * doc/memory-allocation-with-libmemkind.rst: New file.
2761 * doc/nvptx.rst: New file.
2762 * doc/offload-target-specifics.rst: New file.
2763 * doc/openacc-environment-variables.rst: New file.
2764 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2765 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2766 * doc/openacc-environment-variables/accproflib.rst: New file.
2767 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2768 * doc/openacc-introduction.rst: New file.
2769 * doc/openacc-library-and-environment-variables.rst: New file.
2770 * doc/openacc-library-interoperability.rst: New file.
2771 * doc/openacc-profiling-interface.rst: New file.
2772 * doc/openacc-runtime-library-routines.rst: New file.
2773 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2774 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2775 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2776 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2777 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2778 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2779 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2780 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2781 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2782 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2783 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2784 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2785 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2786 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2787 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2788 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2789 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2790 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2791 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2792 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2793 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2794 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2795 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2796 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2797 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2798 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2799 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2800 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2801 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2802 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2803 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2804 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2805 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2806 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2807 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2808 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2809 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2810 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2811 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2812 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2813 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2814 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2815 * doc/openmp-context-selectors.rst: New file.
2816 * doc/openmp-environment-variables.rst: New file.
2817 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2818 * doc/openmp-environment-variables/gompdebug.rst: New file.
2819 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2820 * doc/openmp-environment-variables/gompspincount.rst: New file.
2821 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2822 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2823 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2824 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2825 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2826 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2827 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2828 * doc/openmp-environment-variables/ompnested.rst: New file.
2829 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2830 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2831 * doc/openmp-environment-variables/ompplaces.rst: New file.
2832 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2833 * doc/openmp-environment-variables/ompschedule.rst: New file.
2834 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2835 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2836 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2837 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2838 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2839 * doc/openmp-implementation-specifics.rst: New file.
2840 * doc/openmp-implementation-status.rst: New file.
2841 * doc/openmp-implementation-status/openmp-45.rst: New file.
2842 * doc/openmp-implementation-status/openmp-50.rst: New file.
2843 * doc/openmp-implementation-status/openmp-51.rst: New file.
2844 * doc/openmp-implementation-status/openmp-52.rst: New file.
2845 * doc/openmp-runtime-library-routines.rst: New file.
2846 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2847 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2848 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2849 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2850 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2851 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2852 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2853 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2854 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2855 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2856 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2857 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2858 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2859 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2860 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2861 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2862 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2863 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2864 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2865 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2866 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2867 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2868 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2869 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2870 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2871 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2872 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2873 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2874 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2875 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2876 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2877 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2878 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2879 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2880 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2881 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2882 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2883 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2884 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2885 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2886 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2887 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2888 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2889 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2890 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2891 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2892 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2893 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2894 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2895 * doc/reporting-bugs.rst: New file.
2896 * doc/the-libgomp-abi.rst: New file.
2897 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2898 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2899 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2900 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2901 New file.
2902 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2903 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2904 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2905 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2906 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2907 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2908 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2909 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2910 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2911 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2912 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2913
2914 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2915
2916 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2917 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2918 documentation.
2919 * plugin/configfrag.ac <enable_offload_targets>
2920 [*-intelmic-* | *-intelmicemul-*]: Remove.
2921 * configure: Regenerate.
2922 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2923 handling.
2924 (offload_target_to_openacc_device_type)
2925 [$offload_target = *-intelmic*]: Remove.
2926 (check_effective_target_offload_device_intel_mic)
2927 (check_effective_target_offload_device_any_intel_mic): Remove.
2928 * testsuite/libgomp.c-c++-common/on_device_arch.h
2929 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2930 (any_device_arch_intel_mic): Remove.
2931 * testsuite/libgomp.c-c++-common/target-45.c: Remove
2932 'offload_device_any_intel_mic' XFAIL.
2933 * testsuite/libgomp.fortran/target10.f90: Likewise.
2934
2935 2022-11-03 Tobias Burnus <tobias@codesourcery.com>
2936
2937 * testsuite/libgomp.fortran/target-11.f90: New test.
2938 * testsuite/libgomp.fortran/target-13.f90: New test.
2939
2940 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2941
2942 PR libgomp/106643
2943 PR fortran/96668
2944 * oacc-mem.c (goacc_enter_data_internal): Support
2945 OpenACC 'declare create' with Fortran allocatable arrays, part II.
2946 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2947 Adjust.
2948 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2949
2950 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2951
2952 PR libgomp/106643
2953 * oacc-mem.c (goacc_enter_data_internal): Support
2954 OpenACC 'declare create' with Fortran allocatable arrays, part I.
2955 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2956 New.
2957 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2958 New.
2959
2960 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2961
2962 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2963 New.
2964
2965 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2966
2967 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2968 New.
2969
2970 2022-11-02 Cesar Philippidis <cesar@codesourcery.com>
2971 Thomas Schwinge <thomas@codesourcery.com>
2972
2973 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2974
2975 2022-10-28 Julian Brown <julian@codesourcery.com>
2976 Thomas Schwinge <thomas@codesourcery.com>
2977
2978 PR middle-end/90115
2979 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2980 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2981 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2982 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2983 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2984
2985 2022-10-24 Thomas Schwinge <thomas@codesourcery.com>
2986
2987 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2988 'ptx_dev->rev_data'.
2989
2990 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
2991
2992 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2993 'static' for this variable.
2994 * config/nvptx/libgomp-nvptx.h: New file.
2995 * config/nvptx/target.c: Include it.
2996 (GOMP_ADDITIONAL_ICVS): Declare extern var.
2997 (GOMP_REV_OFFLOAD_VAR): Declare var.
2998 (GOMP_target_ext): Handle reverse offload.
2999 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
3000 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
3001 * target.c (gomp_target_rev): ... this new stub function.
3002 * libgomp.h (gomp_target_rev): Declare.
3003 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
3004 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
3005 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
3006 (struct ptx_device): Add rev_data member.
3007 (nvptx_open_device): Remove async_engines query, last used in
3008 r10-304-g1f4c5b9b; add unified-address assert check.
3009 (GOMP_OFFLOAD_get_num_devices): Claim unified address
3010 support.
3011 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
3012 offload functions exist. Make offload var available
3013 on host and device.
3014 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
3015 (GOMP_OFFLOAD_run): Handle reverse offload.
3016
3017 2022-10-21 Thomas Schwinge <thomas@codesourcery.com>
3018
3019 PR tree-optimization/107195
3020 PR target/107344
3021 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
3022 regions checking.
3023
3024 2022-10-20 Tobias Burnus <tobias@codesourcery.com>
3025
3026 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
3027 New.
3028 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
3029 on_device_arch_gcn): New.
3030 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
3031 requires-4.c but using heap-allocated memory.
3032
3033 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
3034
3035 PR target/105421
3036 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
3037
3038 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
3039
3040 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
3041 '-foffload-options' syntax.
3042
3043 2022-10-13 Tobias Burnus <tobias@codesourcery.com>
3044
3045 * testsuite/libgomp.fortran/task-7.f90: New test.
3046 * testsuite/libgomp.fortran/task-8.f90: New test.
3047 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
3048 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
3049 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
3050 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
3051 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
3052
3053 2022-10-12 Jakub Jelinek <jakub@redhat.com>
3054
3055 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
3056 in deprecation bullet.
3057
3058 2022-10-12 Jakub Jelinek <jakub@redhat.com>
3059
3060 * omp.h.in (omp_in_explicit_task): Declare.
3061 * omp_lib.h.in (omp_in_explicit_task): Likewise.
3062 * omp_lib.f90.in (omp_in_explicit_task): New interface.
3063 * libgomp.map (OMP_5.2): New symbol version, export
3064 omp_in_explicit_task and omp_in_explicit_task_.
3065 * task.c (omp_in_explicit_task): New function.
3066 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
3067 (omp_in_explicit_task_): New function.
3068 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
3069 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
3070 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
3071 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
3072
3073 2022-10-12 Jakub Jelinek <jakub@redhat.com>
3074
3075 * task.c (gomp_create_artificial_team): Fix up handling of invocations
3076 from within explicit task.
3077 * target.c (GOMP_target_ext): Likewise.
3078 * testsuite/libgomp.c/task-7.c: New test.
3079 * testsuite/libgomp.c/task-8.c: New test.
3080 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
3081 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
3082
3083 2022-10-12 Martin Liska <mliska@suse.cz>
3084
3085 * configure: Regenerate.
3086
3087 2022-10-11 Olivier Hainque <hainque@adacore.com>
3088 Olivier Hainque <hainque@adacore.com>
3089
3090 * configure: Regenerate.
3091
3092 2022-10-05 Tobias Burnus <tobias@codesourcery.com>
3093
3094 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
3095
3096 2022-10-04 Jakub Jelinek <jakub@redhat.com>
3097
3098 * libgomp.texi (Support begin/end declare target syntax in C/C++):
3099 Mark as implemented.
3100
3101 2022-09-30 Tobias Burnus <tobias@codesourcery.com>
3102
3103 PR fortran/105318
3104 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
3105
3106 2022-09-28 Tobias Burnus <tobias@codesourcery.com>
3107
3108 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
3109 for C/C++. Remove duplicated 'begin declare target' entry.
3110
3111 2022-09-24 Jakub Jelinek <jakub@redhat.com>
3112
3113 PR c/106981
3114 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
3115
3116 2022-09-14 Julian Brown <julian@codesourcery.com>
3117
3118 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
3119 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
3120 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
3121 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
3122 test to here, make "run" test.
3123
3124 2022-09-13 Jakub Jelinek <jakub@redhat.com>
3125
3126 PR libgomp/106906
3127 * env.c (get_icv_member_addr): Cast false to void * before assigning
3128 it to icv_addr[1], and comment the whole assignment out.
3129
3130 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
3131
3132 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3133 (nvptx): ... here.
3134
3135 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
3136
3137 * libgomp.texi (Offload-Target Specifics: nvptx): Document
3138 that reverse offload requires >= -march=sm_35.
3139 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3140 with -misa=sm_35.
3141 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3142 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3143 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3144 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3145 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3146
3147 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
3148
3149 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3150 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3151
3152 2022-09-12 Jakub Jelinek <jakub@redhat.com>
3153
3154 PR libgomp/106894
3155 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3156 (main): Avoid tests for which corresponding non-_ALL suffixed variable
3157 is in the environment, or for OMP_NUM_TEAMS on the device
3158 OMP_NUM_TEAMS_DEV_?.
3159
3160 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
3161
3162 * env.c (initialize_env): Include libiberty environ.h.
3163
3164 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3165
3166 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3167 function address table '$offload_func_table' if rev_fn_table
3168 is not NULL.
3169
3170 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3171
3172 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3173 .offload_func_table to populate rev_fn_table when requested.
3174
3175 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3176
3177 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3178 'uint64_t **rev_fn_table' argument.
3179 * oacc-host.c (host_load_image): Likewise.
3180 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3181 currently unused.
3182 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3183 * target.c (gomp_load_image_to_device): Update call but pass
3184 NULL for now.
3185
3186 2022-09-09 Jakub Jelinek <jakub@redhat.com>
3187
3188 PR libgomp/106894
3189 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3190 char * for dest[1] initialization from params[1]. Formatting fixes.
3191
3192 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
3193
3194 PR fortran/106670
3195 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3196
3197 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
3198
3199 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3200 section; move OpenMP Context Selectors from ...
3201 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3202 'nvptx' sections.
3203
3204 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
3205
3206 * config/gcn/icv-device.c (omp_get_default_device): Return device-
3207 specific ICV.
3208 (omp_get_max_teams): Added for GCN devices.
3209 (omp_set_num_teams): Likewise.
3210 (ialias): Likewise.
3211 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3212 specific ICV.
3213 (omp_get_max_teams): Added for NVPTX devices.
3214 (omp_set_num_teams): Likewise.
3215 (ialias): Likewise.
3216 * env.c (struct gomp_icv_list): New struct to store entries of initial
3217 ICV values.
3218 (struct gomp_offload_icv_list): New struct to store entries of device-
3219 specific ICV values that are copied to the device and back.
3220 (struct gomp_default_icv_values): New struct to store default values of
3221 ICVs according to the OpenMP standard.
3222 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3223 (print_env_var_error): Function that prints an error for invalid values
3224 for ICVs.
3225 (parse_unsigned_long_1): Removed getenv. Generalized.
3226 (parse_unsigned_long): Likewise.
3227 (parse_int_1): Likewise.
3228 (parse_int): Likewise.
3229 (parse_int_secure): Likewise.
3230 (parse_unsigned_long_list): Likewise.
3231 (parse_target_offload): Likewise.
3232 (parse_bind_var): Likewise.
3233 (parse_stacksize): Likewise.
3234 (parse_boolean): Likewise.
3235 (parse_wait_policy): Likewise.
3236 (parse_allocator): Likewise.
3237 (omp_display_env): Extended to output different variants of environment
3238 variables.
3239 (print_schedule): New helper function for omp_display_env which prints
3240 the values of run_sched_var.
3241 (print_proc_bind): New helper function for omp_display_env which prints
3242 the values of proc_bind_var.
3243 (enum gomp_parse_type): Collection of types used for parsing environment
3244 variables.
3245 (ENTRY): Preprocess string lengths of environment variables.
3246 (OMP_VAR_CNT): Preprocess table size.
3247 (OMP_HOST_VAR_CNT): Likewise.
3248 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3249 number.
3250 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3251 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3252 (print_device_specific_icvs): New helper function for omp_display_env to
3253 print device specific ICV values.
3254 (get_device_num): New helper function for parse_device_specific.
3255 Extracts the device number from an environment variable name.
3256 (get_icv_member_addr): Gets the memory address for a particular member
3257 of an ICV struct.
3258 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3259 (initialize_icvs): New function to initialize a gomp_initial_icvs
3260 struct.
3261 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3262 (startswith): Checks if a string starts with a given prefix.
3263 (initialize_env): Extended to parse the new syntax of environment
3264 variables.
3265 * icv-device.c (omp_get_max_teams): Added.
3266 (ialias): Likewise.
3267 (omp_set_num_teams): Likewise.
3268 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3269 (omp_get_max_teams): Likewise.
3270 (ialias): Likewise.
3271 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3272 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3273 holds the designated ICVs of the target device.
3274 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3275 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3276 no suffix.
3277 (enum gomp_env_suffix): Collection of possible suffixes of environment
3278 variables.
3279 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3280 initial values.
3281 (struct gomp_default_icv):New struct to hold ICVs for which we need
3282 to store initial values.
3283 (struct gomp_icv_list): Definition of a linked list that is used for
3284 storing ICVs for the devices and also for _DEV, _ALL, and without
3285 suffix.
3286 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3287 a device.
3288 (struct gomp_offload_icv_list): Definition of a linked list that holds
3289 device-specific ICVs that are copied to devices.
3290 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3291 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3292 * libgomp.texi: Updated.
3293 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3294 further ICVs from the offload image.
3295 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3296 * target.c (gomp_get_offload_icv_item): Get a list item of
3297 gomp_offload_icv_list.
3298 (get_gomp_offload_icvs): New. Returns the ICV values
3299 depending on the device num and the variable hierarchy.
3300 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3301 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3302 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3303 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3304 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3305 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3306 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3307
3308 2022-09-08 Jakub Jelinek <jakub@redhat.com>
3309
3310 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3311 fully supported.
3312 * testsuite/libgomp.c/doacross-4.c: New test.
3313 * testsuite/libgomp.c/doacross-5.c: New test.
3314 * testsuite/libgomp.c/doacross-6.c: New test.
3315 * testsuite/libgomp.c/doacross-7.c: New test.
3316
3317 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
3318
3319 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3320
3321 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
3322
3323 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3324 refer to 'requires'.
3325 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3326 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3327 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3328 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3329
3330 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
3331
3332 PR middle-end/106548
3333 * testsuite/libgomp.c/linear-2.c: New test.
3334
3335 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
3336
3337 * splay-tree.h: Fix splay_* macro unsetting if
3338 splay_tree_prefix is defined.
3339
3340 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
3341
3342 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3343
3344 2022-07-29 Jakub Jelinek <jakub@redhat.com>
3345
3346 PR middle-end/106449
3347 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3348
3349 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
3350
3351 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3352
3353 2022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3354
3355 PR middle-end/101551
3356 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3357 'offloading_enabled' diagnostics issue.
3358
3359 2022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3360
3361 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3362 '_Pragma' diagnostics verification.
3363
3364 2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3365
3366 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3367 improved warning locations.
3368 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3369
3370 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3371
3372 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3373 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3374 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3375 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3376 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3377
3378 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3379
3380 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3381 Denote as legacy entry points.
3382 * testsuite/lib/libgomp.exp
3383 (check_effective_target_offload_target_any): New proc.
3384 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3385 'offload_target_any'.
3386 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3387 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3388 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3389
3390 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3391
3392 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3393 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3394
3395 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3396
3397 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3398
3399 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3400
3401 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3402 'data'.
3403 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3404
3405 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
3406 Jakub Jelinek <jakub@redhat.com>
3407
3408 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3409
3410 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
3411 Chung-Lin Tang <cltang@codesourcery.com>
3412 Thomas Schwinge <thomas@codesourcery.com>
3413
3414 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3415 omp_requires_mask arg.
3416 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3417 return -1 when device available but omp_requires_mask != 0.
3418 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3419 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3420 Update call.
3421 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3422 goacc_attach_host_thread_to_device, acc_get_num_devices,
3423 acc_set_device_num, get_property_any): Likewise.
3424 * target.c (omp_requires_mask): New global var.
3425 (gomp_requires_to_name): New.
3426 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3427 (gomp_target_init): Handle omp_requires_mask.
3428 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3429 (OpenMP 5.1): Add a missed item.
3430 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3431 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3432 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3433 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3434 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3435 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3436 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3437 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3438 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3439 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3440 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3441 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3442 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3443 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3444 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3445 * testsuite/libgomp.fortran/requires-1.f90: New test.
3446
3447 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
3448
3449 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3450 with fromto as implemented.
3451
3452 2022-06-28 Martin Liska <mliska@suse.cz>
3453
3454 * acinclude.m4: Fix typo in mold linker detection.
3455 * Makefile.in: Regenerate.
3456 * configure: Regenerate.
3457
3458 2022-06-21 Jakub Jelinek <jakub@redhat.com>
3459 Paul Iannetta <piannetta@kalrayinc.com>
3460
3461 PR libgomp/106045
3462 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3463
3464 2022-06-17 Martin Liska <mliska@suse.cz>
3465
3466 * libgomp.texi: Add table header for new features of
3467 OpenMP 5.2.
3468
3469 2022-06-15 Jakub Jelinek <jakub@redhat.com>
3470
3471 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3472 q to ddress of an automatic variable. Use -5 instead of -1 in
3473 omp_get_mapped_ptr call. Add test with omp_initial_device.
3474 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3475 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3476 Renumber stop arguments afterwards.
3477
3478 2022-06-13 Jakub Jelinek <jakub@redhat.com>
3479
3480 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3481 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3482 parameters.
3483 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3484 * target.c (resolve_device): Add remapped argument, handle
3485 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3486 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3487 if remapped, otherwise treat omp_initial_device that way. For
3488 omp_invalid_device, always emit gomp_fatal, even when
3489 OMP_TARGET_OFFLOAD isn't mandatory.
3490 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3491 GOMP_target_update, GOMP_target_update_ext,
3492 GOMP_target_enter_exit_data): Pass true as remapped argument to
3493 resolve_device.
3494 (omp_target_alloc, omp_target_free, omp_target_is_present,
3495 omp_target_memcpy_check, omp_target_associate_ptr,
3496 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3497 omp_target_is_accessible): Pass false as remapped argument to
3498 resolve_device. Treat omp_initial_device the same as
3499 gomp_get_num_devices (). Don't bypass resolve_device calls if
3500 device_num is negative.
3501 (omp_pause_resource): Treat omp_initial_device the same as
3502 gomp_get_num_devices (). Call resolve_device.
3503 * icv-device.c (omp_set_default_device): Always set to device_num
3504 even when it is negative.
3505 * libgomp.texi: Document that Conforming device numbers,
3506 omp_initial_device and omp_invalid_device is implemented.
3507 * testsuite/libgomp.c/target-41.c (main): Add test with
3508 omp_initial_device.
3509 * testsuite/libgomp.c/target-45.c: New test.
3510 * testsuite/libgomp.c/target-46.c: New test.
3511 * testsuite/libgomp.c/target-47.c: New test.
3512 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3513 test with omp_initial_device. Use -5 instead of -1 for negative value
3514 test.
3515 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3516 Likewise. Reorder stop numbers.
3517
3518 2022-06-10 Jakub Jelinek <jakub@redhat.com>
3519
3520 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3521 rather than "libmemkind.so".
3522
3523 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3524
3525 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3526 * plugin/configfrag.ac (--with-cuda-driver)
3527 (--with-cuda-driver-include, --with-cuda-driver-lib)
3528 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3529 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3530 Remove.
3531 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3532 (cuda_driver_lib): Remove.
3533 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3534 * Makefile.in: Regenerate.
3535 * configure: Likewise.
3536 * testsuite/Makefile.in: Likewise.
3537
3538 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3539
3540 * config/linux/allocator.c: Fix up #include directive.
3541
3542 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3543
3544 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3545 (enum gomp_memkind_kind): New type.
3546 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3547 is defined.
3548 (struct gomp_memkind_data): New type.
3549 (memkind_data, memkind_data_once): New variables.
3550 (gomp_init_memkind, gomp_get_memkind): New functions.
3551 (omp_init_allocator): Initialize data.memkind, don't fail for
3552 omp_high_bw_mem_space if libmemkind supports it.
3553 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3554 memkind support of LIBGOMP_USE_MEMKIND is defined.
3555 * config/linux/allocator.c: New file.
3556
3557 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
3558
3559 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3560 * testsuite/libgomp.fortran/scope-2.f90: New test.
3561
3562 2022-06-02 David Malcolm <dmalcolm@redhat.com>
3563
3564 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3565
3566 2022-05-31 Jakub Jelinek <jakub@redhat.com>
3567
3568 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3569 scope construct with allocate clause.
3570 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3571 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3572
3573 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
3574
3575 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3576 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3577 explicit 'to' and 'enter' clause.
3578 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3579
3580 2022-05-28 Jakub Jelinek <jakub@redhat.com>
3581
3582 PR libgomp/105745
3583 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3584 defined(HAVE__ALIGNED_MALLOC) case.
3585 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3586 handling as last option before fallback instead of first.
3587 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3588 _aligned_free.
3589
3590 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3591
3592 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3593 clauses to enter.
3594 * testsuite/libgomp.c/target-41.c: Likewise.
3595
3596 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
3597
3598 * libgomp.texi (Other new OpenMP 5.1 features): Add
3599 'begin declare target'.
3600 (Other new OpenMP 5.2 features): New.
3601
3602 2022-05-25 Jakub Jelinek <jakub@redhat.com>
3603
3604 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3605 is the last task taskwait depend depends on, wake it up.
3606 Similarly if it is the last child of a taskgroup, use atomic
3607 store instead of decrement and awak taskgroup wait if any.
3608 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3609
3610 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3611
3612 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3613 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3614 (gcn_gfx90a_s): New.
3615 (isa_hsa_name): Support gfx90a.
3616 (isa_code): Likewise.
3617
3618 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
3619
3620 PR c/105378
3621 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3622 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3623
3624 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3625
3626 PR c/105378
3627 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3628 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3629 * task.c (empty_task): New function.
3630 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3631 (gomp_task_run_post_handle_depend): Declare.
3632 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3633 for.
3634 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3635 (GOMP_taskwait_depend_nowait): New function.
3636 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3637
3638 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
3639
3640 PR fortran/104949
3641 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3642 Support attach for GOMP_MAP_FIRSTPRIVATE.
3643 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3644 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3645 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3646
3647 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3648
3649 * libgomp.map: Added omp_target_memcpy_async and
3650 omp_target_memcpy_rect_async.
3651 * libgomp.texi: Both functions are now supported.
3652 * omp.h.in: Added omp_target_memcpy_async and
3653 omp_target_memcpy_rect_async.
3654 * omp_lib.f90.in: Added interfaces for both new functions.
3655 * omp_lib.h.in: Likewise.
3656 * target.c (ialias_redirect): Added for GOMP_task.
3657 (omp_target_memcpy): Restructured into check and copy part.
3658 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3659 omp_target_memcpy_async that checks requirements.
3660 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3661 omp_target_memcpy_async that performs the memcpy.
3662 (omp_target_memcpy_async_helper): New helper function that is used in
3663 omp_target_memcpy_async for the asynchronous task.
3664 (omp_target_memcpy_async): Added.
3665 (omp_target_memcpy_rect): Restructured into check and copy part.
3666 (omp_target_memcpy_rect_check): New helper function for
3667 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3668 requirements.
3669 (omp_target_memcpy_rect_copy): New helper function for
3670 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3671 the memcpy.
3672 (omp_target_memcpy_rect_async_helper): New helper function that is used
3673 in omp_target_memcpy_rect_async for the asynchronous task.
3674 (omp_target_memcpy_rect_async): Added.
3675 * task.c (ialias): Added for GOMP_task.
3676 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3677 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3678 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3679 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3680 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3681 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3682 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3683 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3684
3685 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
3686
3687 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3688 (OpenMP Context Selectors): Add missing comma.
3689 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3690 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3691 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3692 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3693
3694 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3695
3696 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3697 comment for omp_display_env feature.
3698
3699 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3700
3701 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3702 to document OpenMP context selectors.
3703
3704 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3705
3706 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3707 from bool to unsigned char.
3708 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3709 Ignore dependencies where
3710 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3711 rather than just task->depend[i].is_in && ent->is_in. Remember
3712 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3713 conditional.
3714 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3715 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3716 rather than just elem.is_in && ent->is_in.
3717 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3718 inoutset depend-kind.
3719 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3720 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3721 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3722
3723 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3724
3725 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3726
3727 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3728
3729 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3730 * testsuite/libgomp.fortran/depend-5.f90: New test.
3731 * testsuite/libgomp.fortran/depend-6.f90: New test.
3732 * testsuite/libgomp.fortran/depend-7.f90: New test.
3733
3734 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3735
3736 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3737 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3738 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3739
3740 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
3741
3742 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3743
3744 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
3745
3746 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3747
3748 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3749
3750 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3751 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3752 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3753 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3754 * Makefile.in: Regenerate.
3755
3756 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3757
3758 * Makefile.am (libgomp_la_LIBADD): Initialize.
3759 * plugin/configfrag.ac (DL_LIBS): New.
3760 (PLUGIN_GCN_LIBS): Remove.
3761 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3762 * plugin/Makefrag.am (libgomp_la_LIBADD)
3763 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3764 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3765 * Makefile.in: Regenerate.
3766 * config.h.in: Likewise.
3767 * configure: Likewise.
3768 * testsuite/Makefile.in: Likewise.
3769
3770 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3771
3772 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3773 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3774 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3775 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3776 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3777 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3778 * Makefile.in: Regenerate.
3779 * config.h.in: Likewise.
3780 * configure: Likewise.
3781
3782 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3783
3784 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3785 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3786 * Makefile.in: Regenerate.
3787 * config.h.in: Likewise.
3788 * configure: Likewise.
3789 * testsuite/Makefile.in: Likewise.
3790
3791 2022-05-12 Jakub Jelinek <jakub@redhat.com>
3792
3793 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3794 * task.c (gomp_init_task): Initialize depend_all_memory.
3795 (gomp_task_handle_depend): Handle omp_all_memory.
3796 (gomp_task_run_post_handle_depend_hash): Clear
3797 parent->depend_all_memory if equal to current task.
3798 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3799 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3800 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3801 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3802
3803 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3804
3805 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3806 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3807 * Makefile.in: Regenerate.
3808 * configure: Likewise.
3809 * testsuite/Makefile.in: Likewise.
3810
3811 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3812
3813 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3814 consider 'PLUGIN_GCN_CPPFLAGS'.
3815 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3816 'PLUGIN_GCN_LDFLAGS'.
3817 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3818 Remove.
3819 * Makefile.in: Regenerate.
3820 * configure: Likewise.
3821 * testsuite/Makefile.in: Likewise.
3822
3823 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3824
3825 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3826 (HSA_RUNTIME_LDFLAGS): Remove.
3827 * configure: Regenerate.
3828
3829 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3830
3831 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3832 'append always_ld_library_path ":$hsa_runtime_lib"'.
3833 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3834
3835 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3836
3837 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3838 multi-device testing.
3839
3840 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3841
3842 * libgomp.map: Added omp_target_is_accessible.
3843 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3844 * omp.h.in: Added omp_target_is_accessible.
3845 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3846 * omp_lib.h.in: Likewise.
3847 * target.c (omp_target_is_accessible): Added implementation of
3848 omp_target_is_accessible.
3849 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3850 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3851
3852 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3853
3854 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3855
3856 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3857
3858 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3859
3860 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3861
3862 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3863
3864 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3865
3866 * libgomp.map: Added omp_get_mapped_ptr.
3867 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3868 * omp.h.in: Added omp_get_mapped_ptr.
3869 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3870 * omp_lib.h.in: Likewise.
3871 * target.c (omp_get_mapped_ptr): Added implementation of
3872 omp_get_mapped_ptr.
3873 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3874 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3875 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3876 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3877 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3878 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3879 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3880 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3881
3882 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
3883
3884 PR fortran/104717
3885 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3886 privatization scanning. For GCN offloading compilation, raise
3887 '-mgang-private-size'.
3888
3889 2022-04-26 Jakub Jelinek <jakub@redhat.com>
3890
3891 PR libgomp/105358
3892 * work.c (gomp_init_work_share): Don't mask of adjustment for
3893 dynamic long long realignment if struct gomp_work_share has smaller
3894 alignof than long long.
3895 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3896 struct gomp_work_share has smaller alignof than long long or if
3897 sizeof (struct gomp_work_share) is smaller than
3898 INLINE_ORDERED_TEAM_IDS_OFF.
3899 * loop_ull.c (GOMP_loop_ull_start): Likewise.
3900 * sections.c (GOMP_sections2_start): Likewise.
3901
3902 2022-04-25 Jakub Jelinek <jakub@redhat.com>
3903 Thomas Schwinge <thomas@codesourcery.com>
3904
3905 PR fortran/104717
3906 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3907
3908 2022-04-13 Jakub Jelinek <jakub@redhat.com>
3909
3910 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3911
3912 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
3913
3914 * plugin/cuda/cuda.h: Remove file.
3915 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3916 "cuda/cuda.h" instead of <cuda.h>.
3917 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3918 'PLUGIN_NVPTX_CPPFLAGS'.
3919 * configure: Regenerate.
3920
3921 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
3922
3923 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3924
3925 2022-04-04 Tom de Vries <tdevries@suse.de>
3926
3927 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3928 on_device_arch_nvptx instead of offload_target_nvptx.
3929 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3930
3931 2022-04-01 Tom de Vries <tdevries@suse.de>
3932
3933 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3934 and use REC_DEPTH.
3935 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3936
3937 2022-04-01 Tom de Vries <tdevries@suse.de>
3938
3939 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3940 num_workers check.
3941
3942 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
3943 Lulu Cheng <chenglulu@loongson.cn>
3944
3945 * configure.tgt: Add LoongArch triplet.
3946
3947 2022-03-28 Tom de Vries <tdevries@suse.de>
3948
3949 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3950 instead of /libexec/.
3951 * configure: Regenerate.
3952
3953 2022-03-25 Tom de Vries <tdevries@suse.de>
3954
3955 PR libgomp/105042
3956 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3957 execution time.
3958 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3959 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3960
3961 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
3962
3963 PR middle-end/104285
3964 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3965 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3966 * testsuite/libgomp.c++/target-same-name-2.C: New test.
3967 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3968 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3969 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3970
3971 2022-03-22 Tom de Vries <tdevries@suse.de>
3972
3973 PR target/104916
3974 PR target/104783
3975 * testsuite/libgomp.c/pr104783-2.c: New test.
3976
3977 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
3978
3979 PR fortran/103039
3980 * testsuite/libgomp.fortran/associate4.f90: New test.
3981
3982 2022-03-18 Tom de Vries <tdevries@suse.de>
3983
3984 PR target/104952
3985 * testsuite/libgomp.c/pr104952-1.c: New test.
3986 * testsuite/libgomp.c/pr104952-2.c: New test.
3987
3988 2022-03-18 Jakub Jelinek <jakub@redhat.com>
3989
3990 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3991 variable next to pl variable.
3992
3993 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3994
3995 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3996 Enhance.
3997 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3998 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3999
4000 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
4001
4002 PR middle-end/90115
4003 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
4004 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4005
4006 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
4007
4008 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
4009 omp_set_max_active_levels.
4010 * testsuite/libgomp.fortran/icv-8.f90: New test.
4011
4012 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
4013
4014 PR testsuite/102841
4015 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
4016
4017 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
4018
4019 * libgomp.texi: Fix typo.
4020
4021 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4022
4023 PR middle-end/100280
4024 PR middle-end/104892
4025 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
4026 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
4027 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4028 Likewise.
4029 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4030 Likewise.
4031 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4032 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4033 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4034 Likewise.
4035
4036 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4037
4038 PR middle-end/104892
4039 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
4040 to PR104892.
4041 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
4042 enable '--param=openacc-kernels=decompose' and adjust.
4043 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4044 Likewise.
4045 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4046 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4047 Likewise.
4048
4049 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4050
4051 PR middle-end/90115
4052 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
4053 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
4054 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4055 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
4056
4057 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4058
4059 PR middle-end/100280
4060 PR middle-end/104086
4061 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4062 Merge this...
4063 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4064 ..., and this...
4065 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
4066 this, and adjust.
4067 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4068 Extend.
4069
4070 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
4071
4072 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
4073 trait. Test last index in w and v array. Remove redundant
4074 assignment to V(1). Move alignment checks at the end of
4075 parallel region.
4076
4077 2022-03-10 Tom de Vries <tdevries@suse.de>
4078
4079 * testsuite/libgomp.c/pr104783.c: New test.
4080
4081 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
4082
4083 PR middle-end/90115
4084 PR middle-end/102330
4085 PR middle-end/104774
4086 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4087 Enhance.
4088 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4089 Adjust.
4090 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4091 Likewise.
4092 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4093 Likewise.
4094 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4095 Likewise.
4096 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4097 Likewise.
4098 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4099 Likewise.
4100 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4101 Likewise.
4102 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4103 Likewise.
4104 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4105 Likewise.
4106 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4107 Likewise.
4108 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4109 Likewise.
4110 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4111 Likewise.
4112 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4113 Likewise.
4114 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4115 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4116 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4117
4118 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
4119
4120 PR middle-end/90115
4121 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
4122 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4123 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4124 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4125
4126 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4127
4128 PR testsuite/104791
4129 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
4130 expected diagnostics.
4131
4132 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4133
4134 PR middle-end/104784
4135 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4136 Test with '--param=openacc-kernels=decompose'.
4137 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4138 Likewise.
4139 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4140 Likewise.
4141 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4142 Likewise.
4143 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4144 Likewise.
4145 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4146 Likewise.
4147 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4148 Likewise.
4149 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4150 Likewise.
4151 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4152 Likewise.
4153 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4154 Likewise.
4155 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4156 Likewise.
4157 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4158 Likewise.
4159 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4160 Likewise.
4161 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4162 Likewise.
4163 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4164 Likewise.
4165 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4166 Likewise.
4167 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4168 Likewise.
4169 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4170 Likewise.
4171 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4172 Likewise.
4173 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4174 Likewise.
4175 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4176 Likewise.
4177 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4178 Likewise.
4179 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4180 Likewise.
4181 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4182 Likewise.
4183 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4184 Likewise.
4185 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4186 Likewise.
4187 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4188 Likewise.
4189 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4190 Likewise.
4191 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4192 Likewise.
4193 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4194 Likewise.
4195 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4196 Likewise.
4197 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4198 Likewise.
4199 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4200 Likewise.
4201
4202 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4203
4204 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4205 Test '-fopt-info-omp-all'.
4206 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4207 Likewise.
4208 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4209 Likewise.
4210 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4211 Likewise.
4212 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4213 Likewise.
4214 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4215 Likewise.
4216 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4217 Likewise.
4218 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4219 Likewise.
4220 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4221 Likewise.
4222 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4223 Likewise.
4224 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4225 Likewise.
4226 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4227 Likewise.
4228 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4229 Likewise.
4230 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4231 Likewise.
4232 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4233 Likewise.
4234 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4235 Likewise.
4236 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4237 Likewise.
4238 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4239 Likewise.
4240 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4241 Likewise.
4242 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4243 Likewise.
4244 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4245 Likewise.
4246 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4247 Likewise.
4248 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4249 Likewise.
4250 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4251 Likewise.
4252 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4253 Likewise.
4254 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4255 Likewise.
4256 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4257 Likewise.
4258 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4259 Likewise.
4260 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4261 Likewise.
4262 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4263 Likewise.
4264 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4265 Likewise.
4266 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4267 Likewise.
4268 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4269 Likewise.
4270
4271 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4272
4273 PR middle-end/100280
4274 PR middle-end/104132
4275 PR middle-end/104133
4276 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4277 Extend.
4278
4279 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4280
4281 PR middle-end/100280
4282 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4283 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4284 Likewise.
4285
4286 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4287
4288 PR middle-end/100280
4289 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4290 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4291 Likewise.
4292
4293 2022-02-28 Tom de Vries <tdevries@suse.de>
4294
4295 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4296 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4297 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4298 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4299 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4300 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4301
4302 2022-02-24 Tom de Vries <tdevries@suse.de>
4303
4304 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4305 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4306 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4307 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4308 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4309 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4310 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4311
4312 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4313
4314 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4315 gang-redundant execution.
4316
4317 2022-02-22 Tom de Vries <tdevries@suse.de>
4318
4319 PR target/99555
4320 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4321 from config/rtems/bar.c.
4322 (futex_wait, futex_wake): New function.
4323 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4324 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4325 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4326 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4327 and replace with include of config/linux/bar.c.
4328 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4329 (gomp_barrier_init): Init new fields.
4330 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4331 workarounds.
4332 * testsuite/libgomp.c/pr99555-1.c: Same.
4333 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4334
4335 2022-02-22 Tom de Vries <tdevries@suse.de>
4336
4337 PR testsuite/104146
4338 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4339 -foffload=-Wa,--verify for nvptx.
4340 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4341
4342 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
4343
4344 * testsuite/libgomp.fortran/depend-4.f90: New test.
4345
4346 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
4347
4348 PR c++/102204
4349 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4350
4351 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4352
4353 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4354 * target.c (copy_firstprivate_data): Copy only if host address is not
4355 NULL.
4356 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4357 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4358 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4359 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4360 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4361 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4362 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4363 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4364 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4365 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4366
4367 2022-02-08 Jakub Jelinek <jakub@redhat.com>
4368
4369 PR libgomp/104385
4370 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4371 clear task->parent.
4372 * testsuite/libgomp.c/pr104385.c: New test.
4373
4374 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
4375
4376 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4377 STOP of previous commit.
4378
4379 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
4380
4381 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4382 from is_64bit_aligned_.
4383 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4384 and use it, more implicit none, remove unused argument.
4385
4386 2022-02-03 David Seifert <soap@gentoo.org>
4387 Jakub Jelinek <jakub@redhat.com>
4388
4389 * configure.ac: Support --disable-werror.
4390 * configure: Regenerate.
4391
4392 2022-02-01 Tom de Vries <tdevries@suse.de>
4393
4394 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4395 PR83812 workaround.
4396 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4397 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4398
4399 2022-02-01 Tom de Vries <tdevries@suse.de>
4400
4401 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4402 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4403 resources'.
4404 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4405 Same.
4406 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4407
4408 2022-02-01 Tom de Vries <tdevries@suse.de>
4409
4410 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4411 recursion depth.
4412 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4413
4414 2022-01-31 Martin Liska <mliska@suse.cz>
4415
4416 * acinclude.m4: Detect *_ld_is_mold and use it.
4417 * configure: Regenerate.
4418
4419 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
4420
4421 * libgomp.texi (OpenMP 5.0): Update implementation status.
4422
4423 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4424
4425 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4426 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4427 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4428 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4429 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4430 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4431 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4432 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4433 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4434 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4435 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4436 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4437 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4438 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4439 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4440
4441 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4442
4443 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4444 "static") to make the device num available in the offload image.
4445
4446 2022-01-19 Martin Liska <mliska@suse.cz>
4447 Thomas Schwinge <thomas@codesourcery.com>
4448
4449 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4450 patterns.
4451 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4452 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4453 Likewise.
4454 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4455 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4456 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4457 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4458 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4459 Likewise.
4460 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4461 Likewise.
4462 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4463 Likewise.
4464 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4465 Likewise.
4466 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4467 Likewise.
4468 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4469 Likewise.
4470 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4471 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4472 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4473
4474 2022-01-18 Martin Liska <mliska@suse.cz>
4475
4476 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4477 in dg-warning.
4478 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4479 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4480 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4481 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4482 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4483 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4484 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4485 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4486 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4487 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4488 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4489 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4490 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4491 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4492 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4493
4494 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4495
4496 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4497 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4498 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4499
4500 2022-01-17 Julian Brown <julian@codesourcery.com>
4501 Thomas Schwinge <thomas@codesourcery.com>
4502
4503 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4504 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4505 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4506
4507 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4508 Andrew Stubbs <ams@codesourcery.com>
4509
4510 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4511 the number of teams and threads if necessary.
4512 (gcn_exec): Automatically set the number of gangs and workers if
4513 necessary.
4514
4515 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4516
4517 * testsuite/libgomp.fortran/allocate-1.c: New test.
4518 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4519 * libgomp.texi: Remove string that says that allocate clause
4520 support is for C/C++ only.
4521
4522 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4523
4524 * testsuite/libgomp.c-c++-common/on_device_arch.h
4525 (any_device_arch, any_device_arch_intel_mic): New.
4526 * testsuite/lib/libgomp.exp
4527 (check_effective_target_offload_device_any_intel_mic): New.
4528 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4529 * testsuite/libgomp.fortran/target10.f90: Likewise.
4530
4531 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4532
4533 PR tree-optimization/102192
4534 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4535 '-Wuninitialized' diagnostics.
4536
4537 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4538
4539 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4540 current '-Wuninitialized' diagnostics.
4541 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4542 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4543 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4544 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4545 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4546 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4547 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4548 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4549 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4550 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4551 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4552 Likewise.
4553
4554 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4555
4556 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4557 for 'offload_device_intel_mic'.
4558
4559 2022-01-13 Julian Brown <julian@codesourcery.com>
4560 Thomas Schwinge <thomas@codesourcery.com>
4561
4562 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4563 offloading execution XFAIL.
4564
4565 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4566
4567 PR middle-end/100280
4568 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4569 Update.
4570 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4571 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4572 Likewise.
4573
4574 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4575
4576 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4577 Enhance.
4578 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4579 Likewise.
4580 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4581 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4582 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4583 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4584 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4585 Likewise.
4586 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4587 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4588 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4589 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4590
4591 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
4592
4593 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4594 * testsuite/libgomp.fortran/target10.f90: Likewise.
4595
4596 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4597
4598 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4599 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4600 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4601
4602 2022-01-03 Jakub Jelinek <jakub@redhat.com>
4603
4604 * libgomp.texi: Bump @copying's copyright year.
4605
4606 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
4607
4608 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4609 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4610
4611 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
4612
4613 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4614 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4615 table, not individual symbols.
4616
4617 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4618
4619 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4620 "target offload_device_nonshared_as"
4621 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4622 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4623
4624 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4625
4626 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4627 not overwritten during cross-host/device copying.
4628 (gomp_update): Likewise.
4629 (gomp_exit_data): Likewise.
4630 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4631 * testsuite/libgomp.c++/target-12.C: Likewise.
4632 * testsuite/libgomp.c++/target-15.C: Likewise.
4633 * testsuite/libgomp.c++/target-16.C: Likewise.
4634 * testsuite/libgomp.c++/target-17.C: Likewise.
4635 * testsuite/libgomp.c++/target-21.C: Likewise.
4636 * testsuite/libgomp.c++/target-23.C: Likewise.
4637 * testsuite/libgomp.c/target-23.c: Likewise.
4638 * testsuite/libgomp.c/target-29.c: Likewise.
4639 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4640
4641 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4642
4643 PR middle-end/92120
4644 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4645 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4646 (goacc_enter_data_internal): Likewise.
4647 * target.c (gomp_map_vars_existing): Update assert condition to
4648 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4649 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4650 parameter, add support for mapping a pointer with NULL target.
4651 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4652 parameter, add support for attaching a pointer with NULL target.
4653 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4654 gomp_attach_pointer, add handling for
4655 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4656 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4657 * testsuite/libgomp.c++/target-23.C: New testcase.
4658 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4659 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4660 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4661 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4662 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4663 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4664 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4665
4666 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
4667
4668 * libgomp.texi (OpenMP 5.1): Update status.
4669
4670 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
4671
4672 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4673
4674 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4675
4676 PR fortran/90030
4677 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4678 * testsuite/libgomp.fortran/pr90030.f90: New test.
4679
4680 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4681 Thomas Schwinge <thomas@codesourcery.com>
4682
4683 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4684 temporary skip.
4685
4686 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4687 Thomas Schwinge <thomas@codesourcery.com>
4688
4689 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4690 skip.
4691
4692 2021-11-29 Richard Biener <rguenther@suse.de>
4693
4694 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4695 return.
4696
4697 2021-11-24 Jakub Jelinek <jakub@redhat.com>
4698
4699 PR middle-end/103384
4700 * testsuite/libgomp.c/declare-variant-2.c: New test.
4701
4702 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
4703
4704 * alloc.c (gomp_aligned_alloc): Fix typo.
4705
4706 2021-11-18 Jakub Jelinek <jakub@redhat.com>
4707
4708 PR libgomp/102838
4709 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4710 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4711 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4712 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4713 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4714 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4715 gomp_aligned_alloc instead of team_malloc.
4716
4717 2021-11-18 Jakub Jelinek <jakub@redhat.com>
4718
4719 PR libgomp/102838
4720 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4721 memalign over posix_memalign over aligned_alloc over fallback
4722 with malloc instead of aligned_alloc over _aligned_alloc over
4723 posix_memalign over memalign over fallback with malloc. For
4724 aligned_alloc, round up size up to multiple of al.
4725
4726 2021-11-16 Jakub Jelinek <jakub@redhat.com>
4727
4728 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4729 construct as implemented.
4730
4731 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
4732
4733 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4734
4735 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4736
4737 * task.c (gomp_create_target_task): Copy args array as well.
4738 * target.c (gomp_target_fallback): Add args argument.
4739 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4740 (GOMP_target): Adjust gomp_target_fallback caller.
4741 (GOMP_target_ext): Likewise.
4742 (gomp_target_task_fn): Likewise.
4743 * config/nvptx/team.c (gomp_nvptx_main): Set
4744 gomp_global_icv.thread_limit_var.
4745 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4746
4747 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4748
4749 * config/nvptx/team.c (__gomp_team_num): Define as
4750 __attribute__((shared)) var.
4751 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4752 * config/nvptx/target.c (__gomp_team_num): Declare as
4753 extern __attribute__((shared)) var.
4754 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4755 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4756 is bigger than num_blocks, use num_teams_lower teams and arrange for
4757 bumping of __gomp_team_num if !first and returning false once we run
4758 out of teams.
4759 * config/nvptx/teams.c (__gomp_team_num): Declare as
4760 extern __attribute__((shared)) var.
4761 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4762
4763 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4764
4765 * testsuite/libgomp.c/teams-5.c: New test.
4766
4767 2021-11-12 Jakub Jelinek <jakub@redhat.com>
4768
4769 PR target/103201
4770 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4771 to ...
4772 * config/gcn/teams.c: ... here. New file.
4773
4774 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4775
4776 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4777 implicit map handling to allow a "superset" existing map as valid case.
4778 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4779 (get_implicit): New function to extract implicit status.
4780 (gomp_map_fields_existing): Adjust arguments in calls to
4781 gomp_map_vars_existing, and add uses of get_implicit.
4782 (gomp_map_vars_internal): Likewise.
4783 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4784
4785 2021-11-12 Jakub Jelinek <jakub@redhat.com>
4786
4787 * libgomp_g.h (GOMP_teams4): Declare.
4788 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4789 * target.c (GOMP_teams4): New function.
4790 * config/nvptx/target.c (GOMP_teams): Remove.
4791 (GOMP_teams4): New function.
4792 * config/gcn/target.c (GOMP_teams): Remove.
4793 (GOMP_teams4): New function.
4794 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4795 teams instead of <= 2.
4796 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4797
4798 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
4799
4800 * testsuite/libgomp.fortran/teams-1.f90: New test.
4801
4802 2021-11-11 Jakub Jelinek <jakub@redhat.com>
4803
4804 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4805 * team.c (struct gomp_thread_start_data): Likewise.
4806 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4807 (gomp_team_start): Initialize start_data->num_teams and
4808 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4809 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4810 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4811 instead of gomp_num_teams and gomp_team_num.
4812 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4813 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4814 * testsuite/libgomp.c/teams-4.c: New test.
4815
4816 2021-11-11 Jakub Jelinek <jakub@redhat.com>
4817
4818 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4819
4820 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4821
4822 * env.c (parse_gomp_openacc_dim): Restore parsing.
4823
4824 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
4825
4826 PR middle-end/102972
4827 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4828 parallel construct.
4829 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4830 * testsuite/libgomp.c/target-3.c: Likewise.
4831 * testsuite/libgomp.c/target-5.c: Likewise.
4832 * testsuite/libgomp.c/target-6.c: Likewise.
4833 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4834 * testsuite/libgomp.c/teams-1.c: Likewise.
4835 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4836 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4837 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4838 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4839 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4840 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4841 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4842
4843 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
4844
4845 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4846 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4847
4848 2021-10-27 Jakub Jelinek <jakub@redhat.com>
4849
4850 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4851 aren't implemented for Fortran yet.
4852
4853 2021-10-27 Jakub Jelinek <jakub@redhat.com>
4854
4855 * testsuite/libgomp.c/loop-26.c: New test.
4856 * testsuite/libgomp.c/loop-27.c: New test.
4857
4858 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
4859
4860 PR testsuite/102910
4861 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4862 instead of #include <alloca.h> + alloca.
4863
4864 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4865
4866 * libgomp.texi (Support of strictly structured blocks in Fortran):
4867 Adjust to 'Y'.
4868 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4869
4870 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4871
4872 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4873 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4874
4875 2021-10-20 Jakub Jelinek <jakub@redhat.com>
4876
4877 PR libgomp/102838
4878 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4879 (struct gomp_work_share): Only use aligned(64) attribute if
4880 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4881 add padding before lock to ensure lock is at offset 64 bytes
4882 into the structure.
4883 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4884 New poor man's static assertions.
4885 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4886 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4887
4888 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
4889 Richard Biener <rguenther@suse.de>
4890
4891 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4892
4893 2021-10-18 Jakub Jelinek <jakub@redhat.com>
4894
4895 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4896 && gomp_places_list_len < count after nfirst <= nlast loop condition.
4897
4898 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
4899
4900 PR fortran/102086
4901 PR fortran/92189
4902 PR fortran/92621
4903 PR fortran/101308
4904 PR fortran/101309
4905 PR fortran/101635
4906 PR fortran/92482
4907 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4908
4909 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4910
4911 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4912 type from char [50] to const char *.
4913 (places_array): Add a testcase for simplified syntax place followed
4914 by length or length and stride.
4915
4916 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4917
4918 * env.c (parse_one_place): Handle non-negative-number the same
4919 as { non-negative-number }. Reject even !number:1 and
4920 !number:1:stride or !place:1 or !place:1:stride instead of just
4921 length other than 1.
4922 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4923 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4924 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4925 as implemented.
4926 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4927 simplified syntax.
4928
4929 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4930
4931 * env.c (parse_schedule): For strtoul or strtoull calls which don't
4932 clearly reject return value 0 as invalid handle the case where end
4933 pointer is the same as first argument as invalid.
4934 (parse_unsigned_long_1): Likewise.
4935 (parse_one_place): Likewise.
4936 (parse_places_var): Likewise.
4937 (parse_stacksize): Likewise.
4938 (parse_spincount): Likewise.
4939 (parse_affinity): Likewise.
4940 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
4941 Make code valid C89.
4942 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4943 For strtoul calls which don't clearly reject return value 0 as
4944 invalid handle the case where end pointer is the same as first
4945 argument as invalid.
4946 (gomp_affinity_init_level_1): Likewise.
4947 (gomp_affinity_init_numa_domains): Likewise.
4948 * config/rtems/proc.c (parse_thread_pools): Likewise.
4949
4950 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4951
4952 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4953 after creating count places clean up and return immediately.
4954 * testsuite/libgomp.c/places-6.c: New test.
4955 * testsuite/libgomp.c/places-7.c: New test.
4956 * testsuite/libgomp.c/places-8.c: New test.
4957 * testsuite/libgomp.c/places-9.c: New test.
4958 * testsuite/libgomp.c/places-10.c: New test.
4959
4960 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4961
4962 * env.c (parse_places_var): Handle numa_domains as level 5.
4963 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4964 function.
4965 (gomp_affinity_init_level): Use it instead of
4966 gomp_affinity_init_level_1 for level == 5.
4967 * testsuite/libgomp.c/places-5.c: New test.
4968
4969 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4970
4971 * env.c (parse_places_var): Handle ll_caches as level 4.
4972 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4973 function.
4974 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4975 last level cache.
4976 (gomp_affinity_init_level): Likewise.
4977 * testsuite/libgomp.c/places-1.c: New test.
4978 * testsuite/libgomp.c/places-2.c: New test.
4979 * testsuite/libgomp.c/places-3.c: New test.
4980 * testsuite/libgomp.c/places-4.c: New test.
4981
4982 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4983
4984 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4985 directive.
4986
4987 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4988
4989 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4990
4991 2021-10-12 Julian Brown <julian@codesourcery.com>
4992
4993 * target.c (gomp_copy_host2dev): Release device lock on cbuf
4994 error path.
4995
4996 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
4997
4998 * testsuite/libgomp.fortran/icv-3.f90: New.
4999 * testsuite/libgomp.fortran/icv-4.f90: New.
5000
5001 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5002
5003 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
5004 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
5005 OMP_TEAMS_THREAD_LIMIT): Document.
5006
5007 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5008
5009 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
5010 to avoid makeinfo warnings.
5011
5012 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5013
5014 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
5015 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
5016
5017 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5018
5019 PR libgomp/102628
5020 PR libgomp/102668
5021 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
5022 allocation sizes from 420 to 320 and from 768 to 568.
5023 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
5024 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
5025 for cr from 16 to 4.
5026
5027 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5028
5029 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
5030 * testsuite/libgomp.c/scan-12.c: Likewise.
5031 * testsuite/libgomp.c/scan-13.c: Likewise.
5032 * testsuite/libgomp.c/scan-14.c: Likewise.
5033 * testsuite/libgomp.c/scan-15.c: Likewise.
5034 * testsuite/libgomp.c/scan-16.c: Likewise.
5035 * testsuite/libgomp.c/scan-17.c: Likewise.
5036 * testsuite/libgomp.c/scan-18.c: Likewise.
5037 * testsuite/libgomp.c/scan-19.c: Likewise.
5038 * testsuite/libgomp.c/scan-20.c: Likewise.
5039 * testsuite/libgomp.c/scan-21.c: Likewise.
5040 * testsuite/libgomp.c/scan-22.c: Likewise.
5041 * testsuite/libgomp.c++/scan-9.C: Likewise.
5042 * testsuite/libgomp.c++/scan-10.C: Likewise.
5043 * testsuite/libgomp.c++/scan-11.C: Likewise.
5044 * testsuite/libgomp.c++/scan-12.C: Likewise.
5045 * testsuite/libgomp.c++/scan-13.C: Likewise.
5046 * testsuite/libgomp.c++/scan-14.C: Likewise.
5047 * testsuite/libgomp.c++/scan-15.C: Likewise.
5048 * testsuite/libgomp.c++/scan-16.C: Likewise.
5049
5050 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
5051
5052 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
5053
5054 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
5055
5056 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
5057 omp_atv_serialized.
5058 * omp.h.in: Add deprecated flag for omp_atv_sequential.
5059 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
5060 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
5061 * testsuite/libgomp.fortran/alloc-12.f90: New test.
5062
5063 2021-10-11 Jakub Jelinek <jakub@redhat.com>
5064
5065 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
5066 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5067 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
5068 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5069 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
5070 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5071 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
5072 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
5073 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
5074 omp_set_teams_thread_limit{,_,_8_}.
5075 * icv.c (omp_set_num_teams, omp_get_max_teams,
5076 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
5077 functions.
5078 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
5079 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
5080 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
5081 vars.
5082 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
5083 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
5084 is not specified, use gomp_nteams_var.
5085 * fortran.c (omp_set_num_teams, omp_get_max_teams,
5086 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
5087 ialias_redirect.
5088 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
5089 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
5090 omp_get_teams_thread_limit_): New functions.
5091
5092 2021-10-09 liuhongt <hongtao.liu@intel.com>
5093
5094 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
5095 * testsuite/libgomp.c++/scan-11.C: Ditto.
5096 * testsuite/libgomp.c++/scan-12.C: Ditto.
5097 * testsuite/libgomp.c++/scan-13.C: Ditto.
5098 * testsuite/libgomp.c++/scan-14.C: Ditto.
5099 * testsuite/libgomp.c++/scan-15.C: Ditto.
5100 * testsuite/libgomp.c++/scan-16.C: Ditto.
5101 * testsuite/libgomp.c++/scan-9.C: Ditto.
5102 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
5103 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
5104 * testsuite/libgomp.c/scan-11.c: Ditto.
5105 * testsuite/libgomp.c/scan-12.c: Ditto.
5106 * testsuite/libgomp.c/scan-13.c: Ditto.
5107 * testsuite/libgomp.c/scan-14.c: Ditto.
5108 * testsuite/libgomp.c/scan-15.c: Ditto.
5109 * testsuite/libgomp.c/scan-16.c: Ditto.
5110 * testsuite/libgomp.c/scan-17.c: Ditto.
5111 * testsuite/libgomp.c/scan-18.c: Ditto.
5112 * testsuite/libgomp.c/scan-19.c: Ditto.
5113 * testsuite/libgomp.c/scan-20.c: Ditto.
5114 * testsuite/libgomp.c/scan-21.c: Ditto.
5115 * testsuite/libgomp.c/scan-22.c: Ditto.
5116
5117 2021-10-09 Jakub Jelinek <jakub@redhat.com>
5118
5119 * libgomp.texi (OpenMP 5.1): Mention implemented support for
5120 structured block sequences in C/C++. Mention support for
5121 unconstrained/reproducible modifiers on order clause.
5122 Mention partial (C/C++ only) support of extentensions to atomics
5123 construct. Mention partial (C/C++ on clause only) support of
5124 align/allocator modifiers on allocate clause.
5125
5126 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
5127
5128 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
5129 based on libgomp.c-c++-common/order-reproducible-1.c.
5130 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
5131 * testsuite/libgomp.fortran/my-usleep.c: New test.
5132
5133 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
5134
5135 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5136 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5137 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5138 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5139 based on libgomp.c-c++-common/alloc-9.c.
5140
5141 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5142
5143 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5144 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5145
5146 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5147
5148 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5149 ialias_redirect.
5150 * env.c (handle_omp_display_env): Use ialias_call.
5151 * icv-device.c: Move ialias right below each function.
5152 (omp_get_device_num): Use ialias_call.
5153 * fortran.c (omp_fulfill_event): Add ialias_redirect.
5154 * icv.c (omp_get_active_level): Add ialias_redirect.
5155
5156 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5157
5158 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5159 __alloc_align__ (1) attribute.
5160 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5161
5162 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
5163
5164 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5165 for -fintrinsic-modules-path= warning of the C compiler.
5166 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5167 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5168
5169 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
5170
5171 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5172 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5173 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5174 omp_realloc): Add.
5175 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5176 omp_realloc): Add.
5177 * testsuite/libgomp.fortran/alloc-10.f90: New test.
5178 * testsuite/libgomp.fortran/alloc-6.f90: New test.
5179 * testsuite/libgomp.fortran/alloc-7.c: New test.
5180 * testsuite/libgomp.fortran/alloc-7.f90: New test.
5181 * testsuite/libgomp.fortran/alloc-8.f90: New test.
5182 * testsuite/libgomp.fortran/alloc-9.f90: New test.
5183
5184 2021-09-30 Jakub Jelinek <jakub@redhat.com>
5185
5186 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5187 omp_realloc): New prototypes.
5188 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5189 attribute.
5190 * allocator.c: Include string.h.
5191 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
5192 variable and use it instead of alignment so that when retrying the old
5193 alignment is used again. Don't retry if new alignment is the same
5194 as old alignment, unless allocator had pool size.
5195 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5196 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5197 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5198 omp_aligned_calloc and omp_realloc.
5199 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5200 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5201 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5202 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5203 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5204 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5205
5206 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
5207
5208 PR libgomp/96661
5209 * configure.ac: Only check for int-type = 2*size_t support when
5210 building with Fortran support.
5211 * configure: Regenerate.
5212
5213 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
5214
5215 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5216 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5217
5218 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
5219
5220 * team.c: Initialize start_data.
5221 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5222 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5223
5224 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
5225
5226 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5227 dg-message back to dg-note.
5228
5229 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
5230
5231 PR fortran/94070
5232 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5233 expected dg-note output.
5234
5235 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
5236
5237 PR fortran/55534
5238 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5239 r12-3722 by removing -Wno-missing-include-dirs.
5240 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5241
5242 2021-09-22 Jakub Jelinek <jakub@redhat.com>
5243
5244 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5245 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5246
5247 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
5248
5249 PR fortran/55534
5250 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5251 to ALWAYS_CFLAGS.
5252 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5253
5254 2021-09-18 Jakub Jelinek <jakub@redhat.com>
5255
5256 * testsuite/libgomp.c++/default-1.C: New test.
5257 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5258 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5259 to default clause in C and C++" as implemented.
5260
5261 2021-09-17 Julian Brown <julian@codesourcery.com>
5262
5263 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5264
5265 2021-09-17 Julian Brown <julian@codesourcery.com>
5266
5267 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5268
5269 2021-09-17 Jakub Jelinek <jakub@redhat.com>
5270
5271 * libgomp.texi (OpenMP 5.1): Spelling fix,
5272 declare variante -> declare variant.
5273
5274 2021-09-17 Jakub Jelinek <jakub@redhat.com>
5275
5276 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5277 Use /* */ comments instead of //.
5278 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5279 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5280 * testsuite/libgomp.c++/atomic-16.C: New test.
5281 * testsuite/libgomp.c++/atomic-17.C: New test.
5282
5283 2021-09-10 Jakub Jelinek <jakub@redhat.com>
5284
5285 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5286 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5287 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5288
5289 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
5290
5291 * libgomp.texi (OpenMP Implementation Status): Extend
5292 OpenMP 5.0 section.
5293 (OpenACC Profiling Interface): Fix typo.
5294
5295 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
5296
5297 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5298 not to 4.5; link to new section.
5299 (OpenMP Implementation Status): New.
5300
5301 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5302
5303 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5304
5305 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
5306
5307 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5308 dg-output.
5309 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5310
5311 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5312 Jakub Jelinek <jakub@redhat.com>
5313
5314 * testsuite/libgomp.c/address-space-1.c: New file.
5315
5316 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5317
5318 * testsuite/lib/libgomp.exp
5319 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5320 (check_effective_target_offload_device_intel_mic): New 'proc'.
5321 * testsuite/libgomp.c-c++-common/on_device_arch.h
5322 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5323 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5324 'dg-xfail-run-if'.
5325 * testsuite/libgomp.fortran/target10.f90: Likewise.
5326
5327 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
5328
5329 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5330 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5331 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5332 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5333
5334 2021-08-23 Jakub Jelinek <jakub@redhat.com>
5335
5336 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5337 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5338 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5339
5340 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5341
5342 * config/nvptx/error.c (fwrite, exit): Override, too.
5343 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5344 of offloading testing.
5345 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5346
5347 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
5348
5349 * testsuite/libgomp.fortran/error-1.f90: New test.
5350
5351 2021-08-20 Jakub Jelinek <jakub@redhat.com>
5352
5353 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5354 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5355 * error.c (GOMP_warning, GOMP_error): New functions.
5356 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5357
5358 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
5359
5360 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5361 omp_target_free. omp_target_is_present, omp_target_memcpy,
5362 omp_target_memcpy_rect, omp_target_associate_ptr,
5363 omp_target_disassociate_ptr): Add interface.
5364 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5365 omp_target_free. omp_target_is_present, omp_target_memcpy,
5366 omp_target_memcpy_rect, omp_target_associate_ptr,
5367 omp_target_disassociate_ptr): Add interface.
5368 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5369 interface block for omp_alloc + omp_free.
5370 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5371 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5372 * testsuite/libgomp.fortran/target-12.f90: New test.
5373
5374 2021-08-18 Jakub Jelinek <jakub@redhat.com>
5375
5376 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5377
5378 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
5379
5380 * testsuite/libgomp.fortran/scope-1.f90: New test.
5381 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5382
5383 2021-08-17 Jakub Jelinek <jakub@redhat.com>
5384
5385 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5386 * Makefile.in: Regenerated.
5387 * libgomp_g.h (GOMP_scope_start): Declare.
5388 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5389 * scope.c: New file.
5390 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5391 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5392
5393 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5394
5395 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5396 '?:' issues.
5397
5398 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
5399
5400 * testsuite/libgomp.fortran/masked-1.f90: New test.
5401
5402 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5403
5404 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5405
5406 2021-08-12 Jakub Jelinek <jakub@redhat.com>
5407
5408 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5409
5410 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
5411
5412 * env.c (parse_bind_var): Accept 'primary' as alias for
5413 'master'.
5414 (omp_display_env): Add TODO comment to
5415 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5416 * libgomp.texi: Change 'master thread' to 'primary thread'
5417 in line with OpenMP 5.1.
5418 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5419 omp_proc_bind_master is an alias of it.
5420 (OMP_PROC_BIND): Mention 'PRIMARY'.
5421 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5422 (omp_proc_bind_primary): Add.
5423 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5424 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5425 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5426 * omp_lib.h.in (omp_proc_bind_primary): Add.
5427 * testsuite/libgomp.c/affinity-1.c: Check that
5428 'primary' works and is identical to 'master'.
5429
5430 2021-08-09 Julian Brown <julian@codesourcery.com>
5431 Kwok Cheung Yeung <kcy@codesourcery.com>
5432 Thomas Schwinge <thomas@codesourcery.com>
5433
5434 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5435 16.
5436 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5437 [acc_device_radeon]: Update.
5438 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5439 [ACC_DEVICE_TYPE_radeon]: Likewise.
5440 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5441 [acc_device_radeon]: Likewise.
5442 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5443 [ACC_DEVICE_TYPE_radeon]: Likewise.
5444 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5445 'openacc_radeon_accel_selected' and '-O0'.
5446 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5447
5448 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5449
5450 * icv-device.c (omp_get_device_num): New API function, host side.
5451 * fortran.c (omp_get_device_num_): New interface function.
5452 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5453 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5454 omp_get_device_num_.
5455 * libgomp.texi (omp_get_device_num): Add documentation for new API
5456 function.
5457 * omp.h.in (omp_get_device_num): Add declaration.
5458 * omp_lib.f90.in (omp_get_device_num): Likewise.
5459 * omp_lib.h.in (omp_get_device_num): Likewise.
5460 * target.c (gomp_load_image_to_device): If additional entry for device
5461 number exists at end of returned entries from 'load_image_func' hook,
5462 copy the assigned device number over to the device variable.
5463 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5464 (omp_get_device_num): New API function, device side.
5465 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5466 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5467 at end of returned 'target_table' entries.
5468 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5469 (omp_get_device_num): New API function, device side.
5470 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5471 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5472 at end of returned 'target_table' entries.
5473 * testsuite/lib/libgomp.exp
5474 (check_effective_target_offload_target_intelmic): New function for
5475 testing for intelmic offloading.
5476 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5477 * testsuite/libgomp.fortran/target10.f90: New test.
5478
5479 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5480 Ulrich Drepper <drepper@redhat.com>
5481
5482 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5483 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5484
5485 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5486 Julian Brown <julian@codesourcery.com>
5487 Kwok Cheung Yeung <kcy@codesourcery.com>
5488
5489 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5490 's%oaccdevlow%oaccloops%g'.
5491 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5492 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5493 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5494 Likewise.
5495 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5496 Likewise.
5497 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5498 Likewise.
5499 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5500 Likewise.
5501 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5502 Likewise.
5503 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5504 Likewise.
5505 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5506 Likewise.
5507 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5508 Likewise.
5509 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5510
5511 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
5512
5513 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5514 threader.
5515 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5516
5517 2021-07-27 Ulrich Drepper <drepper@gmail.com>
5518
5519 * env.c (wait_policy, stacksize): New static variables,
5520 move out of handle_omp_display_env.
5521 (omp_display_env): New function. The meat of the old
5522 handle_omp_display_env function.
5523 (handle_omp_display_env): Change to not take parameters
5524 and instead use the global variables. Only perform
5525 parsing, defer to omp_display_env for the implementation.
5526 (initialize_env): Remove local variables wait_policy and
5527 stacksize. Don't pass parameters to handle_omp_display_env.
5528 * fortran.c: Add ialias_redirect for omp_display_env.
5529 (omp_display_env_, omp_display_env_8_): New functions.
5530 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5531 omp_display_env_, and omp_display_env_8_.
5532 * omp.h.in: Declare omp_display_env.
5533 * omp_lib.f90.in: Likewise.
5534 * omp_lib.h.in: Likewise.
5535
5536 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5537 Julian Brown <julian@codesourcery.com>
5538
5539 * target.c (gomp_coalesce_buf_add): Update comment.
5540 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5541 'aq && cbuf'.
5542 (gomp_map_vars_internal): Only 'if (!aq)', do
5543 'gomp_coalesce_buf_add'.
5544 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5545 XFAIL.
5546
5547 2021-07-27 Julian Brown <julian@codesourcery.com>
5548 Thomas Schwinge <thomas@codesourcery.com>
5549
5550 * libgomp.h (gomp_copy_host2dev): Update prototype.
5551 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5552 argument to gomp_copy_host2dev (false).
5553 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5554 (copy_data): Don't free src.
5555 (queue_push_copy): Remove free_src handling.
5556 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5557 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5558 snapshotting.
5559 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5560 queue_push_copy.
5561 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5562 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5563 data when true, and set up deferred freeing of temporary buffer.
5564 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5565 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5566 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5567 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5568 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5569 XFAIL.
5570
5571 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5572 Tom de Vries <tom@codesourcery.com>
5573
5574 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5575 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5576
5577 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5578
5579 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5580 sequencing of 'async' data copying vs. profiling events.
5581 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5582 Likewise.
5583
5584 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5585 Julian Brown <julian@codesourcery.com>
5586
5587 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5588 'async'/'wait' issue.
5589 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5590 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5591 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5592
5593 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5594 Joseph Myers <joseph@codesourcery.com>
5595 Cesar Philippidis <cesar@codesourcery.com>
5596
5597 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5598 file.
5599 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5600 Likewise.
5601 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5602 Likewise.
5603 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5604
5605 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5606
5607 PR target/101484
5608 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5609 '-Wno-error=array-bounds'.
5610 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5611 * libgomp.h [__AMDGCN__]: Likewise.
5612
5613 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5614
5615 PR target/101484
5616 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5617 * libgomp.h [__AMDGCN__]: Likewise.
5618
5619 2021-07-13 Jakub Jelinek <jakub@redhat.com>
5620 Florian Weimer <fweimer@redhat.com>
5621
5622 * config/linux/sem.h: Don't include limits.h.
5623 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5624 * config/linux/affinity.c: Include limits.h.
5625
5626 2021-07-01 Jakub Jelinek <jakub@redhat.com>
5627
5628 PR middle-end/94366
5629 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5630
5631 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
5632
5633 PR other/67300
5634 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5635 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5636 avoid disabling other offload targets.
5637 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5638 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5639 * testsuite/libgomp.c/target-44.c: Likewise.
5640
5641 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
5642
5643 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5644 target has shared memory and disable some scalar pointer/allocatable
5645 checks if not as firstprivate does not work.
5646
5647 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5648
5649 PR testsuite/101114
5650 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5651 Add "target offload_device_nonshared_as" condition for enabling test.
5652
5653 2021-06-24 Jakub Jelinek <jakub@redhat.com>
5654
5655 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5656 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5657 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5658 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5659
5660 2021-06-23 Jakub Jelinek <jakub@redhat.com>
5661
5662 PR middle-end/101167
5663 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5664
5665 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5666
5667 * hashtab.h (htab_clear): New function with initialization code
5668 factored out from...
5669 (htab_create): ...here, adjust to use htab_clear function.
5670 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5671 special refcount values, add comments.
5672 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5673 (REFCOUNT_LINK): Likewise.
5674 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5675 element siblings.
5676 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5677 sibling maps.
5678 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5679 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5680 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5681 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5682 (struct splay_tree_key_s): Add structelem_refcount and
5683 structelem_refcount_ptr fields into a union with dynamic_refcount.
5684 Add comments.
5685 (gomp_map_vars): Delete declaration.
5686 (gomp_map_vars_async): Likewise.
5687 (gomp_unmap_vars): Likewise.
5688 (gomp_unmap_vars_async): Likewise.
5689 (goacc_map_vars): New declaration.
5690 (goacc_unmap_vars): Likewise.
5691 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5692 (goacc_enter_datum): Likewise.
5693 (goacc_enter_data_internal): Likewise.
5694 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5695 and goacc_unmap_vars.
5696 (GOACC_data_start): Adjust to use goacc_map_vars.
5697 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5698 * target.c (hash_entry_type): New typedef.
5699 (htab_alloc): New function hook for hashtab.h.
5700 (htab_free): Likewise.
5701 (htab_hash): Likewise.
5702 (htab_eq): Likewise.
5703 (hashtab.h): Add file include.
5704 (gomp_increment_refcount): New function.
5705 (gomp_decrement_refcount): Likewise.
5706 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5707 gomp_increment_refcount.
5708 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5709 to gomp_map_vars_existing.
5710 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5711 variable to guard OpenMP specific paths, adjust calls to
5712 gomp_map_vars_existing, add structure element sibling splay_tree_key
5713 sequence creation code, adjust Fortran map case to avoid increment
5714 under OpenMP.
5715 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5716 local refcount_set if caller passed in NULL, adjust call to
5717 gomp_map_vars_internal.
5718 (gomp_map_vars_async): Adjust and rename into...
5719 (goacc_map_vars): ...this new function, adjust call to
5720 gomp_map_vars_internal.
5721 (gomp_remove_splay_tree_key): New function with code factored out from
5722 gomp_remove_var_internal.
5723 (gomp_remove_var_internal): Add code to handle removing multiple
5724 splay_tree_key sequence for structure elements, adjust code to use
5725 gomp_remove_splay_tree_key for splay-tree key removal.
5726 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5727 gomp_decrement_refcount.
5728 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5729 local refcount_set if caller passed in NULL, adjust call to
5730 gomp_unmap_vars_internal.
5731 (gomp_unmap_vars_async): Adjust and rename into...
5732 (goacc_unmap_vars): ...this new function, adjust call to
5733 gomp_unmap_vars_internal.
5734 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5735 gomp_unmap_vars.
5736 (GOMP_target_ext): Likewise.
5737 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5738 (GOMP_target_data): Likewise.
5739 (GOMP_target_data_ext): Likewise.
5740 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5741 (gomp_exit_data): Add refcount_set parameter, adjust to use
5742 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5743 after main loop.
5744 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5745 gomp_map_vars and gomp_exit_data.
5746 (gomp_target_task_fn): Likewise.
5747 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5748 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5749 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5750 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5751 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5752 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5753
5754 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
5755
5756 PR fortran/92568
5757 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5758
5759 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
5760 Thomas Schwinge <thomas@codesourcery.com>
5761
5762 * libgomp.map (GOACC_2.0.2): New symbol version.
5763 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5764 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5765
5766 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5767 Andrew Stubbs <ams@codesourcery.com>
5768
5769 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5770 extracted from...
5771 (GOACC_enter_exit_data): ... here.
5772 (GOACC_declare): Use it.
5773
5774 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5775
5776 * oacc-parallel.c (GOACC_declare): Move...
5777 * oacc-mem.c: ... here.
5778 * libgomp_g.h: Adjust.
5779
5780 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
5781 Thomas Schwinge <thomas@codesourcery.com>
5782
5783 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5784 handling.
5785
5786 2021-06-10 Jakub Jelinek <jakub@redhat.com>
5787
5788 PR tree-optimization/100981
5789 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5790 dsdotr and dsdoti to 0.
5791
5792 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
5793
5794 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5795 if atomic compare-and-swap is supported on 'int'.
5796
5797 2021-06-09 Richard Biener <rguenther@suse.de>
5798
5799 PR tree-optimization/100981
5800 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5801
5802 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5803
5804 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5805 unconditionally.
5806 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5807 Update.
5808 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5809 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5810
5811 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5812
5813 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5814 '-DACC_MEM_SHARED=0'.
5815 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5816 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5817 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5818 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5819 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5820 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5821 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5822 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5823 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5824 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5825 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5826 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5827 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5828 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5829 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5830 'acc_device_radeon' testing.
5831 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5832 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5833 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5834 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5835 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5836 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5837 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5838 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5839 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5840 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5841 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5842 for non-'openacc_nvidia_accel_selected'.
5843 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5844 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5845 all implement this checking".
5846 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5847 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5848 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5849 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5850 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5851
5852 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5853
5854 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5855 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5856
5857 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5858
5859 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5860 for 'acc_device_radeon'.
5861
5862 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5863
5864 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5865 for non-'acc_device_nvidia'.
5866
5867 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5868
5869 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5870 'acc_device_radeon' testing.
5871 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5872 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5873 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5874
5875 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5876
5877 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5878 require 'openacc_nvidia_accel_selected'. Fix up for
5879 'ACC_DEVICE_TYPE_radeon'.
5880
5881 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5882
5883 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5884 'openacc_nvidia_accel_selected'.
5885 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5886
5887 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5888
5889 * testsuite/lib/libgomp.exp
5890 (check_effective_target_openacc_radeon_accel_selected):
5891 Streamline.
5892
5893 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5894
5895 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5896 PR80547 workaround.
5897
5898 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5899
5900 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5901 <acc_device_nvidia>: Update comment.
5902
5903 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
5904
5905 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5906
5907 2021-05-27 Jakub Jelinek <jakub@redhat.com>
5908
5909 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5910 check_effective_target_openacc_cublas,
5911 check_effective_target_openacc_cudart): New.
5912 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5913 target openacc_cublas.
5914 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5915 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5916 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5917 target openacc_cuda.
5918 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5919 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5920 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5921 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5922 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5923 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5924 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5925 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5926 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5927 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5928 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5929 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5930 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5931 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5932 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5933 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5934 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5935 targets openacc_cublas and openacc_cudart.
5936 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5937 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5938 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5939 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5940 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5941 Require effective target openacc_cudart.
5942 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5943 for effective target openacc_cuda and add && defined USE_CUDA_H to
5944 preprocessor conditionals. Guard -lcuda also on openacc_cuda
5945 effective target.
5946
5947 2021-05-26 Jakub Jelinek <jakub@redhat.com>
5948
5949 PR libgomp/100573
5950 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5951 GOMP_target_end_data, GOMP_target_update_ext,
5952 GOMP_target_enter_exit_data): New dummy entrypoints.
5953 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5954 GOMP_target_end_data, GOMP_target_update_ext,
5955 GOMP_target_enter_exit_data): Likewise.
5956 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5957 OMPFROM, OMPTO): Define.
5958 (main): Remove #pragma omp target teams around all the tests.
5959 * testsuite/libgomp.c-c++-common/target-41.c: New test.
5960 * testsuite/libgomp.c-c++-common/target-42.c: New test.
5961
5962 2021-05-25 Jakub Jelinek <jakub@redhat.com>
5963
5964 PR middle-end/99928
5965 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5966
5967 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
5968
5969 PR fortran/86470
5970 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5971 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5972 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5973
5974 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
5975
5976 PR testsuite/90115
5977 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5978 uninteresting/varying diagnostics.
5979
5980 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5981
5982 PR middle-end/90115
5983 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5984 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5985
5986 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5987
5988 PR middle-end/90115
5989 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5990 file.
5991 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5992 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5993 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5994 Likewise.
5995 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5996 Likewise.
5997 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5998 Likewise.
5999 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6000 Likewise.
6001 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6002 Likewise.
6003 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6004 Likewise.
6005 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6006 Likewise.
6007 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6008 Likewise.
6009 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6010 Likewise.
6011 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6012 Likewise.
6013 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6014 Likewise.
6015 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6016 Likewise.
6017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6018 Likewise.
6019 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6020 Likewise.
6021 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6022 Likewise.
6023 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6024 Likewise.
6025 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6026 Likewise.
6027 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6028 Likewise.
6029 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6030 Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6032 Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6034 Likewise.
6035 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6036 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6037 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6038 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6040 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6041 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6043 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6044 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6045 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6046 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6047 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6048 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6049 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6050 Likewise.
6051 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
6052 Likewise.
6053 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
6054 Likewise.
6055 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6056 Likewise.
6057 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6058 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6059 Likewise.
6060 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6061 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6062 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6063 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6064 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
6065 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6066 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6067 Likewise.
6068 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6069 Likewise.
6070 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6071 Likewise.
6072 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6073 Likewise.
6074 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6075 Likewise.
6076 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6077 Likewise.
6078 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6079 Likewise.
6080 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6081 Likewise.
6082 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6083 Likewise.
6084 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6085 Likewise.
6086 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6087 Likewise.
6088 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6089 Likewise.
6090 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6091 Likewise.
6092 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6093 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6094 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6095 Likewise.
6096 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6097 Likewise.
6098 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6099 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6100 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6101
6102 2021-05-21 Julian Brown <julian@codesourcery.com>
6103 Chung-Lin Tang <cltang@codesourcery.com>
6104 Thomas Schwinge <thomas@codesourcery.com>
6105
6106 PR middle-end/90115
6107 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
6108 test.
6109 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6110 Likewise.
6111 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6112 Likewise.
6113
6114 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
6115
6116 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
6117 for nvptx offloading.
6118
6119 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
6120
6121 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
6122
6123 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
6124
6125 PR target/83812
6126 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
6127
6128 2021-05-19 Julian Brown <julian@codesourcery.com>
6129
6130 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
6131
6132 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6133
6134 * testsuite/lib/libgomp.exp
6135 (check_effective_target_offload_target_nvptx): Don't shadow global
6136 'offload_targets' variable.
6137
6138 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6139
6140 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6141 '-latomic' to nvptx offloading compilation.
6142 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6143
6144 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6145
6146 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6147 offloading compilation.
6148
6149 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
6150
6151 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6152 if new tasks generated.
6153 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6154
6155 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
6156
6157 * testsuite/libgomp.fortran/parallel-master.f90: New test.
6158
6159 2021-05-13 Martin Liska <mliska@suse.cz>
6160
6161 PR testsuite/100569
6162 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6163 * testsuite/libgomp.c/pr46032-2.c: Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6166
6167 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
6168
6169 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6170 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6171
6172 2021-05-11 Jakub Jelinek <jakub@redhat.com>
6173
6174 PR middle-end/100471
6175 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6176 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6177 reduction pointer.
6178 * testsuite/libgomp.c/task-reduction-4.c: New test.
6179
6180 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
6181 Tom de Vries <tdevries@suse.de>
6182
6183 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6184 complex/floating-point || + && reduction with 'omp target'.
6185 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6186
6187 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
6188
6189 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6190 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6191 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6192 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6193
6194 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
6195
6196 PR testsuite/100397
6197 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6198 declaration to scope of non-'depend'-guarded assignment to avoid races.
6199
6200 2021-05-03 Tom de Vries <tdevries@suse.de>
6201
6202 PR target/100321
6203 * testsuite/libgomp.c/target-44.c: New test.
6204
6205 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
6206
6207 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6208
6209 2021-04-29 Tom de Vries <tdevries@suse.de>
6210
6211 * testsuite/libgomp.c/pr81778.c: New test.
6212
6213 2021-04-29 Tom de Vries <tdevries@suse.de>
6214
6215 PR target/100232
6216 * testsuite/libgomp.c/target-43.c: New file.
6217
6218 2021-04-28 Jakub Jelinek <jakub@redhat.com>
6219 Tobias Burnus <tobias@codesourcery.com>
6220
6221 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6222 * target.c (gomp_load_plugin_for_device): If set and if a plugin
6223 can't be dlopened, silently assume it has no devices.
6224 * Makefile.in: Regenerate.
6225 * config.h.in: Regenerate.
6226 * configure: Regenerate.
6227
6228 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
6229
6230 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6231 Use [Ww]arning in dg-bogus as FE diagnostic and default
6232 diagnostic differ and the result depends on ENABLE_OFFLOAD.
6233 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6234 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6235 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6236
6237 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
6238
6239 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6240 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6241 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6242 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6243 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6244
6245 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6246 Nathan Sidwell <nathan@codesourcery.com>
6247 Tom de Vries <vries@codesourcery.com>
6248 Julian Brown <julian@codesourcery.com>
6249 Kwok Cheung Yeung <kcy@codesourcery.com>
6250
6251 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6252 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6253 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6254 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6255 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6256 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6257 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6258 Likewise.
6259 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6260 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6261 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6262 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6263 Likewise.
6264 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6265 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6266 Likewise.
6267 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6268 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6269 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6270 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6271 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6272 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6273 Likewise.
6274 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6275 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6276 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6277 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6278 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6279 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6280 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6281 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6282 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6283 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6284 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6285
6286 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6287
6288 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6289 compile with '-w'.
6290 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6291 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6292 Likewise.
6293 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6294 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6295 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6296 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6297 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6298 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6299 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6300
6301 2021-04-22 Richard Biener <rguenther@suse.de>
6302
6303 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6304 only on nvptx-none.
6305
6306 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6307
6308 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6309 omp_depend_kind instead of defining it as 16.
6310
6311 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6312
6313 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6314 New, based on check_effective_target_offload_target_nvptx.
6315 (check_effective_target_offload_target_nvptx): Call it.
6316 (check_effective_target_offload_target_amdgcn): New.
6317 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6318 Require target offload_target_nvptx || offload_target_amdgcn.
6319 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6320 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6321 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6322
6323 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6324
6325 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6326
6327 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6328
6329 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6330 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6331 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6332 Likewise.
6333 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6334 Likewise.
6335 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6336
6337 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6338
6339 PR target/99555
6340 * testsuite/lib/libgomp.exp
6341 (check_effective_target_offload_device_nvptx): New.
6342 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6343 resolved, make sure that we exit quickly, with error status,
6344 XFAILed.
6345 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6346 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6347
6348 2021-04-14 Jakub Jelinek <jakub@redhat.com>
6349
6350 PR testsuite/100071
6351 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6352 cp = omp_alloc with cp, p arguments instead of cq, q and call
6353 c_f_pointer after last cq = omp_alloc with cq, q.
6354
6355 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6356
6357 PR middle-end/98088
6358 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6359 for loop with GT/GE condition.
6360 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6361
6362 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6363
6364 PR middle-end/84991
6365 PR middle-end/84992
6366 PR middle-end/90779
6367 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6368
6369 2021-04-09 Jakub Jelinek <jakub@redhat.com>
6370
6371 PR libgomp/99984
6372 * team.c (gomp_thread_start): Call pthread_setspecific for
6373 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6374 has been initialized to avoid false positive warning.
6375
6376 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
6377
6378 PR target/99555
6379 * testsuite/lib/on_device_arch.c: Move to ...
6380 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6381 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6382 #include on_device_arch.h.
6383 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6384 on_device_arch.h instead of using dg-additional-source.
6385 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6386 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6387 on_device_arch.c without relative paths.
6388
6389 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6390
6391 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6392 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6393 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6394 * config.h.in: Regenerate.
6395 * configure: Likewise.
6396
6397 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6398
6399 PR target/99555
6400 * testsuite/lib/on_device_arch.c: New file.
6401 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6402 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6403 skip for nvptx offloading, with error status.
6404 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6405
6406 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6407
6408 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6409 OpenACC 'serial' construct diagnostic for nvptx offloading.
6410
6411 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
6412
6413 PR c++/99509
6414 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6415
6416 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
6417
6418 PR fortran/98858
6419 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6420
6421 2021-03-04 Jakub Jelinek <jakub@redhat.com>
6422
6423 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6424 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6425 checking of -m32 or -mx32 options on the command line.
6426 * config.h.in: Regenerated.
6427 * configure: Regenerated.
6428
6429 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6430
6431 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6432 support from the target.
6433
6434 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6435 Jakub Jelinek <jakub@redhat.com>
6436
6437 PR libgomp/98738
6438 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6439 (struct gomp_task): Replace detach and completion_sem fields with
6440 union containing completion_sem and detach_team. Add deferred_p
6441 field.
6442 (struct gomp_team): Remove task_detach_queue.
6443 * task.c: Include assert.h.
6444 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6445 Rearrange initialization order of fields.
6446 (task_fulfilled_p): Delete.
6447 (GOMP_task): Use address of task as the event handle. Remove
6448 initialization of detach field. Initialize deferred_p field.
6449 Use automatic local for completion_sem. Initialize detach_team field
6450 for deferred tasks.
6451 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6452 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6453 decrement task_running_count. Move finish_cancelled block out of
6454 else branch. Relocate call to gomp_team_barrier_done.
6455 (GOMP_taskwait): Handle tasks with completion events that have not
6456 been fulfilled.
6457 (GOMP_taskgroup_end): Likewise.
6458 (omp_fulfill_event): Use address of task as event handle. Post to
6459 completion_sem for undeferred tasks. Clear detach_team if task
6460 has not finished. For finished tasks, handle post-execution tasks,
6461 call gomp_team_barrier_wake if necessary, and free task.
6462 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6463 (free_team): Remove free of task_detach_queue.
6464 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6465 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6466 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6467 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6468 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6469 Change data-sharing of detach events on enclosing parallel to private.
6470 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6471 taskwait directive.
6472 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6473 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6474 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6475 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6476 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6477 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6478 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6479 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6480 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6481 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6482 Change data-sharing of detach events on enclosing parallel to private.
6483 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6484 taskwait directive.
6485 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6486 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6487 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6488 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6489 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6490
6491 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
6492
6493 PR fortran/99171
6494 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6495
6496 2021-02-17 Julian Brown <julian@codesourcery.com>
6497
6498 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6499 expected errors.
6500
6501 2021-02-17 Julian Brown <julian@codesourcery.com>
6502
6503 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6504 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6505
6506 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6507
6508 * config/linux/x86/futex.h (__futex_wait):
6509 Revert output type back to long.
6510 (__futex_wake): Ditto.
6511 (futex_wait): Update for revert.
6512 (futex_wake): Ditto.
6513
6514 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6515
6516 * config/linux/x86/futex.h (__futex_wait): New static inline
6517 wrapper function. Correct output type to int and
6518 timeout type to void *.
6519 (__futex_wake): New static inline wrapper function.
6520 Correct output type to int.
6521 (futex_wait): Use __futex_wait.
6522 (futex_wake): Use __futex_wake.
6523
6524 2021-02-10 Julian Brown <julian@codesourcery.com>
6525
6526 PR fortran/98979
6527 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6528 errors.
6529
6530 2021-02-04 Julian Brown <julian@codesourcery.com>
6531
6532 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6533
6534 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
6535
6536 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6537 EF_AMDGPU_MACH_AMDGCN_GFX908.
6538 (gcn_gfx908_s): New constant string.
6539 (isa_hsa_name): Add gfx908.
6540 (isa_code): Add gfx908.
6541
6542 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6543
6544 * libgomp.texi (omp_fulfill_event): New entry.
6545
6546 2021-01-20 Jakub Jelinek <jakub@redhat.com>
6547
6548 * task.c (GOMP_task): Rename priority argument to priority_arg,
6549 add priority automatic variable and modify that variable. Instead of
6550 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6551 check flags for that bit.
6552
6553 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
6554
6555 PR fortran/98476
6556 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6557
6558 2021-01-18 Andreas Schwab <schwab@suse.de>
6559
6560 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6561
6562 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6563
6564 * config/rtems/sem.h (gomp_sem_getcount): New function.
6565
6566 2021-01-18 Jakub Jelinek <jakub@redhat.com>
6567
6568 * config/linux/sem.h (gomp_sem_getcount): New function.
6569 * config/posix/sem.h (gomp_sem_getcount): New function.
6570 * config/posix/sem.c (gomp_sem_getcount): New function.
6571 * config/accel/sem.h (gomp_sem_getcount): New function.
6572 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6573 (omp_fulfill_event): Likewise.
6574
6575 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6576
6577 * fortran.c (omp_fulfill_event_): New.
6578 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6579 (struct gomp_team): Add task_detach_queue and task_detach_count
6580 fields.
6581 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6582 * libgomp_g.h (GOMP_task): Add extra argument.
6583 * omp.h.in (enum omp_event_handle_t): New.
6584 (omp_fulfill_event): New.
6585 * omp_lib.f90.in (omp_event_handle_kind): New.
6586 (omp_fulfill_event): New.
6587 * omp_lib.h.in (omp_event_handle_kind): New.
6588 (omp_fulfill_event): Declare.
6589 * priority_queue.c (priority_tree_find): New.
6590 (priority_list_find): New.
6591 (priority_queue_find): New.
6592 * priority_queue.h (priority_queue_predicate): New.
6593 (priority_queue_find): New.
6594 * task.c (gomp_init_task): Initialize detach field.
6595 (task_fulfilled_p): New.
6596 (GOMP_task): Add detach argument. Ignore detach argument if
6597 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6598 field. Copy address of completion_sem into detach argument and
6599 into the start of the data record. Wait for detach event if task
6600 not deferred.
6601 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6602 Remove completed tasks and requeue dependent tasks.
6603 (omp_fulfill_event): New.
6604 * team.c (gomp_new_team): Initialize task_detach_queue and
6605 task_detach_count fields.
6606 (free_team): Free task_detach_queue field.
6607 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6608 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6609 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6610 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6611 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6612 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6613 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6614 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6615 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6616 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6617 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6618 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6619
6620 2021-01-15 Jakub Jelinek <jakub@redhat.com>
6621
6622 PR target/70454
6623 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6624 be added through preprocessor check on
6625 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6626
6627 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6628
6629 PR libgomp/65099
6630 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6631 configurations.
6632 * configure: Regenerate.
6633 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6634 check.
6635
6636 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6637
6638 * configure: Re-generate.
6639
6640 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6641
6642 * configure: Re-generate.
6643
6644 2021-01-05 Julian Brown <julian@codesourcery.com>
6645
6646 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6647 (struct ptx_device): Add omp_stacks struct.
6648 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6649 (nvptx_close_device): Free cached stacks block and mutex.
6650 (nvptx_stacks_free): New function.
6651 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6652 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6653 (nvptx_stacks_alloc): Rename to...
6654 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6655 size or smaller is required.
6656 (nvptx_stacks_free): Remove.
6657 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6658 during kernel execution.
6659
6660 2021-01-01 Jakub Jelinek <jakub@redhat.com>
6661
6662 * libgomp.texi: Bump @copying's copyright year.
6663
6664 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6665
6666 * libgomp.texi (Top): Avoid bad "up" link.
6667
6668 2020-12-18 Jakub Jelinek <jakub@redhat.com>
6669
6670 * testsuite/libgomp.c/task-6.c: New test.
6671
6672 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
6673
6674 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6675 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6676
6677 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
6678
6679 * testsuite/libgomp.fortran/scan-1.f90: New test.
6680
6681 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6682
6683 PR target/97865
6684 * configure: Regenerate.
6685
6686 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
6687
6688 * configure: Regenerate.
6689
6690 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6691
6692 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6693 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6694
6695 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
6696
6697 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6698 expected results.
6699
6700 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
6701
6702 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6703 (reserved): Delete unused define.
6704
6705 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6706
6707 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6708 Tcl 8.5-specific behavior.
6709 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6710
6711 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6712
6713 * env.c (gomp_global_icv): Remove nest_var field. Add
6714 max_active_levels_var field.
6715 (gomp_max_active_levels_var): Remove.
6716 (parse_boolean): Return true on success.
6717 (handle_omp_display_env): Express OMP_NESTED in terms of
6718 max_active_levels_var. Change format specifier for
6719 max_active_levels_var.
6720 (initialize_env): Set max_active_levels_var from
6721 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6722 OMP_PROC_BIND.
6723 * icv.c (omp_set_nested): Express in terms of
6724 max_active_levels_var.
6725 (omp_get_nested): Likewise.
6726 (omp_set_max_active_levels): Use max_active_levels_var field instead
6727 of gomp_max_active_levels_var.
6728 (omp_get_max_active_levels): Likewise.
6729 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6730 max_active_levels_var field.
6731 (gomp_supported_active_levels): Set to UCHAR_MAX.
6732 (gomp_max_active_levels_var): Delete.
6733 * libgomp.texi (omp_get_nested): Update documentation.
6734 (omp_set_nested): Likewise.
6735 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6736 (OMP_NESTED): Likewise.
6737 (OMP_NUM_THREADS): Likewise.
6738 (OMP_PROC_BIND): Likewise.
6739 * parallel.c (gomp_resolve_num_threads): Replace reference
6740 to nest_var with max_active_levels_var. Use max_active_levels_var
6741 field instead of gomp_max_active_levels_var.
6742
6743 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
6744
6745 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6746 nvptx_usleep; use also for device={arch(gcn)}.
6747
6748 2020-11-14 Jakub Jelinek <jakub@redhat.com>
6749
6750 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6751 (foo): Add tests for non-VLA private and firstprivate clauses on
6752 omp task.
6753 (bar): Likewise. Remove taking of address from private/firstprivate
6754 variables.
6755 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6756 (foo): Add p, q, px and s arguments. Add tests for array reductions
6757 and for non-VLA private and firstprivate clauses on omp task.
6758 (bar): Removed.
6759 (main): Adjust foo caller. Don't call bar.
6760
6761 2020-11-13 Gergö Barany <gergo@codesourcery.com>
6762 Thomas Schwinge <thomas@codesourcery.com>
6763
6764 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6765 New.
6766 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6767 Likewise.
6768 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6769 Likewise.
6770 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6771 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6772
6773 2020-11-13 Gergö Barany <gergo@codesourcery.com>
6774 Thomas Schwinge <thomas@codesourcery.com>
6775
6776 PR fortran/94358
6777 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6778
6779 2020-11-13 Jakub Jelinek <jakub@redhat.com>
6780
6781 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6782 for array reductions.
6783 (main): Adjust foo callers.
6784
6785 2020-11-12 Jakub Jelinek <jakub@redhat.com>
6786
6787 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6788 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6789 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6790 * allocator.c (omp_aligned_alloc): New for now static function,
6791 add alignment argument and handle it.
6792 (omp_alloc): Reimplement using omp_aligned_alloc.
6793 (GOMP_alloc, GOMP_free): New functions.
6794 (omp_free): Add ialias.
6795 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6796 * testsuite/libgomp.c++/allocate-1.C: New test.
6797
6798 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6799
6800 PR fortran/97782
6801 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6802
6803 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6804
6805 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6806 usable.
6807 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6808 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6809 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6810 (goacc_enter_data_internal): Likewise.
6811 * target.c (gomp_map_vars_internal):
6812 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6813 of gomp_attach_pointer for OpenMP cases.
6814 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6815 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6816 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6817
6818 2020-11-05 Ulrich Drepper <drepper@redhat.com>
6819 Kwok Cheung Yeung <kcy@codesourcery.com>
6820
6821 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6822 * Makefile.in: Regenerate.
6823 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6824 pragmas to ignore -Wdeprecated-declarations warnings.
6825 * icv.c: Likewise.
6826 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6827 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6828 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6829 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6830 deprecated.
6831 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6832 to test options.
6833 * testsuite/libgomp.c/affinity-1.c: Likewise.
6834 * testsuite/libgomp.c/affinity-2.c: Likewise.
6835 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6836 * testsuite/libgomp.c/lib-1.c: Likewise.
6837 * testsuite/libgomp.c/nested-1.c: Likewise.
6838 * testsuite/libgomp.c/nested-2.c: Likewise.
6839 * testsuite/libgomp.c/nested-3.c: Likewise.
6840 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6841 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6842 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6843 * testsuite/libgomp.c/pr35549.c: Likewise.
6844 * testsuite/libgomp.c/pr42942.c: Likewise.
6845 * testsuite/libgomp.c/pr61200.c: Likewise.
6846 * testsuite/libgomp.c/sort-1.c: Likewise.
6847 * testsuite/libgomp.c/target-5.c: Likewise.
6848 * testsuite/libgomp.c/target-6.c: Likewise.
6849 * testsuite/libgomp.c/teams-1.c: Likewise.
6850 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6851 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6852 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6853 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6854 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6855 * testsuite/libgomp.fortran/lib2.f: Likewise.
6856 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6857 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6858
6859 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6860
6861 PR target/85486
6862 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6863 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6864 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6865
6866 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6867
6868 PR testsuite/80219
6869 PR testsuite/85303
6870 * testsuite/lib/libgomp.exp (libgomp_init): Set
6871 'gcc_warning_prefix', 'gcc_error_prefix'.
6872
6873 2020-10-30 Jakub Jelinek <jakub@redhat.com>
6874
6875 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6876 even in field_tgt_clear initializer.
6877
6878 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6879
6880 * testsuite/libgomp.c/target-42.c: New test.
6881
6882 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6883 Tom de Vries <tdevries@suse.de>
6884
6885 PR testsuite/81690
6886 * testsuite/libgomp.c/usleep.h: New file.
6887 * testsuite/libgomp.c/target-32.c: Include usleep.h.
6888 (main): Use tgt_usleep instead of usleep.
6889 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6890 (main): Use tgt_usleep instead of usleep.
6891
6892 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6893
6894 PR lto/96680
6895 * testsuite/libgomp.c/declare-variant-1.c: New test.
6896
6897 2020-10-22 Jakub Jelinek <jakub@redhat.com>
6898
6899 * testsuite/libgomp.c/target-41.c: New test.
6900
6901 2020-10-22 Jakub Jelinek <jakub@redhat.com>
6902
6903 * icv.c (omp_get_initial_device): Remove including corresponding
6904 ialias.
6905 * icv-device.c (omp_get_initial_device): New function. Return
6906 gomp_get_num_devices (). Add ialias.
6907 * target.c (resolve_device): Don't fail with
6908 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6909 gomp_get_num_devices ().
6910 (omp_target_alloc, omp_target_free, omp_target_is_present,
6911 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6912 omp_target_disassociate_ptr, omp_pause_resource): Use
6913 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6914 first use in the functions, in uses dominated by the
6915 gomp_get_num_devices call use num_devices_openmp instead.
6916 * libgomp.texi (omp_get_initial_device): Document.
6917 * config/gcn/icv-device.c (omp_get_initial_device): New function.
6918 Add ialias.
6919 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6920 * testsuite/libgomp.c/target-40.c: New test.
6921
6922 2020-10-21 Jakub Jelinek <jakub@redhat.com>
6923
6924 * env.c (parse_target_offload): Change new_offload var type to int,
6925 preinitialize to -1, remove found var and test new_offload != -1
6926 instead of found.
6927
6928 2020-10-20 Jakub Jelinek <jakub@redhat.com>
6929
6930 * target.c (gomp_target_init): Inside of the function, use automatic
6931 variables corresponding to num_devices, num_devices_openmp and devices
6932 global variables and update the globals only at the end of the
6933 function.
6934
6935 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
6936
6937 * env.c (gomp_target_offload_var): New.
6938 (parse_target_offload): New.
6939 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6940 (initialize_env): Parse OMP_TARGET_OFFLOAD.
6941 * libgomp.h (gomp_target_offload_t): New.
6942 (gomp_target_offload_var): New.
6943 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6944 * target.c (resolve_device): Generate error if device not found and
6945 offloading is mandatory.
6946 (gomp_target_fallback): Generate error if offloading is mandatory.
6947 (GOMP_target): Add argument in call to gomp_target_fallback.
6948 (GOMP_target_ext): Likewise.
6949 (gomp_target_data_fallback): Generate error if offloading is mandatory.
6950 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6951 (GOMP_target_data_ext): Likewise.
6952 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6953 (gomp_target_init): Return early if offloading is disabled.
6954
6955 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
6956
6957 * libgomp.texi (omp_get_max_active_levels): Modify description.
6958 (omp_get_supported_active_levels): Make descriptions consistent.
6959
6960 2020-10-14 Jakub Jelinek <jakub@redhat.com>
6961
6962 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6963
6964 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6965
6966 * env.c (gomp_max_active_levels_var): Initialize to
6967 gomp_supported_active_levels.
6968 (initialize_env): Limit gomp_max_active_levels_var to be at most
6969 equal to gomp_supported_active_levels.
6970 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6971 (omp_get_supported_active_levels_): New.
6972 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6973 to at most equal to gomp_supported_active_levels.
6974 (omp_get_supported_active_levels): New.
6975 * libgomp.h (gomp_supported_active_levels): New.
6976 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6977 omp_get_supported_active_levels_.
6978 * libgomp.texi (omp_get_supported_active_levels): New.
6979 (omp_set_max_active_levels): Update. Add reference to
6980 omp_get_supported_active_levels.
6981 * omp.h.in (omp_get_supported_active_levels): New.
6982 * omp_lib.f90.in (omp_get_supported_active_levels): New.
6983 * omp_lib.h.in (omp_get_supported_active_levels): New.
6984 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6985 against omp_get_supported_active_levels.
6986 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6987
6988 2020-10-11 Clement Chigot <clement.chigot@atos.net>
6989
6990 * config/t-aix: Delete and recreate libgomp before creating
6991 FAT library.
6992
6993 2020-10-08 Tom de Vries <tdevries@suse.de>
6994
6995 PR libgomp/81802
6996 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6997 dimensions.
6998
6999 2020-10-06 Tom de Vries <tdevries@suse.de>
7000
7001 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
7002
7003 2020-10-06 Tom de Vries <tdevries@suse.de>
7004
7005 PR middle-end/90861
7006 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
7007
7008 2020-10-05 Tom de Vries <tdevries@suse.de>
7009
7010 PR fortran/95654
7011 * testsuite/libgomp.fortran/pr95654.f90: New test.
7012
7013 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
7014
7015 * Makefile.in: Regenerate with automake 1.15.1.
7016 * aclocal.m4: Likewise.
7017 * configure: Likewise.
7018 * testsuite/Makefile.in: Likewise.
7019
7020 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
7021
7022 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
7023 and amdgcn targets.
7024
7025 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
7026
7027 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
7028
7029 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
7030
7031 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
7032 total number of threads is one.
7033 (gomp_team_barrier_wake): Likewise.
7034 (gomp_team_barrier_wait_end): Likewise.
7035 (gomp_team_barrier_wait_cancel_end): Likewise.
7036 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
7037 (gomp_team_barrier_wake): Likewise.
7038 (gomp_team_barrier_wait_end): Likewise.
7039 (gomp_team_barrier_wait_cancel_end): Likewise.
7040 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
7041
7042 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
7043
7044 PR middle-end/96390
7045 * testsuite/libgomp.c++/pr96390.C: New test.
7046 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
7047
7048 2020-09-27 Clement Chigot <clement.chigot@atos.net>
7049
7050 * config/t-aix: Use $(AR) without -X32_64.
7051
7052 2020-09-25 Jakub Jelinek <jakub@redhat.com>
7053
7054 * testsuite/libgomp.c/loop-25.c: New test.
7055
7056 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
7057
7058 PR fortran/95654
7059 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
7060
7061 2020-09-22 Tom de Vries <tdevries@suse.de>
7062
7063 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
7064 fails.
7065
7066 2020-09-16 Nathan Sidwell <nathan@acm.org>
7067
7068 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
7069
7070 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
7071
7072 PR fortran/96668
7073 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
7074
7075 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
7076
7077 PR fortran/96668
7078 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
7079 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
7080 (gomp_map_vars_existing): Update call to it.
7081 (gomp_map_fields_existing): Likewise
7082 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
7083 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
7084 remapped.
7085 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
7086 GOMP_MAP_POINTER.
7087 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
7088 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
7089
7090 2020-09-14 Tom de Vries <tdevries@suse.de>
7091
7092 * config/nvptx/atomic.c: New file. Add
7093 __sync_val_compare_and_swap_16.
7094 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
7095 target offload_target_nvptx.
7096
7097 2020-09-08 Julian Brown <julian@codesourcery.com>
7098
7099 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
7100 iteration-ordering assumptions.
7101
7102 2020-09-08 Julian Brown <julian@codesourcery.com>
7103
7104 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
7105 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7106
7107 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
7108
7109 * plugin/plugin-nvptx.c (nvptx_free):
7110 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
7111 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
7112 comments.
7113
7114 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
7115
7116 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
7117
7118 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
7119
7120 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
7121
7122 2020-08-13 Jakub Jelinek <jakub@redhat.com>
7123
7124 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
7125 * testsuite/libgomp.c/loop-23.c (main): Likewise.
7126 * testsuite/libgomp.c/loop-24.c: New test.
7127
7128 2020-08-08 Jakub Jelinek <jakub@redhat.com>
7129 Tobias Burnus <tobias@codesourcery.com>
7130
7131 PR fortran/93553
7132 * testsuite/libgomp.fortran/pr93553.f90: New test.
7133
7134 2020-08-05 Jakub Jelinek <jakub@redhat.com>
7135
7136 * testsuite/libgomp.c/loop-22.c: New test.
7137 * testsuite/libgomp.c/loop-23.c: New test.
7138
7139 2020-08-05 Jakub Jelinek <jakub@redhat.com>
7140
7141 PR middle-end/96459
7142 * testsuite/libgomp.c/teams-3.c: New test.
7143 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7144 if not defined yet.
7145 (N(test)): Use it before all N(f*) calls.
7146 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7147 (main): Don't call all test_* functions from within
7148 #pragma omp teams reduction(|:err), call them directly.
7149
7150 2020-08-04 Tom de Vries <tdevries@suse.de>
7151
7152 PR target/96428
7153 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7154 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7155
7156 2020-08-03 Julian Brown <julian@codesourcery.com>
7157 Thomas Schwinge <thomas@codesourcery.com>
7158
7159 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7160 shared-memory devices. Extend with further checking.
7161
7162 2020-08-03 Martin Jambor <mjambor@suse.cz>
7163
7164 * plugin/Makefrag.am: Remove configuration of HSA plugin.
7165 * aclocal.m4: Regenerated.
7166 * Makefile.in: Regenerated.
7167 * config.h.in: Regenerated.
7168 * configure: Regenerated.
7169 * plugin/configfrag.ac: Likewise.
7170 * plugin/hsa_ext_finalize.h: Removed.
7171 * plugin/plugin-hsa.c: Likewise.
7172 * testsuite/Makefile.in: Regenerated.
7173 * testsuite/lib/libgomp.exp
7174 (offload_target_to_openacc_device_type): Remove hsa case.
7175 (check_effective_target_hsa_offloading_selected_nocache): Removed
7176 (check_effective_target_hsa_offloading_selected): Likewise.
7177 (libgomp_init): Do not add -Wno-hsa to additional_flags.
7178 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7179 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7180 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7181 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7182 * testsuite/libgomp.hsa.c/c.exp: Likewise.
7183 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7184 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7185 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7186 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7187 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7188 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7189 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7190 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7191 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7192 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7193 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7194 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7195 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7196 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7197 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7198 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7199 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7200 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7201 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7202
7203 2020-07-27 Julian Brown <julian@codesourcery.com>
7204 Thomas Schwinge <thomas@codesourcery.com>
7205
7206 * libgomp.h (struct target_var_desc): Rename do_detach field to
7207 is_attach.
7208 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
7209 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7210 (goacc_enter_data_internal): Don't affect reference counts
7211 for attach mappings.
7212 (goacc_exit_data_internal): Don't affect reference counts for detach
7213 mappings.
7214 * target.c (gomp_map_vars_existing): Don't affect reference counts for
7215 attach mappings.
7216 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7217 mark attach mappings.
7218 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7219 reference count for attach mappings.
7220 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7221 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7222 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7223 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7224 test as shouldfail.
7225 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7226 gracefully in no-finalize mode.
7227 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7228
7229 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
7230
7231 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7232 use.
7233 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7234 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7235
7236 2020-07-23 Julian Brown <julian@codesourcery.com>
7237 Thomas Schwinge <thomas@codesourcery.com>
7238
7239 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7240 finalization for detach operation.
7241 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7242 New test.
7243
7244 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
7245
7246 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7247 * libgomp_f.h.in (omp_check_defines): Check whether
7248 sizeof of determined Fortran kind and C typedef match.
7249 * omp_lib.f90.in: Add omp_depened_kind.
7250 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7251 * configure: Regenerate.
7252 * Makefile.in: Regenerate.
7253 * testsuite/Makefile.in: Regenerate.
7254
7255 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
7256
7257 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7258 gcc/testsuite/c-c++-common/gomp/.
7259 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7260 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7261 from gcc/testsuite/gfortran.dg/gomp/.
7262 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7263
7264 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
7265
7266 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7267 * omp_lib.h.in: Likewise.
7268
7269 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
7270
7271 PR target/95620
7272 * testsuite/libgomp.c/pr95620.c: New test.
7273
7274 2020-07-16 Julian Brown <julian@codesourcery.com>
7275 Thomas Schwinge <thomas@codesourcery.com>
7276
7277 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7278 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7279
7280 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7281
7282 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7283 avoid conversion on 32bit systems from 32bit to 64bit due
7284 to -fdefault-integer-8.
7285
7286 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7287
7288 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7289 variables; add character(kind=4) tests; update TODO comment.
7290
7291 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7292
7293 * allocator.c: Add ialias for omp_init_allocator and
7294 omp_destroy_allocator.
7295 * configure.ac: Set INTPTR_T_KIND.
7296 * configure: Regenerate.
7297 * Makefile.in: Regenerate.
7298 * testsuite/Makefile.in: Regenerate.
7299 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7300 omp_set_default_allocator_, omp_get_default_allocator_): New
7301 functions and ialias_redirect.
7302 * icv.c: Add ialias for omp_set_default_allocator and
7303 omp_get_default_allocator.
7304 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7305 omp_destroy_allocator_, omp_set_default_allocator_ and
7306 omp_get_default_allocator_.
7307 * omp_lib.f90.in: Add allocator traits parameters, declare
7308 allocator routines and add related kind parameters.
7309 * omp_lib.h.in: Likewise.
7310 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7311 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7312 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7313 * testsuite/libgomp.fortran/alloc-3.F: New test.
7314 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7315 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7316
7317 2020-07-14 Tom de Vries <tom@codesourcery.com>
7318 Cesar Philippidis <cesar@codesourcery.com>
7319 Thomas Schwinge <thomas@codesourcery.com>
7320 Kwok Cheung Yeung <kcy@codesourcery.com>
7321
7322 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7323 New variable.
7324 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7325 acc_init_state to initializing at the start, and to initialized at the
7326 end.
7327 (self_initializing_p): New function.
7328 (acc_get_device_type): Return acc_device_none if called by thread that
7329 is currently executing acc_init_1.
7330 * libgomp.texi (acc_get_device_type): Update documentation.
7331 (Implementation Status and Implementation-Defined Behavior): Likewise.
7332 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7333
7334 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
7335
7336 * config/t-aix: Set BITS from compiler cpp macro.
7337
7338 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
7339
7340 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7341
7342 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
7343
7344 PR fortran/67311
7345 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7346
7347 2020-07-14 Jakub Jelinek <jakub@redhat.com>
7348
7349 * testsuite/libgomp.c/loop-21.c: New test.
7350
7351 2020-07-13 Julian Brown <julian@codesourcery.com>
7352 Thomas Schwinge <thomas@codesourcery.com>
7353
7354 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7355
7356 2020-07-10 Julian Brown <julian@codesourcery.com>
7357 Thomas Schwinge <thomas@codesourcery.com>
7358
7359 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7360 dynamic_refcount.
7361 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7362 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7363 dynamic_refcount.
7364 (acc_unmap_data): Update comment.
7365 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7366 dynamic_refcount semantics.
7367 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7368 Adjust for dynamic_refcount semantics.
7369 (goacc_enter_data_internal): Implement "present" case of dynamic
7370 memory-map handling here. Update "non-present" case for
7371 dynamic_refcount semantics.
7372 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7373 * target.c (gomp_map_vars_internal): Remove
7374 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7375 handling.
7376 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7377 (gomp_load_image_to_device): Substitute dynamic_refcount for
7378 virtual_refcount.
7379 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7380 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7381 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7382 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7383 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7384 trace output.
7385 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7386 trace output.
7387 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7388 test.
7389 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7390 Remove stale comment.
7391 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7392 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7393 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7394 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7395 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7396 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7397
7398 2020-07-10 Julian Brown <julian@codesourcery.com>
7399 Thomas Schwinge <thomas@codesourcery.com>
7400
7401 * oacc-mem.c (goacc_map_var_existing): New function.
7402 (goacc_enter_datum): Use above function.
7403 (goacc_exit_datum_1): New function.
7404 (goacc_exit_datum): Use above function.
7405
7406 2020-07-09 Julian Brown <julian@codesourcery.com>
7407 Thomas Schwinge <thomas@codesourcery.com>
7408
7409 PR middle-end/95270
7410 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7411 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7412
7413 2020-07-09 Julian Brown <julian@codesourcery.com>
7414
7415 * oacc-mem.c (find_group_last): Group data-movement clauses
7416 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7417 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7418
7419 2020-07-09 Jakub Jelinek <jakub@redhat.com>
7420
7421 * testsuite/libgomp.c/loop-19.c: New test.
7422 * testsuite/libgomp.c/loop-20.c: New test.
7423
7424 2020-07-09 Jakub Jelinek <jakub@redhat.com>
7425
7426 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7427 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7428 it. Remove __omp_alloctrait_value_max__.
7429 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7430 omp_atk_alignment and omp_atk_pool_size.
7431
7432 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7433
7434 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7435 behavior for 'GOMP_MAP_FORCE_FROM'.
7436 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7437
7438 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7439
7440 * oacc-mem.c (goacc_exit_data_internal): Remove
7441 'GOMP_MAP_ALWAYS_FROM' handling.
7442
7443 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7444
7445 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7446 'scan-assembler' with 'scan-offload-rtl'.
7447 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7448 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7449 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7450 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7451
7452 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7453
7454 * target.c (gomp_map_vars_existing): Assert 'kind !=
7455 GOMP_MAP_ATTACH'.
7456 (gomp_map_vars_internal): Clean up.
7457
7458 2020-06-27 Jakub Jelinek <jakub@redhat.com>
7459
7460 * testsuite/libgomp.c/loop-17.c: New test.
7461 * testsuite/libgomp.c/loop-18.c: New test.
7462
7463 2020-06-26 Marek Polacek <polacek@redhat.com>
7464
7465 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7466
7467 2020-06-23 Alexandre Oliva <oliva@adacore.com>
7468
7469 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7470 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7471
7472 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
7473
7474 * Makefile.am: Use -include.
7475 * Makefile.in: Regenerate.
7476
7477 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
7478
7479 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7480 * Makefile.in: Regenerate
7481 * configure.ac (tmake_file): Substitute.
7482 * configure: Regenerate.
7483 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7484 * config/t-aix: New file.
7485
7486 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7487
7488 PR lto/94848
7489 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7490 'dg-do run'.
7491
7492 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
7493
7494 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7495 variant for HSA_RUNTIME_LIB name.
7496 (find_executable_symbol_1): Delete.
7497 (find_executable_symbol): Delete.
7498 (init_kernel_properties): Add ".kd" suffix to symbol names.
7499 (find_load_offset): Delete.
7500 (create_and_finalize_hsa_program): Remove relocation handling.
7501
7502 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
7503
7504 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7505
7506 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
7507
7508 PR lto/94848
7509 PR middle-end/95551
7510 * testsuite/libgomp.fortran/target-var.f90: New test.
7511
7512 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7513 Julian Brown <julian@codesourcery.com>
7514
7515 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7516 special handling.
7517
7518 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7519 Julian Brown <julian@codesourcery.com>
7520
7521 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7522 Simplify.
7523
7524 2020-06-05 Julian Brown <julian@codesourcery.com>
7525
7526 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7527 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7528
7529 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7530
7531 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7532 Evaluate 'copyfrom' individually for each entry.
7533 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7534
7535 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7536
7537 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7538 Evaluate 'finalize' individually for each entry.
7539 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7540 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7541 file.
7542
7543 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7544
7545 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7546 usage.
7547 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7548
7549 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7550 Julian Brown <julian@codesourcery.com>
7551
7552 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7553 checking.
7554 (acc_unmap_data, goacc_exit_data_internal): Restore
7555 'is_tgt_unmapped' checking.
7556 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7557 file.
7558 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7559 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7560 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7561 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7562 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7563 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7564
7565 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7566 Julian Brown <julian@codesourcery.com>
7567
7568 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7569
7570 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7571
7572 PR libgomp/92854
7573 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7574
7575 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7576
7577 PR libgomp/92854
7578 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7579 more.
7580
7581 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7582 Julian Brown <julian@codesourcery.com>
7583
7584 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7585 'gomp_map_vars'.
7586 (acc_map_data): Clean up accordingly.
7587
7588 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7589
7590 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7591 of over-eager 'finalize' clause.
7592 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7593 file.
7594 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7595 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7596 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7597 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7598 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7599 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7600 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7601 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7602
7603 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7604
7605 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7606
7607 2020-06-04 Julian Brown <julian@codesourcery.com>
7608
7609 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7610 error path.
7611 (goacc_detach_internal): Likewise.
7612
7613 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7614
7615 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7616 the checkpoint.
7617 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7618 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7619 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7620 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7621 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7622
7623 2020-06-02 Jakub Jelinek <jakub@redhat.com>
7624
7625 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7626 defined.
7627
7628 2020-05-30 Jakub Jelinek <jakub@redhat.com>
7629
7630 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7631
7632 2020-05-30 Jakub Jelinek <jakub@redhat.com>
7633
7634 * allocator.c (omp_alloc): For size == 0, return NULL early.
7635
7636 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
7637
7638 PR bootstrap/95413
7639 * configure: Regenerated.
7640
7641 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7642
7643 PR libfortran/95191
7644 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7645
7646 2020-05-19 Jakub Jelinek <jakub@redhat.com>
7647
7648 * omp.h.in (omp_uintptr_t): New typedef.
7649 (__GOMP_UINTPTR_T_ENUM): Define.
7650 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7651 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7652 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7653 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7654 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7655 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7656 (gomp_def_allocator): Declare.
7657 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7658 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7659 omp_alloc and omp_free.
7660 * team.c (gomp_team_start): Copy over ts.def_allocator.
7661 * env.c (gomp_def_allocator): New variable.
7662 (parse_wait_policy): Adjust function comment.
7663 (parse_allocator): New function.
7664 (handle_omp_display_env): Print OMP_ALLOCATOR.
7665 (initialize_env): Call parse_allocator.
7666 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7667 * allocator.c: New file.
7668 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7669 functions.
7670 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7671 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7672 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7673 * Makefile.in: Regenerated.
7674
7675 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7676
7677 PR bootstrap/95147
7678 * configure: Regenerated.
7679
7680 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7681
7682 PR libfortran/95119
7683 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7684
7685 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7686
7687 * configure: Regenerated.
7688
7689 2020-05-14 Jakub Jelinek <jakub@redhat.com>
7690
7691 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7692
7693 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
7694
7695 PR fortran/94690
7696 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7697 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7698 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7699 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7700 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7701 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7702 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7703
7704 2020-05-12 Jakub Jelinek <jakub@redhat.com>
7705
7706 * testsuite/libgomp.c/target-39.c: New test.
7707
7708 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7709
7710 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7711 * openacc.f90 (acc_device_current): Likewise.
7712 * openacc.h (acc_device_current): Likewise.
7713 * openacc_lib.h (acc_device_current): Likewise.
7714
7715 PR target/94282
7716 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7717 'dg-allow-blank-lines-in-output'.
7718
7719 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7720 * testsuite/lib/libgomp.exp
7721 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7722 'radeon'. Adjust all users.
7723 (check_effective_target_openacc_amdgcn_accel_present): Rename
7724 to...
7725 (check_effective_target_openacc_radeon_accel_present): ... this.
7726 Adjust all users.
7727 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7728 (check_effective_target_openacc_radeon_accel_selected): ... this.
7729 Adjust all users.
7730
7731 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7732 'dg-do run'.
7733
7734 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
7735
7736 PR other/94629
7737
7738 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7739 hsa_iterate_agents.
7740 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7741 hsa_agent_iterate_regions.
7742
7743 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7744
7745 PR middle-end/94635
7746 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7747 run'.
7748
7749 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
7750
7751 PR middle-end/94120
7752 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7753 test case.
7754
7755 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
7756
7757 PR middle-end/94635
7758 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7759
7760 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7761
7762 PR libgomp/92843
7763 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7764 Rename to...
7765 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7766 ... this.
7767 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7768 Rename to...
7769 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7770 ... this.
7771 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7772 Rename to...
7773 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7774 ... this.
7775 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7776 Rename to...
7777 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7778 ... this.
7779 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7780 Rename to...
7781 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7782 ... this.
7783 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7784 Rename to...
7785 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7786 ... this.
7787 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7788 Rename to...
7789 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7790 ... this.
7791 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7792 Rename to...
7793 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7794 ... this.
7795 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7796 Rename to...
7797 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7798 ... this.
7799 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7800 Rename to...
7801 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7802 ... this.
7803 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7804 Rename to...
7805 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7806 ... this.
7807 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7808 Rename to...
7809 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7810 ... this.
7811 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7812 Rename to...
7813 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7814 ... this.
7815 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7816 Rename to...
7817 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7818 ... this.
7819 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7820 Rename to...
7821 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7822 ... this.
7823 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7824 Rename to...
7825 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7826 ... this.
7827
7828 2020-04-10 Julian Brown <julian@codesourcery.com>
7829 Thomas Schwinge <thomas@codesourcery.com>
7830
7831 PR libgomp/92843
7832 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7833 New file.
7834 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7835 Likewise.
7836 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7837 Likewise.
7838 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7839 Likewise.
7840 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7841 Likewise.
7842 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7843 Likewise.
7844 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7845 Likewise.
7846 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7847 Likewise.
7848 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7849 Likewise.
7850 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7851 Likewise.
7852 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7853 Likewise.
7854 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7855 Likewise.
7856 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7857 Likewise.
7858 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7859 Likewise.
7860 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7861 Likewise.
7862 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7863 Likewise.
7864
7865 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7866
7867 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7868 run'.
7869
7870 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
7871
7872 PR middle-end/94120
7873 * libgomp.oacc-c++/declare-pr94120.C: New.
7874
7875 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
7876
7877 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7878 files.
7879 * configure: Regenerate.
7880 * testsuite/libgomp-site-extra.exp.in: New file.
7881 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7882 variable.
7883 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7884 variable.
7885 * testsuite/Makefile.in: Regenerate.
7886
7887 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
7888
7889 PR tree-optimization/89713
7890 PR c/94392
7891 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7892 'bar.sync'.
7893 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7894
7895 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
7896
7897 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7898 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7899
7900 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
7901
7902 PR libgomp/81689
7903 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7904
7905 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
7906
7907 PR libgomp/94251
7908 * target.c (gomp_load_image_to_device): Fix link
7909 variable handling.
7910
7911 2020-03-19 Jakub Jelinek <jakub@redhat.com>
7912
7913 PR c++/93931
7914 * testsuite/libgomp.c++/pr93931.C: New test.
7915
7916 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
7917
7918 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7919 dg-allow-blank-lines-in-output.
7920
7921 2020-03-18 Julian Brown <julian@codesourcery.com>
7922 Tobias Burnus <tobias@codesourcery.com>
7923
7924 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7925 it work concurrently.
7926
7927 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
7928
7929 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7930 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7931 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7932
7933 2020-03-14 Jakub Jelinek <jakub@redhat.com>
7934
7935 PR middle-end/93566
7936 * testsuite/libgomp.c/pr93566.c: New test.
7937
7938 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
7939
7940 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7941 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7942 integer(acc_device_property) for the type of the return value of
7943 acc_get_property.
7944
7945 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
7946
7947 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7948 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7949 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7950 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7951 (acc_set_device_num): Fix Fortran argument name, use same name for C.
7952 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7953 corrections; add note about the previous interface and named constant.
7954 (OpenACC library and environment variables): Fix two typos.
7955 * openacc.f90: Use for all procedures the argument names from the spec
7956 as for …_h they are user visible.
7957 (openacc_kinds): Rename acc_device_property to
7958 acc_device_property_kinds and change value to int32 ; and update users.
7959 Re-add acc_device_property for for backward compatibility.
7960 (acc_get_property_string_h): Clean up as acc_device_property_kind
7961 changed.
7962 (acc_get_property_h): Likewise and return c_size_t instead of
7963 acc_device_property.
7964 (openacc): Also export acc_device_property_kinds.
7965 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7966 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7967 handling; check against /= 0 instead of == 1 to match C.
7968 * openacc_lib.h: Use for all procedures the argument names from the spec
7969 as for …_h they are user visible. Place !GCC$ into the first column to
7970 be active also for fixed-form souce form.
7971 (acc_device_current, acc_device_property_kind, acc_device_property,
7972 acc_property_memory, acc_property_free_memory, acc_property_name,
7973 acc_property_vendor, acc_property_driver): New named constants.
7974 (acc_get_property, acc_get_property_string): New generic interface.
7975
7976 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
7977
7978 PR libgomp/93481
7979 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7980 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7981 optional.
7982 (gomp_target_task_fn): Assert "devicep->async_run_func".
7983 (clear_unsupported_flags): New function to remove unsupported flags
7984 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7985 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7986 * testsuite/libgomp.c/target-33.c:
7987 Remove xfail for offload_target_nvptx.
7988 * testsuite/libgomp.c/target-34.c: Likewise.
7989
7990 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
7991
7992 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7993 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7994 * testsuite/libgomp.c/target-34.c: Likewise.
7995 * testsuite/libgomp.c/target-link-1.c: Add xfail for
7996 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7997
7998 2020-02-09 Jakub Jelinek <jakub@redhat.com>
7999
8000 * testsuite/libgomp.c/target-38.c: New test.
8001
8002 2020-02-06 Jakub Jelinek <jakub@redhat.com>
8003
8004 PR libgomp/93515
8005 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
8006
8007 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
8008
8009 * testsuite/lib/libgomp.exp
8010 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
8011 and not as 'source' argument to libgomp_target_compile.
8012
8013 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
8014
8015 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
8016 (gcn_gfx801_s): Remove.
8017 (isa_hsa_name): Remove gfx801.
8018 (isa_gcc_name): Remove gfx801/carizzo.
8019 (isa_code): Remove gfx801.
8020
8021 2020-02-03 Julian Brown <julian@codesourcery.com>
8022 Tobias Burnus <tobias@codesourcery.com>
8023
8024 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
8025 and *_finalize variants; document acc_attach and acc_detach; update
8026 references from OpenACC 2.0 to 2.6.
8027 * openacc.f90 (openacc_version): Update to 201711.
8028 * openacc_lib.h (openacc_version): Update to 201711.
8029 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
8030 openacc_version to 201711.
8031 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8032
8033 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
8034
8035 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
8036 and vgpr_count fields.
8037 (struct kernel_info): Add a field for a hsa_kernel_description.
8038 (run_kernel): Reduce the number of threads/workers if the requested
8039 number would require too many VGPRs.
8040 (init_basic_kernel_info): Initialize description field with
8041 the hsa_kernel_description entry for the kernel.
8042
8043 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
8044
8045 PR bootstrap/93409
8046 * plugin/configfrag.ac (enable_offload_targets): Skip
8047 HSA and GCN plugin besides -m32 also for -mx32.
8048 * configure: Regenerate.
8049
8050 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
8051
8052 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
8053
8054 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
8055
8056 * plugin-gcn.c (struct agent_info): Add fields "name" and
8057 "vendor_name" ...
8058 (GOMP_OFFLOAD_init_device): ... and init from here.
8059 (struct hsa_context_info): Add field "driver_version_s" ...
8060 (init_hsa_contest): ... and init from here.
8061 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
8062 implementation.
8063 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8064 Enable test execution for amdgcn and host offloading targets.
8065 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
8066 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8067 (expect_device_properties): Split function into ...
8068 (expect_device_string_properties): ... this new function ...
8069 (expect_device_memory): ... and this new function.
8070 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
8071 Add test.
8072
8073 2020-01-28 Julian Brown <julian@codesourcery.com>
8074
8075 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
8076 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
8077 component/non-component variable refs in a single directive.
8078 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
8079
8080 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
8081
8082 * configure.ac: Handle `--with-toolexeclibdir='.
8083 * Makefile.in: Regenerate.
8084 * aclocal.m4: Regenerate.
8085 * configure: Regenerate.
8086 * testsuite/Makefile.in: Regenerate.
8087
8088 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
8089
8090 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8091 (expect_device_properties): Remove "expected_free_mem" argument,
8092 change "expected_total_mem" argument type to size_t;
8093 change types of acc_get_property results to size_t,
8094 adapt format strings.
8095 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8096 Use %zu instead of %zd to print size_t values.
8097 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
8098 rename to ...
8099 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
8100 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
8101 rename to ...
8102 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
8103
8104 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
8105
8106 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
8107 the device id.
8108
8109 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
8110
8111 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
8112 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
8113 Adjust test dimensions for amdgcn.
8114 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
8115 gang/worker/vector expectations dynamically.
8116 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
8117 (main): Likewise.
8118 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
8119 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
8120 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
8121 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
8122 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
8123 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
8124 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
8125 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
8126 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
8127 (acc_gang): Recognise acc_device_radeon.
8128 (acc_worker): Likewise.
8129 (acc_vector): Likewise.
8130 (main): Set expectations for amdgcn.
8131 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
8132 (main): Adjust gang/worker/vector expectations dynamically.
8133 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8134 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8135 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8136 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8137 for amdgcn.
8138
8139 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
8140
8141 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8142 acc_device_radeon.
8143 (openacc): Likewise.
8144 * openacc.f90 (openacc_kinds): Likewise.
8145 (openacc): Likewise.
8146 * openacc.h (acc_device_t): Likewise.
8147 * openacc_lib.h: Likewise.
8148 * testsuite/lib/libgomp.exp
8149 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8150 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8151 (cb_compute_construct_end): Likewise.
8152 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8153 (cb_enqueue_launch_start): Likewise.
8154 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8155 (cb_enter_data_end): Likewise.
8156 (cb_exit_data_start): Likewise.
8157 (cb_exit_data_end): Likewise.
8158 (cb_compute_construct_end): Likewise.
8159 (cb_enqueue_launch_start): Likewise.
8160 (cb_enqueue_launch_end): Likewise.
8161 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8162 (main): Likewise.
8163
8164 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
8165
8166 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
8167 to use this instead of 'enum gomp_device_property'.
8168 (GOMP_OFFLOAD_get_property): Rename to...
8169 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
8170 * libgomp.h (struct gomp_device_descr): Move
8171 'GOMP_OFFLOAD_openacc_get_property'...
8172 (struct acc_dispatch_t): ... here. Adjust all users.
8173 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8174
8175 * target.c (gomp_map_vars_internal)
8176 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8177 paths.
8178
8179 2020-01-10 Jakub Jelinek <jakub@redhat.com>
8180
8181 PR libgomp/93219
8182 * libgomp.h (gomp_print_string): Change return type from void to int.
8183 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
8184 not all characters have been written.
8185
8186 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
8187
8188 * libgomp.texi: Fix typos, use https.
8189
8190 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
8191
8192 * testsuite/libgomp.fortran/optional-map.f90: Add test for
8193 unallocated/disassociated actual arguments to nonallocatable/nonpointer
8194 dummy arguments; those are/shall be regarded as absent arguments.
8195 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8196 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8197
8198 2020-01-01 Jakub Jelinek <jakub@redhat.com>
8199
8200 Update copyright years.
8201
8202 * libgomp.texi: Bump @copying's copyright year.
8203
8204 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
8205
8206 PR libgomp/93065
8207 * oacc-init.c (goacc_runtime_deinitialize): New function.
8208
8209 2019-12-28 Jakub Jelinek <jakub@redhat.com>
8210
8211 PR bootstrap/93074
8212 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8213 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
8214
8215 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
8216 Frederik Harwath <frederik@codesourcery.com>
8217 Thomas Schwinge <tschwinge@codesourcery.com>
8218
8219 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8220 * libgomp-plugin.h (gomp_device_property_value): New union.
8221 (gomp_device_property_value): New prototype.
8222 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8223 constant.
8224 (acc_device_property_t): New enum.
8225 (acc_get_property, acc_get_property_string): New prototypes.
8226 * oacc-init.c (acc_get_device_type): Also assert that result
8227 is not `acc_device_current'.
8228 (get_property_any, acc_get_property, acc_get_property_string):
8229 New functions.
8230 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8231 `acc_property_memory', `acc_property_free_memory',
8232 `acc_property_name', `acc_property_vendor' and
8233 `acc_property_driver' constants. Add `acc_device_property' data
8234 type.
8235 (openacc_internal): Add `acc_get_property' and
8236 `acc_get_property_string' interfaces. Add `acc_get_property_h',
8237 `acc_get_property_string_h', `acc_get_property_l' and
8238 `acc_get_property_string_l'.
8239 * oacc-host.c (host_get_property): New function.
8240 (host_dispatch): Wire it.
8241 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8242 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8243 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8244 * libgomp.texi (OpenACC Runtime Library Routines): Add
8245 `acc_get_property'.
8246 (acc_get_property): New node.
8247 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8248 function (stub).
8249 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8250 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8251 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8252 calls.
8253 (GOMP_OFFLOAD_get_property): New function.
8254 (struct ptx_device): Add new field "name".
8255 (cuda_driver_version_s): Add new static variable ...
8256 (nvptx_init): ... and init from here.
8257
8258 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8259 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8260 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8261 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8262 with test helper functions.
8263
8264 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8265
8266 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
8267
8268 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8269 variable.
8270
8271 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8272
8273 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8274 link' handling.
8275
8276 2019-12-19 Julian Brown <julian@codesourcery.com>
8277
8278 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8279 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8280 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8281
8282 2019-12-19 Julian Brown <julian@codesourcery.com>
8283 Cesar Philippidis <cesar@codesourcery.com>
8284
8285 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8286 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8287 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8288 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8289 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8290 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8291 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8292 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8293 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8294 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8295 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8296 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8297 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8298
8299 2019-12-19 Julian Brown <julian@codesourcery.com>
8300
8301 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8302 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8303 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8304 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8305 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8306 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8307 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8308 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8309 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8310 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8311 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8312 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8313
8314 2019-12-19 Julian Brown <julian@codesourcery.com>
8315
8316 * libgomp.h (struct target_var_desc): Add do_detach flag.
8317 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8318 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8319 struct components. Tidy up and add some new checks.
8320 (goacc_enter_data_internal): Update call to find_group_last.
8321 (goacc_exit_data_internal): Support detach operations and
8322 GOMP_MAP_STRUCT.
8323 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8324 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8325 attach/detach in enter/exit data detection code.
8326 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8327 tgt_var_desc.
8328 (gomp_map_vars_internal): Support attach.
8329 (gomp_unmap_vars_internal): Support detach.
8330
8331 2019-12-19 Julian Brown <julian@codesourcery.com>
8332 Thomas Schwinge <thomas@codesourcery.com>
8333
8334 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8335 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8336 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8337 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8338 acc_detach_finalize_async.
8339 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8340 acc_detach, acc_detach_async, acc_detach_finalize,
8341 acc_detach_finalize_async): New functions.
8342 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8343 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8344 prototypes.
8345 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8346 (gomp_remove_var_internal): Free attachment counts if present.
8347 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8348 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8349
8350 2019-12-19 Julian Brown <julian@codesourcery.com>
8351 Cesar Philippidis <cesar@codesourcery.com>
8352
8353 * libgomp.h (gomp_map_val): Add prototype.
8354 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8355 open-coding device-address calculation.
8356 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8357 non-present case.
8358
8359 2019-12-19 Julian Brown <julian@codesourcery.com>
8360
8361 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8362 field for virtual_refcount.
8363 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8364 (gomp_free_memmap): Remove prototype.
8365 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8366 instead of calling gomp_free_memmap.
8367 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8368 dynamic_refcount.
8369 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8370 to_free field to NULL then calling gomp_unmap_vars. Handle
8371 REFCOUNT_INFINITY on target blocks.
8372 (goacc_enter_data): Rename to...
8373 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8374 handling for mapping groups. Use virtual_refcount instead of
8375 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8376 map_map_vars_async call. Re-do lookup for target pointer return value.
8377 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8378 renamed goacc_enter_datum function.
8379 (goacc_exit_data): Rename to...
8380 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8381 (acc_delete, acc_delete_async, acc_delete_finalize,
8382 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8383 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8384 goacc_exit_datum function.
8385 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8386 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8387 New functions.
8388 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8389 goacc_exit_data_internal helper functions.
8390 * target.c (gomp_map_vars_internal): Handle
8391 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8392 semantics.
8393 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8394 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8395 virtual_refcount field instead of dynamic_refcount.
8396 (gomp_free_memmap): Remove function.
8397 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8398 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8399 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8400
8401 2019-12-19 Julian Brown <julian@codesourcery.com>
8402 Thomas Schwinge <thomas@codesourcery.com>
8403
8404 * libgomp.h (struct splay_tree_aux): New.
8405 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8406 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8407 to aux struct.
8408 (gomp_remove_var_internal): Free aux block if present.
8409 (gomp_load_image_to_device): Zero-initialise aux field instead of
8410 link_key field.
8411 (omp_target_associate_pointer): Zero-initialise aux field.
8412
8413 2019-12-18 Jakub Jelinek <jakub@redhat.com>
8414
8415 PR middle-end/86416
8416 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8417 q or none.
8418 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8419 L or none.
8420
8421 2019-12-19 Julian Brown <julian@codesourcery.com>
8422 Maciej W. Rozycki <macro@codesourcery.com>
8423 Tobias Burnus <tobias@codesourcery.com>
8424 Thomas Schwinge <thomas@codesourcery.com>
8425
8426 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8427 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8428 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8429 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8430 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8431 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8432 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8433 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8434 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8435
8436 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8437
8438 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8439 called...
8440 (goacc_insert_pointer): ... from here, "present" case.
8441 (goacc_insert_pointer): Inline function into...
8442 (GOACC_enter_exit_data): ... here, and simplify.
8443
8444 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8445 called...
8446 (goacc_insert_pointer): ... from here, "not present" case.
8447
8448 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8449 all users.
8450
8451 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8452 'goacc_enter_data', 'goacc_exit_data'.
8453
8454 * oacc-mem.c (delete_copyout): Refactor into...
8455 (goacc_exit_data): ... this. Adjust all users.
8456
8457 * oacc-mem.c (present_create_copy): Refactor into...
8458 (goacc_enter_data): ... this. Adjust all users.
8459
8460 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8461 'gomp_remove_var'.
8462
8463 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8464 like 'GOMP_MAP_FROM'.
8465
8466 PR libgomp/92726
8467 PR libgomp/92970
8468 PR libgomp/92984
8469 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8470 fails.
8471 (GOACC_enter_exit_data): Simplify accordingly.
8472 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8473 subsuming...
8474 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8475 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8476 file.
8477 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8478 subsuming...
8479 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8480 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8481 file.
8482 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8483 subsuming...
8484 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8485
8486 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8487 'finalize' handling.
8488
8489 PR libgomp/92848
8490 * oacc-mem.c (acc_map_data, present_create_copy)
8491 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8492 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8493 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8494 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8495 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8496 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8497 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8498 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8499 Remove "XFAIL"s.
8500
8501 * target.c (gomp_unmap_tgt): Make it 'static'.
8502 * libgomp.h (gomp_unmap_tgt): Remove.
8503
8504 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
8505
8506 PR middle-end/86416
8507 * testsuite/libgomp.c/pr86416-1.c: New.
8508 * testsuite/libgomp.c/pr86416-2.c: New.
8509
8510 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
8511
8512 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8513 all symbols as public except for the 'use …, only' imported symbol,
8514 which is private.
8515 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8516 all symbols from module openacc_kinds as PUBLIC
8517 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8518 fix comment typo.
8519 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8520
8521 2019-12-13 Julian Brown <julian@codesourcery.com>
8522
8523 PR libgomp/92881
8524
8525 * libgomp.h (gomp_remove_var_async): Add prototype.
8526 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8527 gomp_remove_var.
8528 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8529 whether target_mem_desc was unmapped.
8530 (gomp_unref_tgt_void): New.
8531 (gomp_remove_var): Reimplement in terms of...
8532 (gomp_remove_var_internal): ...this new helper function.
8533 (gomp_remove_var_async): New, implemented using above helper function.
8534 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8535 gomp_unref_tgt.
8536
8537 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
8538
8539 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8540 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8541 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8542 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8543 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8544 Likewise.
8545 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8546 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8547
8548 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
8549
8550 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8551 as public except for the 'use …, only' imported symbol, which is
8552 private.
8553 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8554 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8555 attributes for acc_copyout_finalize and acc_delete_finalize.
8556
8557 2019-12-11 Jakub Jelinek <jakub@redhat.com>
8558
8559 PR fortran/92899
8560 * testsuite/libgomp.fortran/atomic1.f90: New test.
8561
8562 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8563
8564 PR libgomp/92843
8565 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8566 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8567 assertions.
8568 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8569 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8570 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8571 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8572 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8573
8574 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8575 * oacc-mem.c: ... here.
8576 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8577 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8578 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8579 Remove.
8580 * libgomp_g.h: Update.
8581
8582 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8583 * oacc-async.c: ... here.
8584 * oacc-int.h (goacc_wait): Declare.
8585 * libgomp_g.h: Update
8586
8587 PR libgomp/92854
8588 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8589 New file.
8590 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8591 Likewise.
8592 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8593 Likewise.
8594 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8595 Likewise.
8596 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8597 Likewise.
8598 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8599 Likewise.
8600
8601 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8602 Julian Brown <julian@codesourcery.com>
8603
8604 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8605 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8606
8607 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
8608
8609 * omp_lib.h.in: Fix spelling of function declaration
8610 omp_get_cancell(l)ation.
8611 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8612 Fix typos.
8613 * env.c: Fix comment typos.
8614 * oacc-host.c: Likewise.
8615 * ordered.c: Likewise.
8616 * task.c: Likewise.
8617 * team.c: Likewise.
8618 * config/gcn/task.c: Likewise.
8619 * config/gcn/team.c: Likewise.
8620 * config/nvptx/task.c: Likewise.
8621 * config/nvptx/team.c: Likewise.
8622 * plugin/plugin-gcn.c: Likewise.
8623 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8624 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8625 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8626
8627 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
8628
8629 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8630 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8631 unnecessary 'dg-additional-options "-w"'.
8632
8633 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8634 Julian Brown <julian@codesourcery.com>
8635
8636 PR libgomp/92116
8637 PR libgomp/92877
8638
8639 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8640 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8641 Adjust all users.
8642 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8643 Remove XFAIL.
8644 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8645 Likewise.
8646 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8647
8648 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8649
8650 PR libgomp/92503
8651 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8652 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8653 file.
8654 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8655 Likewise.
8656 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8657 Likewise.
8658 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8659 Likewise.
8660 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8661 Likewise.
8662 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8663 Likewise.
8664 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8665 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8666 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8667 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8668 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8669 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8670 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8671 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8672 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8673 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8674
8675 PR libgomp/92840
8676 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8677 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8678 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8679 New file.
8680 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8681 Likewise.
8682 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8683 Likewise.
8684 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8685 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8686
8687 PR libgomp/92511
8688 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8689 this file...
8690 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8691 this file...
8692 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8693 file...
8694 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8695 file...
8696 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8697 ... with their content moved into, and extended in this new file.
8698 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8699 New file.
8700 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8701 Likewise.
8702 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8703 Likewise.
8704 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8705 Likewise.
8706
8707 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8708
8709 PR libgomp/92854
8710 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8711
8712 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8713
8714 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8715
8716 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
8717
8718 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8719 unique.
8720 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8721 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8722 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8723 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8724 Ditto.
8725 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8726 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8727
8728 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8729
8730 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8731
8732 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
8733 Kwok Cheung Yeung <kcy@codesourcery.com>
8734
8735 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8736 if input it a NULL pointer.
8737 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8738 diagnostic of NULL pointer.
8739 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8740 * testsuite/libgomp.fortran/optional-map.f90: New.
8741 * testsuite/libgomp.fortran/use_device_addr-1.f90
8742 (test_dummy_opt_callee_1_absent): New.
8743 (test_dummy_opt_call_1): Call it.
8744 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8745 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8746 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8747 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8748 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8749 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8750 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8751 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8752 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8753 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8754 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8755 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8756 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8757 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8758 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8759 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8760
8761 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
8762
8763 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8764 expect dg-output of 'Error termination.' for GCN.
8765 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8766 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8767
8768 2019-12-04 Jakub Jelinek <jakub@redhat.com>
8769
8770 PR fortran/92756
8771 * testsuite/libgomp.fortran/teams1.f90: New test.
8772 * testsuite/libgomp.fortran/teams2.f90: New test.
8773
8774 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
8775
8776 * oacc-init.c (acc_known_device_type): Add function.
8777 (unknown_device_type_error): Add function.
8778 (name_of_acc_device_t): Change to call unknown_device_type_error
8779 on unknown type.
8780 (resolve_device): Use acc_known_device_type.
8781 (acc_init): Fail if acc_device_t argument is not valid.
8782 (acc_shutdown): Likewise.
8783 (acc_get_num_devices): Likewise.
8784 (acc_set_device_type): Likewise.
8785 (acc_get_device_num): Likewise.
8786 (acc_set_device_num): Likewise.
8787 (acc_on_device): Add comment that argument validity is not checked.
8788
8789 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
8790
8791 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8792 Recognize amdgcn.
8793 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8794 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8795 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8796 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8797 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8798
8799 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8800
8801 PR libgomp/91938
8802 * configure.tgt: Avoid IE tls on *-*-musl*.
8803
8804 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
8805
8806 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8807 adding a common-block test case.
8808
8809 2019-11-29 Jakub Jelinek <jakub@redhat.com>
8810
8811 PR c++/60228
8812 * testsuite/libgomp.c++/udr-20.C: New test.
8813 * testsuite/libgomp.c++/udr-21.C: New test.
8814
8815 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8816
8817 * testsuite/lib/libgomp.exp
8818 (check_effective_target_offload_target_nvptx): New proc.
8819 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8820 'dg-skip-if'.
8821 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8822 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8823 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8824
8825 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8826
8827 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8828 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8829 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8830 * testsuite/libgomp.c/private-1.c: Likewise.
8831 * testsuite/libgomp.c/task-1.c: Likewise.
8832 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8833
8834 2019-11-20 Julian Brown <julian@codesourcery.com>
8835
8836 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8837 aq->mutex here.
8838 (queue_push_launch): Lock aq->mutex before calling
8839 wait_for_queue_nonfull.
8840 (queue_push_callback): Likewise.
8841 (queue_push_asyncwait): Likewise.
8842 (queue_push_placeholder): Likewise.
8843
8844 2019-11-20 Julian Brown <julian@codesourcery.com>
8845
8846 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8847 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8848 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8849 return code.
8850
8851 2019-11-20 Julian Brown <julian@codesourcery.com>
8852
8853 PR libgomp/92511
8854
8855 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8856 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8857 in non-present/create case.
8858 (delete_copyout): Change error condition to fail only on copies outside
8859 of mapped block. Adjust error message accordingly.
8860 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8861 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8862 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8863 message.
8864 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8865 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8866 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8867
8868 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
8869
8870 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8871 libatomic in build-tree testing.
8872
8873 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
8874
8875 * testsuite/Makefile.in: Regenerate.
8876
8877 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
8878
8879 * testsuite/libgomp.c/target-print-1.c: New file.
8880 * testsuite/libgomp.fortran/target-print-1.f90: New file.
8881 * testsuite/libgomp.oacc-c/print-1.c: New file.
8882 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8883
8884 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8885 Kwok Cheung Yeung <kcy@codesourcery.com>
8886 Julian Brown <julian@codesourcery.com>
8887 Tom de Vries <tom@codesourcery.com>
8888
8889 * plugin/Makefrag.am: Add amdgcn plugin support.
8890 * plugin/configfrag.ac: Likewise.
8891 * plugin/plugin-gcn.c: New file.
8892 * configure: Regenerate.
8893 * Makefile.in: Regenerate.
8894 * testsuite/Makefile.in: Regenerate.
8895
8896 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8897
8898 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8899 and use team_malloc variants.
8900 (gomp_gcn_exit_kernel): Use team_free.
8901 * libgomp.h (TEAM_ARENA_SIZE): Define.
8902 (TEAM_ARENA_START): Define.
8903 (TEAM_ARENA_FREE): Define.
8904 (TEAM_ARENA_END): Define.
8905 (team_malloc): New function.
8906 (team_malloc_cleared): New function.
8907 (team_free): New function.
8908 * team.c (gomp_new_team): Initialize and use team_malloc.
8909 (free_team): Use team_free.
8910 (gomp_free_thread): Use team_free.
8911 (gomp_pause_host): Use team_free.
8912 * work.c (gomp_init_work_share): Use team_malloc.
8913 (gomp_fini_work_share): Use team_free.
8914
8915 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8916 Kwok Cheung Yeung <kcy@codesourcery.com>
8917 Julian Brown <julian@codesourcery.com>
8918 Tom de Vries <tom@codesourcery.com>
8919
8920 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8921 * Makefile.in: Regenerate.
8922 * config.h.in (PLUGIN_GCN): Add new undef.
8923 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8924 * config/gcn/affinity-fmt.c: New file.
8925 * config/gcn/bar.c: New file.
8926 * config/gcn/bar.h: New file.
8927 * config/gcn/doacross.h: New file.
8928 * config/gcn/icv-device.c: New file.
8929 * config/gcn/oacc-target.c: New file.
8930 * config/gcn/simple-bar.h: New file.
8931 * config/gcn/target.c: New file.
8932 * config/gcn/task.c: New file.
8933 * config/gcn/team.c: New file.
8934 * config/gcn/time.c: New file.
8935 * configure.ac: Add amdgcn*-*-*.
8936 * configure: Regenerate.
8937 * configure.tgt: Add amdgcn*-*-*.
8938 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8939 * libgomp.h (gcn_thrs): Add amdgcn variant.
8940 (set_gcn_thrs): Likewise.
8941 (gomp_thread): Likewise.
8942 * oacc-int.h (goacc_thread): Likewise.
8943 * oacc-target.c: New file.
8944 * openacc.f90 (acc_device_gcn): New parameter.
8945 * openacc.h (acc_device_t): Add acc_device_gcn.
8946 * team.c (gomp_free_pool_helper): Add amdgcn support.
8947
8948 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8949 Julian Brown <julian@codesourcery.com>
8950
8951 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8952 parameter.
8953 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8954 queue constructor.
8955 * oacc-host.c (host_openacc_async_construct): Add device parameter.
8956 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8957 device parameter.
8958
8959 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8960
8961 * configure.tgt (nvptx*-*-*): Add "accel" directory.
8962 * config/nvptx/libgomp-plugin.c: Move ...
8963 * config/accel/libgomp-plugin.c: ... to here.
8964 * config/nvptx/lock.c: Move ...
8965 * config/accel/lock.c: ... to here.
8966 * config/nvptx/mutex.c: Move ...
8967 * config/accel/mutex.c: ... to here.
8968 * config/nvptx/mutex.h: Move ...
8969 * config/accel/mutex.h: ... to here.
8970 * config/nvptx/oacc-async.c: Move ...
8971 * config/accel/oacc-async.c: ... to here.
8972 * config/nvptx/oacc-cuda.c: Move ...
8973 * config/accel/oacc-cuda.c: ... to here.
8974 * config/nvptx/oacc-host.c: Move ...
8975 * config/accel/oacc-host.c: ... to here.
8976 * config/nvptx/oacc-init.c: Move ...
8977 * config/accel/oacc-init.c: ... to here.
8978 * config/nvptx/oacc-mem.c: Move ...
8979 * config/accel/oacc-mem.c: ... to here.
8980 * config/nvptx/oacc-plugin.c: Move ...
8981 * config/accel/oacc-plugin.c: ... to here.
8982 * config/nvptx/omp-lock.h: Move ...
8983 * config/accel/omp-lock.h: ... to here.
8984 * config/nvptx/openacc.f90: Move ...
8985 * config/accel/openacc.f90: ... to here.
8986 * config/nvptx/pool.h: Move ...
8987 * config/accel/pool.h: ... to here.
8988 * config/nvptx/proc.c: Move ...
8989 * config/accel/proc.c: ... to here.
8990 * config/nvptx/ptrlock.c: Move ...
8991 * config/accel/ptrlock.c: ... to here.
8992 * config/nvptx/ptrlock.h: Move ...
8993 * config/accel/ptrlock.h: ... to here.
8994 * config/nvptx/sem.c: Move ...
8995 * config/accel/sem.c: ... to here.
8996 * config/nvptx/sem.h: Move ...
8997 * config/accel/sem.h: ... to here.
8998 * config/nvptx/thread-stacksize.h: Move ...
8999 * config/accel/thread-stacksize.h: ... to here.
9000
9001 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
9002 Tobias Burnus <tobias@codesourcery.com>
9003 Frederik Harwath <frederik@codesourcery.com>
9004 Thomas Schwinge <thomas@codesourcery.com>
9005
9006 libgomp/
9007 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
9008 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
9009 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
9010
9011 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
9012 Kwok Cheung Yeung <kcy@codesourcery.com>
9013
9014 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
9015 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
9016
9017 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
9018
9019 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
9020
9021 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
9022 run'.
9023 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
9024 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
9025
9026 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
9027
9028 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
9029 Add expected warnings about missing reduction clauses.
9030 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9031 Likewise.
9032 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
9033 Likewise.
9034 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
9035 Likewise.
9036
9037 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
9038
9039 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
9040 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
9041 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
9042 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9043 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9044 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9045
9046 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
9047
9048 PR fortran/92305
9049 * testsuite/libgomp.fortran/allocatable2.f90: Use
9050 unique numbers with 'stop'.
9051 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9052 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9053 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
9054 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
9055 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
9056
9057 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
9058
9059 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
9060 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
9061 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
9062 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
9063 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
9064 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
9065
9066 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
9067
9068 * testsuite/libgomp.fortran/target9.f90: New.
9069
9070 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
9071
9072 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
9073 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
9074 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
9075 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
9076 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
9077 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
9078 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
9079 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
9080 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
9081 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
9082 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
9083 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
9084 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
9085 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
9086 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
9087 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
9088 * testsuite/libgomp.fortran/associate1.f90: Ditto.
9089 * testsuite/libgomp.fortran/associate2.f90: Ditto.
9090 * testsuite/libgomp.fortran/associate3.f90: Ditto.
9091 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
9092 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
9093 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
9094 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
9095 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
9096 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
9097 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
9098 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
9099 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
9100 * testsuite/libgomp.fortran/character1.f90: Ditto.
9101 * testsuite/libgomp.fortran/character2.f90: Ditto.
9102 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
9103 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
9104 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
9105 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
9106 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
9107 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
9108 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
9109 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
9110 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
9111 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
9112 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
9113 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
9114 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
9115 * testsuite/libgomp.fortran/do1.f90: Ditto.
9116 * testsuite/libgomp.fortran/do2.f90: Ditto.
9117 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
9118 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
9119 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
9120 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
9121 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
9122 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
9123 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
9124 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
9125 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
9126 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
9127 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
9128 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
9129 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
9130 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
9131 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
9132 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9133 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9134 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9135 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9136 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9137 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9138 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9139 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9140 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9141 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9142 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9143 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9144 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9145 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9146 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9147 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9148 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9149 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9150 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9151 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9152 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9153 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9154 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9155 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9156 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9157 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9158 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9159 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9160 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9161 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9162 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9163 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9164 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9165 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9166 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9167 * testsuite/libgomp.fortran/lib1.f90: Ditto.
9168 * testsuite/libgomp.fortran/lib4.f90: Ditto.
9169 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9170 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9171 * testsuite/libgomp.fortran/nested1.f90: Ditto.
9172 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9173 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9174 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9175 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9176 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9177 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9178 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9179 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9180 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9181 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9182 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9183 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9184 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9185 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9186 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9187 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9188 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9189 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9190 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9191 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9192 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9193 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9194 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9195 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9196 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9197 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9198 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9199 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9200 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9201 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9202 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9203 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9204 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9205 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9206 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9207 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9208 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9209 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9210 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9211 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9212 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9213 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9214 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9215 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9216 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9217 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9218 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9219 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9220 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9221 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9222 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9223 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9224 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9225 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9226 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9227 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9228 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9229 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9230 * testsuite/libgomp.fortran/reference1.f90: Ditto.
9231 * testsuite/libgomp.fortran/reference2.f90: Ditto.
9232 * testsuite/libgomp.fortran/retval1.f90: Ditto.
9233 * testsuite/libgomp.fortran/retval2.f90: Ditto.
9234 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9235 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9236 * testsuite/libgomp.fortran/simd1.f90: Ditto.
9237 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9238 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9239 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9240 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9241 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9242 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9243 * testsuite/libgomp.fortran/stack.f90: Ditto.
9244 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9245 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9246 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9247 * testsuite/libgomp.fortran/target1.f90: Ditto.
9248 * testsuite/libgomp.fortran/target2.f90: Ditto.
9249 * testsuite/libgomp.fortran/target3.f90: Ditto.
9250 * testsuite/libgomp.fortran/target4.f90: Ditto.
9251 * testsuite/libgomp.fortran/target5.f90: Ditto.
9252 * testsuite/libgomp.fortran/target6.f90: Ditto.
9253 * testsuite/libgomp.fortran/target7.f90: Ditto.
9254 * testsuite/libgomp.fortran/target8.f90: Ditto.
9255 * testsuite/libgomp.fortran/task1.f90: Ditto.
9256 * testsuite/libgomp.fortran/task2.f90: Ditto.
9257 * testsuite/libgomp.fortran/task3.f90: Ditto.
9258 * testsuite/libgomp.fortran/task4.f90: Ditto.
9259 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9260 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9261 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9262 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9263 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9264 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9265 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9266 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9267 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9268 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9269 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9270 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9271 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9272 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9273 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9274 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9275 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9276 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9277 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9278 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9279 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9280 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9281 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9282 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9283 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9284 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9285 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9286 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9287 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9288 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9289 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9290 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9291 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9292 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9293
9294 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
9295
9296 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9297 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9298 Ditto; add 'dg-do run' for torture testing.
9299 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9300 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9301 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9302 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9303 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9304 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9305 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9306 * testsuite/libgomp.fortran/task2.f90: Ditto.
9307 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9308 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9309 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9310 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9311 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9312 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9313
9314 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
9315
9316 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9317 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9318 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9319 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9320 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9321 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9322 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9323 Use 'stop' not abort().
9324 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9325 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9326 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9327 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9328 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9329 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9330 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9331 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9332 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9333 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9334 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9335 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9336 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9337 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9338 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9339 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9340 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9341 Ditto.
9342 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9343 Ditto.
9344 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9345 Ditto.
9346 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9347 Ditto.
9348 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9349 Ditto.
9350 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9351 Ditto.
9352 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9353 Ditto.
9354 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9355 Ditto.
9356 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9357 Ditto.
9358 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9359 Ditto.
9360 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9361 Ditto.
9362 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9363 Ditto.
9364 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9365 Ditto.
9366 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9367 Ditto.
9368 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9369 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9370 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9371 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9372 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9373 Likewise and also add 'dg-do run'.
9374 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9375 Ditto.
9376
9377 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9378 Tobias Burnus <tobias@codesourcery.com>
9379
9380 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9381 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9382 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9383
9384 2019-10-14 Jakub Jelinek <jakub@redhat.com>
9385
9386 PR libgomp/92081
9387 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9388 than 0.
9389
9390 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
9391
9392 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9393 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9394
9395 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9396
9397 PR middle-end/92036
9398 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9399 file.
9400
9401 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
9402
9403 PR testsuite/91884
9404 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9405 add -lquadmath.
9406 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9407
9408 2019-10-09 Jakub Jelinek <jakub@redhat.com>
9409
9410 PR libgomp/92028
9411 * target.c (gomp_map_vars_internal): Readd the previous
9412 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9413 though do that just in the !not_found_cnt case.
9414
9415 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
9416
9417 * gfortran.dg/gomp/target-simd.f90: New.
9418
9419 2019-10-02 Julian Brown <julian@codesourcery.com>
9420 Cesar Philippidis <cesar@codesourcery.com>
9421
9422 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9423 * target.c (FIELD_TGT_EMPTY): Define.
9424 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9425 as switch instead of list of ifs.
9426 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9427
9428 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9429
9430 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9431 include. Replace alloca () with __builtin_alloca ().
9432 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9433
9434 2019-10-01 Jakub Jelinek <jakub@redhat.com>
9435
9436 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9437 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9438 * oacc-parallel.c: Don't include "libgomp_g.h".
9439 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9440 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9441 * aclocal.m4: Regenerated.
9442 * config.h.in: Regenerated.
9443 * configure: Regenerated.
9444 * Makefile.in: Regenerated.
9445
9446 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9447
9448 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9449
9450 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
9451
9452 * configure: Regenerate.
9453
9454 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
9455
9456 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9457 string is initialized.
9458
9459 2019-09-06 Florian Weimer <fweimer@redhat.com>
9460
9461 * configure: Regenerate.
9462
9463 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9464
9465 PR other/79543
9466 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9467 scanning to conform to the GNU Coding Standards.
9468 * configure: Regenerate.
9469
9470 2019-08-28 Jakub Jelinek <jakub@redhat.com>
9471
9472 PR libgomp/91530
9473 * testsuite/libgomp.c/scan-21.c: New test.
9474 * testsuite/libgomp.c/scan-22.c: New test.
9475
9476 2019-08-27 Jakub Jelinek <jakub@redhat.com>
9477
9478 PR libgomp/91530
9479 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9480 targets.
9481 * testsuite/libgomp.c/scan-12.c: Likewise.
9482 * testsuite/libgomp.c/scan-13.c: Likewise.
9483 * testsuite/libgomp.c/scan-14.c: Likewise.
9484 * testsuite/libgomp.c/scan-15.c: Likewise.
9485 * testsuite/libgomp.c/scan-16.c: Likewise.
9486 * testsuite/libgomp.c/scan-17.c: Likewise.
9487 * testsuite/libgomp.c/scan-18.c: Likewise.
9488 * testsuite/libgomp.c/scan-19.c: Likewise.
9489 * testsuite/libgomp.c/scan-20.c: Likewise.
9490 * testsuite/libgomp.c++/scan-9.C: Likewise.
9491 * testsuite/libgomp.c++/scan-10.C: Likewise.
9492 * testsuite/libgomp.c++/scan-11.C: Likewise.
9493 * testsuite/libgomp.c++/scan-12.C: Likewise.
9494 * testsuite/libgomp.c++/scan-14.C: Likewise.
9495 * testsuite/libgomp.c++/scan-15.C: Likewise.
9496 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9497 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9498 * testsuite/libgomp.c++/scan-16.C: Likewise.
9499
9500 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9501
9502 PR fortran/91473
9503 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9504 -std=legacy so invalid code in the test case is accepted.
9505
9506 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9507
9508 PR fortran/91422
9509 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9510 dimension.
9511
9512 2019-08-08 Jakub Jelinek <jakub@redhat.com>
9513
9514 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9515 perform the lookup in the first loop only if !not_found_cnt, otherwise
9516 perform lookups for it in the second loop guarded with
9517 if (not_found_cnt || has_firstprivate).
9518 * testsuite/libgomp.c/target-37.c: New test.
9519 * testsuite/libgomp.c++/target-22.C: New test.
9520
9521 2019-08-07 Jakub Jelinek <jakub@redhat.com>
9522
9523 * testsuite/libgomp.c/target-18.c (struct S): New type.
9524 (foo): Use use_device_addr clause instead of use_device_ptr clause
9525 where required by OpenMP 5.0, add further tests for both use_device_ptr
9526 and use_device_addr clauses.
9527 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9528 (foo): Use use_device_addr clause instead of use_device_ptr clause
9529 where required by OpenMP 5.0, add further tests for both use_device_ptr
9530 and use_device_addr clauses. Add t and u arguments.
9531 (main): Adjust caller.
9532
9533 2019-08-06 Jakub Jelinek <jakub@redhat.com>
9534
9535 * testsuite/libgomp.c++/loop-13.C: New test.
9536 * testsuite/libgomp.c++/loop-14.C: New test.
9537 * testsuite/libgomp.c++/loop-15.C: New test.
9538
9539 2019-07-31 Jakub Jelinek <jakub@redhat.com>
9540
9541 PR middle-end/91301
9542 * testsuite/libgomp.c++/for-27.C: New test.
9543
9544 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9545
9546 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
9547 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9548
9549 2019-07-20 Jakub Jelinek <jakub@redhat.com>
9550
9551 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9552
9553 2019-07-08 Jakub Jelinek <jakub@redhat.com>
9554
9555 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9556 * testsuite/libgomp.c++/scan-16.C: Likewise.
9557
9558 2019-07-06 Jakub Jelinek <jakub@redhat.com>
9559
9560 * testsuite/libgomp.c/scan-19.c: New test.
9561 * testsuite/libgomp.c/scan-20.c: New test.
9562
9563 * testsuite/libgomp.c/scan-11.c: New test.
9564 * testsuite/libgomp.c/scan-12.c: New test.
9565 * testsuite/libgomp.c/scan-13.c: New test.
9566 * testsuite/libgomp.c/scan-14.c: New test.
9567 * testsuite/libgomp.c/scan-15.c: New test.
9568 * testsuite/libgomp.c/scan-16.c: New test.
9569 * testsuite/libgomp.c/scan-17.c: New test.
9570 * testsuite/libgomp.c/scan-18.c: New test.
9571 * testsuite/libgomp.c++/scan-9.C: New test.
9572 * testsuite/libgomp.c++/scan-10.C: New test.
9573 * testsuite/libgomp.c++/scan-11.C: New test.
9574 * testsuite/libgomp.c++/scan-12.C: New test.
9575 * testsuite/libgomp.c++/scan-13.C: New test.
9576 * testsuite/libgomp.c++/scan-14.C: New test.
9577 * testsuite/libgomp.c++/scan-15.C: New test.
9578 * testsuite/libgomp.c++/scan-16.C: New test.
9579
9580 2019-07-04 Jakub Jelinek <jakub@redhat.com>
9581
9582 * testsuite/libgomp.c/scan-9.c: New test.
9583 * testsuite/libgomp.c/scan-10.c: New test.
9584
9585 2019-07-03 Jakub Jelinek <jakub@redhat.com>
9586
9587 * testsuite/libgomp.c++/scan-1.C: New test.
9588 * testsuite/libgomp.c++/scan-2.C: New test.
9589 * testsuite/libgomp.c++/scan-3.C: New test.
9590 * testsuite/libgomp.c++/scan-4.C: New test.
9591 * testsuite/libgomp.c++/scan-5.C: New test.
9592 * testsuite/libgomp.c++/scan-6.C: New test.
9593 * testsuite/libgomp.c++/scan-7.C: New test.
9594 * testsuite/libgomp.c++/scan-8.C: New test.
9595 * testsuite/libgomp.c/scan-1.c: New test.
9596 * testsuite/libgomp.c/scan-2.c: New test.
9597 * testsuite/libgomp.c/scan-3.c: New test.
9598 * testsuite/libgomp.c/scan-4.c: New test.
9599 * testsuite/libgomp.c/scan-5.c: New test.
9600 * testsuite/libgomp.c/scan-6.c: New test.
9601 * testsuite/libgomp.c/scan-7.c: New test.
9602 * testsuite/libgomp.c/scan-8.c: New test.
9603
9604 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9605
9606 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9607 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9608 Likewise.
9609
9610 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9611 check.
9612
9613 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9614
9615 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9616 file.
9617
9618 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9619
9620 PR fortran/90743
9621 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9622 case.
9623 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9624 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9625 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9626 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9627
9628 PR testsuite/90861
9629 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9630
9631 PR middle-end/90862
9632 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9633
9634 2019-06-16 Tom de Vries <tdevries@suse.de>
9635
9636 PR tree-optimization/89376
9637 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9638
9639 2019-06-15 Tom de Vries <tdevries@suse.de>
9640
9641 PR tree-optimization/89713
9642 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9643 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9644
9645 2019-06-15 Jakub Jelinek <jakub@redhat.com>
9646
9647 PR middle-end/90779
9648 * testsuite/libgomp.c/pr90779.c: New test.
9649 * testsuite/libgomp.fortran/pr90779.f90: New test.
9650
9651 2019-06-15 Tom de Vries <tdevries@suse.de>
9652
9653 PR tree-optimization/90009
9654 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9655
9656 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9657
9658 PR tree-optimization/89713
9659 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9660
9661 2019-06-11 Jakub Jelinek <jakub@redhat.com>
9662
9663 PR target/90811
9664 * testsuite/libgomp.c/pr90811.c: New test.
9665
9666 2019-06-05 Jakub Jelinek <jakub@redhat.com>
9667
9668 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9669 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9670
9671 2019-06-04 Jakub Jelinek <jakub@redhat.com>
9672
9673 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9674 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9675 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9676 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9677
9678 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9679
9680 * configure.ac: Call AX_COUNT_CPUS.
9681 Substitute CPU_COUNT.
9682 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9683 count fallback.
9684 * aclocal.m4: Regenerate.
9685 * configure: Regenerate.
9686 * Makefile.in, testsuite/Makefile.in: Regenerate.
9687
9688 2019-05-29 Jakub Jelinek <jakub@redhat.com>
9689
9690 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9691 to ...
9692 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9693 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9694 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9695
9696 2019-05-27 Jakub Jelinek <jakub@redhat.com>
9697
9698 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9699
9700 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9701
9702 PR libgomp/90641
9703 * work.c (gomp_init_work_share): Instead of aligning final ordered
9704 value to multiples of long long alignment, align to that the
9705 first part (ordered team ids) and if inline_ordered_team_ids
9706 is not on a long long alignment boundary within the structure,
9707 use __alignof__ (long long) - 1 pad size always.
9708 * loop.c (GOMP_loop_start): Fix *mem computation if
9709 inline_ordered_team_ids is not aligned on long long alignment boundary
9710 within the structure.
9711 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9712 * sections.c (GOMP_sections2_start): Likewise.
9713
9714 2019-05-24 Jakub Jelinek <jakub@redhat.com>
9715
9716 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9717 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9718
9719 PR libgomp/90585
9720 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9721 HAVE_INTTYPES_H is defined.
9722 (print_uint64_t): New typedef.
9723 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9724 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9725 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9726 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9727 before casting to void *.
9728 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9729 * oacc-mem.c: Don't include config.h nor stdint.h.
9730 * target.c: Don't include config.h.
9731 * oacc-cuda.c: Likewise.
9732 * oacc-host.c: Don't include stdint.h.
9733
9734 2019-05-20 Jakub Jelinek <jakub@redhat.com>
9735
9736 PR libgomp/90527
9737 * alloc.c (_GNU_SOURCE): Define.
9738
9739 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9740
9741 * acc_prof.h: New file.
9742 * oacc-profiling.c: Likewise.
9743 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9744 Add these, respectively.
9745 * Makefile.in: Regenerate.
9746 * env.c (initialize_env): Call goacc_profiling_initialize.
9747 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9748 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9749 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9750 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9751 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9752 acc_prof_register, acc_prof_unregister, and acc_register_library.
9753 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9754 GOMP_PLUGIN_goacc_thread.
9755 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9756 prof_callbacks_enabled members.
9757 (goacc_prof_enabled, goacc_profiling_initialize)
9758 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9759 (goacc_profiling_dispatch): Declare.
9760 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9761 (GOACC_PROFILING_SETUP_P): Define.
9762 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9763 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9764 OpenACC Profiling Interface.
9765 * oacc-cuda.c (acc_get_current_cuda_device)
9766 (acc_get_current_cuda_context, acc_get_cuda_stream)
9767 (acc_set_cuda_stream): Likewise.
9768 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9769 (acc_init, acc_set_device_type, acc_get_device_type)
9770 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9771 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9772 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9773 (acc_unmap_data, present_create_copy, delete_copyout)
9774 (update_dev_host): Likewise.
9775 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9776 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9777 Likewise.
9778 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9779 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9780 Likewise.
9781 * libgomp.texi: Update.
9782 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9783 file.
9784 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9785 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9786 Likewise.
9787 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9788 Likewise.
9789 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9790 Likewise.
9791 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9792 Likewise.
9793
9794 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9795
9796 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9797 (struct goacc_asyncqueue_list): Likewise.
9798 (goacc_aq): Likewise.
9799 (goacc_aq_list): Likewise.
9800 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9801 (GOMP_OFFLOAD_openacc_async_test): Remove.
9802 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9803 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9804 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9805 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9806 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9807 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9808 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9809 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9810 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9811 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9812 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9813 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9814 (GOMP_OFFLOAD_openacc_async_test): Declare.
9815 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9816 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9817 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9818 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9819 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9820
9821 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9822 (gomp_acc_insert_pointer): Adjust declaration.
9823 (gomp_copy_host2dev): New declaration.
9824 (gomp_copy_dev2host): Likewise.
9825 (gomp_map_vars_async): Likewise.
9826 (gomp_unmap_tgt): Likewise.
9827 (gomp_unmap_vars_async): Likewise.
9828 (gomp_fini_device): Likewise.
9829
9830 * oacc-async.c (get_goacc_thread): New function.
9831 (get_goacc_thread_device): New function.
9832 (lookup_goacc_asyncqueue): New function.
9833 (get_goacc_asyncqueue): New function.
9834 (acc_async_test): Adjust code to use new async design.
9835 (acc_async_test_all): Likewise.
9836 (acc_wait): Likewise.
9837 (acc_wait_async): Likewise.
9838 (acc_wait_all): Likewise.
9839 (acc_wait_all_async): Likewise.
9840 (goacc_async_free): New function.
9841 (goacc_init_asyncqueues): Likewise.
9842 (goacc_fini_asyncqueues): Likewise.
9843 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9844 design.
9845 (acc_set_cuda_stream): Likewise.
9846 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9847 (host_openacc_register_async_cleanup): Remove.
9848 (host_openacc_async_exec): New function.
9849 (host_openacc_async_test): Adjust parameters.
9850 (host_openacc_async_test_all): Remove.
9851 (host_openacc_async_wait): Remove.
9852 (host_openacc_async_wait_async): Remove.
9853 (host_openacc_async_wait_all): Remove.
9854 (host_openacc_async_wait_all_async): Remove.
9855 (host_openacc_async_set_async): Remove.
9856 (host_openacc_async_synchronize): New function.
9857 (host_openacc_async_serialize): New function.
9858 (host_openacc_async_host2dev): New function.
9859 (host_openacc_async_dev2host): New function.
9860 (host_openacc_async_queue_callback): New function.
9861 (host_openacc_async_construct): New function.
9862 (host_openacc_async_destruct): New function.
9863 (struct gomp_device_descr host_dispatch): Remove initialization of old
9864 interface, add initialization of new async sub-struct.
9865 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9866 (goacc_attach_host_thread_to_device): Remove old async code usage.
9867 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9868 (goacc_fini_asyncqueues): Likewise.
9869 (goacc_async_copyout_unmap_vars): Likewise.
9870 (goacc_async_free): Likewise.
9871 (get_goacc_asyncqueue): Likewise.
9872 (lookup_goacc_asyncqueue): Likewise.
9873 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9874 design.
9875 (present_create_copy): Adjust code to use new async design.
9876 (delete_copyout): Likewise.
9877 (update_dev_host): Likewise.
9878 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9879 async design.
9880 (gomp_acc_remove_pointer): Adjust code to use new async design.
9881 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9882 design.
9883 (GOACC_enter_exit_data): Likewise.
9884 (goacc_wait): Likewise.
9885 (GOACC_update): Likewise.
9886 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9887 when called, warn as obsolete in comment.
9888 * target.c (goacc_device_copy_async): New function.
9889 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9890 add goacc_device_copy_async case.
9891 (gomp_copy_dev2host): Likewise.
9892 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9893 (gomp_map_pointer): Likewise.
9894 (gomp_map_fields_existing): Likewise.
9895 (gomp_map_vars_internal): New always_inline function, renamed from
9896 gomp_map_vars.
9897 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9898 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9899 passing goacc_asyncqueue argument.
9900 (gomp_unmap_tgt): Remove static, add attribute_hidden.
9901 (gomp_unref_tgt): New function.
9902 (gomp_unmap_vars_internal): New always_inline function, renamed from
9903 gomp_unmap_vars.
9904 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9905 (gomp_unmap_vars_async): Implement by calling
9906 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9907 (gomp_fini_device): New function.
9908 (gomp_exit_data): Adjust gomp_copy_dev2host call.
9909 (gomp_load_plugin_for_device): Remove old interface, adjust to load
9910 new async interface.
9911 (gomp_target_fini): Adjust code to call gomp_fini_device.
9912
9913 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9914 (struct ptx_stream): Remove.
9915 (struct nvptx_thread): Remove current_stream field.
9916 (cuda_map_create): Remove.
9917 (cuda_map_destroy): Remove.
9918 (map_init): Remove.
9919 (map_fini): Remove.
9920 (map_pop): Remove.
9921 (map_push): Remove.
9922 (struct goacc_asyncqueue): Define.
9923 (struct nvptx_callback): Define.
9924 (struct ptx_free_block): Define.
9925 (struct ptx_device): Remove null_stream, active_streams, async_streams,
9926 stream_lock, and next fields.
9927 (enum ptx_event_type): Remove.
9928 (struct ptx_event): Remove.
9929 (ptx_event_lock): Remove.
9930 (ptx_events): Remove.
9931 (init_streams_for_device): Remove.
9932 (fini_streams_for_device): Remove.
9933 (select_stream_for_async): Remove.
9934 (nvptx_init): Remove ptx_events and ptx_event_lock references.
9935 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9936 case.
9937 (nvptx_open_device): Add free_blocks initialization, remove
9938 init_streams_for_device call.
9939 (nvptx_close_device): Remove fini_streams_for_device call, add
9940 free_blocks destruct code.
9941 (event_gc): Remove.
9942 (event_add): Remove.
9943 (nvptx_exec): Adjust parameters and code.
9944 (nvptx_free): Likewise.
9945 (nvptx_host2dev): Remove.
9946 (nvptx_dev2host): Remove.
9947 (nvptx_set_async): Remove.
9948 (nvptx_async_test): Remove.
9949 (nvptx_async_test_all): Remove.
9950 (nvptx_wait): Remove.
9951 (nvptx_wait_async): Remove.
9952 (nvptx_wait_all): Remove.
9953 (nvptx_wait_all_async): Remove.
9954 (nvptx_get_cuda_stream): Remove.
9955 (nvptx_set_cuda_stream): Remove.
9956 (GOMP_OFFLOAD_alloc): Adjust code.
9957 (GOMP_OFFLOAD_free): Likewise.
9958 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9959 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9960 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9961 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9962 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9963 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9964 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9965 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9966 (cuda_free_argmem): New function.
9967 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9968 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9969 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9970 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9971 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9972 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9973 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9974 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9975 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9976 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9977 (cuda_callback_wrapper): New function.
9978 (cuda_memcpy_sanity_check): New function.
9979 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9980 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9981 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9982 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9983
9984 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
9985
9986 PR target/87835
9987 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9988
9989 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
9990
9991 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9992
9993 2019-03-27 Kevin Buettner <kevinb@redhat.com>
9994
9995 * team.c (gomp_team_start): Initialize pool->threads[0].
9996
9997 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
9998
9999 * testsuite/libgomp.oacc-c++/c++.exp: Specify
10000 "-foffload=$offload_target".
10001 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10002 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10003 * testsuite/lib/libgomp.exp
10004 (check_effective_target_openacc_nvidia_accel_configured): Remove,
10005 as (conceptually) merged into
10006 check_effective_target_openacc_nvidia_accel_selected. Adjust all
10007 users.
10008
10009 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
10010 * testsuite/libgomp-test-support.exp.in: Adjust.
10011 * testsuite/lib/libgomp.exp: Likewise. Don't populate
10012 openacc_device_types_s.
10013 (offload_target_to_openacc_device_type): New proc.
10014 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
10015 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10016 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10017 * Makefile.in: Regenerate.
10018 * configure: Likewise.
10019 * testsuite/Makefile.in: Likewise.
10020
10021 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
10022 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
10023 instead of OFFLOAD_TARGETS.
10024 * target.c (gomp_target_init): Adjust.
10025 * testsuite/libgomp-test-support.exp.in: Likewise.
10026 * testsuite/lib/libgomp.exp: Likewise. Populate
10027 openacc_device_types_s instead of offload_targets_s_openacc.
10028 (check_effective_target_openacc_nvidia_accel_selected)
10029 (check_effective_target_openacc_host_selected): Adjust.
10030 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
10031 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10032 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10033 * Makefile.in: Regenerate.
10034 * config.h.in: Likewise.
10035 * configure: Likewise.
10036 * testsuite/Makefile.in: Likewise.
10037
10038 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
10039 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
10040 "offloading: supported, but hardware not accessible".
10041 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10042 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10043
10044 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
10045
10046 PR c/87924
10047 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
10048 goacc_wait().
10049 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
10050 and related adjustment.
10051
10052 2019-01-30 Jakub Jelinek <jakub@redhat.com>
10053
10054 PR c++/88988
10055 * testsuite/libgomp.c++/pr88988.C: New test.
10056
10057 2019-01-28 Jakub Jelinek <jakub@redhat.com>
10058
10059 PR middle-end/89002
10060 * testsuite/libgomp.c/pr89002.c: New test.
10061
10062 2019-01-28 Richard Biener <rguenther@suse.de>
10063
10064 PR testsuite/89064
10065 PR tree-optimization/86865
10066 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
10067
10068 2019-01-24 Tom de Vries <tdevries@suse.de>
10069
10070 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
10071 once instantiated_devices drops to 0.
10072
10073 2019-01-23 Tom de Vries <tdevries@suse.de>
10074
10075 PR target/PR88946
10076 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
10077 cuMemFree.
10078 (nvptx_exec): Don't call map_push if mapnum == 0.
10079 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
10080
10081 2019-01-23 Tom de Vries <tdevries@suse.de>
10082
10083 PR target/88941
10084 PR target/88939
10085 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
10086 (map_fini): Remove "assert (!s->map->active)".
10087 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
10088
10089 2019-01-23 Tom de Vries <tdevries@suse.de>
10090
10091 PR target/87835
10092 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
10093 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
10094
10095 2019-01-15 Tom de Vries <tdevries@suse.de>
10096
10097 PR target/80547
10098 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
10099 New test.
10100
10101 2019-01-12 Tom de Vries <tdevries@suse.de>
10102
10103 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
10104 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
10105 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
10106 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
10107
10108 2019-01-12 Tom de Vries <tdevries@suse.de>
10109
10110 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
10111
10112 2019-01-12 Tom de Vries <tdevries@suse.de>
10113
10114 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
10115 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
10116 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
10117
10118 2019-01-12 Tom de Vries <tdevries@suse.de>
10119
10120 PR target/85486
10121 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
10122 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
10123
10124 2019-01-12 Tom de Vries <tdevries@suse.de>
10125
10126 PR target/85381
10127 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
10128 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
10129
10130 2019-01-12 Tom de Vries <tdevries@suse.de>
10131
10132 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10133 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10134 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10135
10136 2019-01-12 Tom de Vries <tdevries@suse.de>
10137
10138 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10139 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10140 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10141
10142 2019-01-12 Tom de Vries <tdevries@suse.de>
10143
10144 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10145 resources diagnostic.
10146
10147 2019-01-12 Tom de Vries <tdevries@suse.de>
10148
10149 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10150 vector length to be 128.
10151 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10152 length 2097152 to be reduced to 1024 instead of 32.
10153
10154 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
10155 James Norris <jnorris@codesourcery.com>
10156
10157 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10158 Library Routines", and "Environment Variables".
10159
10160 2019-01-11 Tom de Vries <tdevries@suse.de>
10161
10162 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10163 num_workers 16.
10164
10165 2019-01-11 Tom de Vries <tdevries@suse.de>
10166
10167 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10168 -foffload=-w.
10169 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10170 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10171 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10172 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10173
10174 2019-01-11 Tom de Vries <tdevries@suse.de>
10175
10176 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10177 test.
10178
10179 2019-01-10 Nathan Sidwell <nathan@acm.org>
10180 Julian Brown <julian@codesourcery.com>
10181
10182 PR lto/71959
10183 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10184 * testsuite/libgomp.oacc-c++/pr71959.C: New.
10185
10186 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10187
10188 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10189 and paste code.
10190
10191 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10192
10193 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
10194 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10195 write.
10196
10197 2019-01-09 Tom de Vries <tdevries@suse.de>
10198
10199 PR target/88756
10200 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10201 #define instead of "const int".
10202 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10203 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10204 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10205 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10206
10207 2019-01-09 Tom de Vries <tdevries@suse.de>
10208
10209 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10210 one worker.
10211
10212 2019-01-07 Tom de Vries <tdevries@suse.de>
10213
10214 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10215 GOMP_OPENACC_DIM argument.
10216
10217 2019-01-03 Tom de Vries <tdevries@suse.de>
10218
10219 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10220 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10221
10222 2019-01-01 Jakub Jelinek <jakub@redhat.com>
10223
10224 Update copyright years.
10225
10226 2019-01-01 Jakub Jelinek <jakub@redhat.com>
10227
10228 * libgomp.texi: Bump @copying's copyright year.
10229
10230 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10231
10232 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10233 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10234 (GOACC_declare): Redefine the "device" argument to "flags".
10235
10236 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10237 Cesar Philippidis <cesar@codesourcery.com>
10238
10239 * target.c (struct gomp_coalesce_chunk): New structure.
10240 (struct gomp_coalesce_buf): Update the chunks member to use that
10241 type. Adjust all users.
10242
10243 2018-12-19 Tom de Vries <tdevries@suse.de>
10244
10245 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10246 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10247 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10248
10249 2018-12-19 Tom de Vries <tdevries@suse.de>
10250
10251 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10252 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10253 gcc/testsuite/gcc.dg/goacc.
10254 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10255
10256 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10257 Chung-Lin Tang <cltang@codesourcery.com>
10258
10259 * oacc-mem.c (acc_present_or_create): Remove definition and change
10260 to alias of acc_create.
10261 (acc_present_or_copyin): Remove definition and change to alias of
10262 acc_copyin.
10263 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10264 of acc_present_or_create.
10265 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10266 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10267 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10268 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10269 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10270 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10271 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10272 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10273 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10274 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10275 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10276 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10277 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10278 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10279 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10280 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10281
10282 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10283
10284 PR libgomp/88495
10285 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10286 "identical parameters".
10287 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10288 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10289
10290 PR libgomp/88484
10291 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10292 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10293
10294 PR libgomp/88407
10295 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10296 (nvptx_wait_async): Unseen async-argument is a no-op.
10297 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10298 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10299 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10300 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10301 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10302 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10303 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10304 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10305 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10306
10307 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10308 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10309
10310 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10311
10312 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10313 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10314 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10315
10316 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10317
10318 PR libgomp/88370
10319 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10320 (acc_set_cuda_stream): Clarify.
10321 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10322 "async_valid_p".
10323 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10324 acc_async_sync".
10325 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10326 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10327 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10328 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10329
10330 2018-12-14 Tom de Vries <tdevries@suse.de>
10331
10332 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10333 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10334 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10335 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10336 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10337
10338 2018-12-13 Tom de Vries <tdevries@suse.de>
10339
10340 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10341 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10342 * fortran.c (omp_display_affinity_): ... here.
10343 * libgomp.h (gomp_print_string): Declare.
10344 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10345 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10346 write.
10347
10348 2018-12-13 Jakub Jelinek <jakub@redhat.com>
10349
10350 PR libgomp/88460
10351 * testsuite/libgomp.c++/for-24.C (results): Include it in
10352 omp declare target region.
10353 (main): Use map (always, tofrom: results) instead of
10354 map (tofrom: results).
10355
10356 2018-12-12 Jakub Jelinek <jakub@redhat.com>
10357
10358 PR fortran/88463
10359 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10360 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10361
10362 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10363
10364 2018-12-12 Andreas Schwab <schwab@suse.de>
10365
10366 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10367 clobbered.
10368
10369 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10370
10371 PR fortran/88411
10372 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10373
10374 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10375 Jakub Jelinek <jakub@redhat.com>
10376
10377 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10378 devicep->host2dev_func.
10379
10380 2018-12-08 Jakub Jelinek <jakub@redhat.com>
10381
10382 PR libgomp/87995
10383 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10384 tls_runtime effective target.
10385 (t): New threadprivate variable.
10386 (main): Set t in threads which execute iterations of the worksharing
10387 loop. Propagate that to the task after the loop and don't abort
10388 if the current taskgroup hasn't been cancelled.
10389
10390 2018-12-02 Jakub Jelinek <jakub@redhat.com>
10391
10392 * testsuite/libgomp.c/task-reduction-3.c: New test.
10393
10394 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10395
10396 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10397
10398 PR libgomp/88288
10399 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10400 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10401
10402 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10403
10404 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10405
10406 2018-10-19 Richard Biener <rguenther@suse.de>
10407
10408 PR tree-optimization/88182
10409 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10410
10411 2018-11-26 Jakub Jelinek <jakub@redhat.com>
10412
10413 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10414 (RUNTEST): Don't define.
10415 (RUNTESTDEFAULTFLAGS): Add.
10416 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10417 (distclean-am): Depend on distclean-DEJAGNU.
10418 (check-am): If -j% option is present in MFLAGS and if
10419 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10420 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10421 * testsuite/Makefile.in: Regenerated.
10422
10423 2018-11-26 Richard Biener <rguenther@suse.de>
10424
10425 PR tree-optimization/88182
10426 * testsuite/libgomp.c++/pr88182.C: New testcase.
10427
10428 2018-11-20 Jakub Jelinek <jakub@redhat.com>
10429
10430 PR bootstrap/88106
10431 * config/mingw32/affinity-fmt.c: New file.
10432
10433 2018-11-09 Jakub Jelinek <jakub@redhat.com>
10434
10435 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10436 (gomp_display_affinity): Use __builtin_choose_expr to handle
10437 properly handle argument having integral, or pointer or some other
10438 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10439 with uint64_t type instead of %llx and unsigned long long.
10440
10441 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10442 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10443
10444 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10445
10446 * affinity.c: Include <string.h>, <stdio.h>.
10447 (gomp_display_affinity_place): Remove cpusetp.
10448 * teams.c: Include <limits.h>.
10449
10450 2018-11-08 Jakub Jelinek <jakub@redhat.com>
10451
10452 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10453 in_reduction clause for s[0].
10454
10455 * affinity.c (gomp_display_affinity_place): New function.
10456 * affinity-fmt.c: New file.
10457 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10458 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10459 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10460 Move these functions to ...
10461 * config/nvptx/teams.c: ... here. New file.
10462 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10463 New functions.
10464 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10465 functions.
10466 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10467 and _aligned_malloc.
10468 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10469 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10470 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10471 gomp_affinity_format_len): New variables.
10472 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10473 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10474 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10475 modifiers. Display (non-default) chunk sizes. Print
10476 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10477 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10478 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10479 * fortran.c: Include stdio.h and string.h.
10480 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10481 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10482 (omp_set_affinity_format_, omp_get_affinity_format_,
10483 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10484 omp_pause_resource_all_): New functions.
10485 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10486 switch.
10487 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10488 functions to ...
10489 * teams.c: ... here. New file.
10490 * libgomp_g.h: Include gstdint.h.
10491 (GOMP_loop_nonmonotonic_runtime_start,
10492 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10493 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10494 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10495 GOMP_parallel_loop_nonmonotonic_runtime,
10496 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10497 GOMP_loop_ull_nonmonotonic_runtime_start,
10498 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10499 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10500 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10501 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10502 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10503 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10504 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10505 GOMP_teams_reg): Declare.
10506 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10507 gomp_aligned_alloc uses fallback implementation.
10508 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10509 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10510 (struct gomp_doacross_work_share): Add extra field.
10511 (struct gomp_work_share): Add task_reductions field.
10512 (struct gomp_taskgroup): Add workshare and reductions fields.
10513 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10514 (gomp_thread_handle): New typedef.
10515 (gomp_display_affinity_place, gomp_set_affinity_format,
10516 gomp_display_string, gomp_display_affinity,
10517 gomp_display_affinity_thread): Declare.
10518 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10519 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10520 gomp_workshare_task_reduction_register): Declare.
10521 (gomp_team_start): Add taskgroup argument.
10522 (gomp_pause_host): Declare.
10523 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10524 to size_t.
10525 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10526 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10527 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10528 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10529 GOMP_loop_ull_doacross_start,
10530 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10531 GOMP_loop_maybe_nonmonotonic_runtime_next,
10532 GOMP_loop_maybe_nonmonotonic_runtime_start,
10533 GOMP_loop_nonmonotonic_runtime_next,
10534 GOMP_loop_nonmonotonic_runtime_start,
10535 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10536 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10537 GOMP_loop_ull_nonmonotonic_runtime_next,
10538 GOMP_loop_ull_nonmonotonic_runtime_start,
10539 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10540 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10541 GOMP_taskgroup_reduction_register,
10542 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10543 GOMP_teams_reg and GOMP_taskwait_depend.
10544 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10545 omp_{capture,display}_affinity{,_}, and
10546 omp_[gs]et_affinity_format{,_}.
10547 * loop.c: Include string.h.
10548 (GOMP_loop_runtime_next): Add ialias.
10549 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10550 (gomp_loop_static_start, gomp_loop_dynamic_start,
10551 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10552 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10553 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10554 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10555 or gomp_doacross_init callers.
10556 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10557 GOMP_loop_doacross_start): New functions.
10558 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10559 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10560 Mask off GFS_MONOTONIC bit.
10561 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10562 GOMP_loop_maybe_nonmonotonic_runtime_start,
10563 GOMP_loop_nonmonotonic_runtime_next,
10564 GOMP_loop_nonmonotonic_runtime_start,
10565 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10566 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10567 functions.
10568 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10569 gomp_team_start.
10570 * loop_ull.c: Include string.h.
10571 (GOMP_loop_ull_runtime_next): Add ialias.
10572 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10573 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10574 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10575 gomp_loop_ull_ordered_dynamic_start,
10576 gomp_loop_ull_ordered_guided_start,
10577 gomp_loop_ull_doacross_static_start,
10578 gomp_loop_ull_doacross_dynamic_start,
10579 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10580 and gomp_doacross_ull_init callers.
10581 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10582 GOMP_loop_ull_doacross_start): New functions.
10583 (GOMP_loop_ull_runtime_start,
10584 GOMP_loop_ull_ordered_runtime_start,
10585 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10586 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10587 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10588 GOMP_loop_ull_nonmonotonic_runtime_next,
10589 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10590 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10591 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10592 (omp_pause_resource_t, omp_depend_t): New typedefs.
10593 (enum omp_lock_hint_t): Renamed to ...
10594 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10595 enumerators using numbers and omp_lock_hint_* as their aliases.
10596 (omp_lock_hint_t): New typedef. Rename to ...
10597 (omp_sync_hint_t): ... this.
10598 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10599 omp_sync_hint_t instead of omp_lock_hint_t.
10600 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10601 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10602 Declare.
10603 (omp_target_is_present, omp_target_disassociate_ptr):
10604 Change first argument from void * to const void *.
10605 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10606 from void * to const void *.
10607 (omp_target_associate_ptr): Change first and second arguments from
10608 void * to const void *.
10609 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10610 omp_pause_hard): New parameters.
10611 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10612 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10613 New interfaces.
10614 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10615 omp_pause_hard): New parameters.
10616 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10617 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10618 New externals.
10619 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10620 EXTRA argument. If not needed to prepare array, if extra is 0,
10621 clear ws->doacross, otherwise allocate just doacross structure and
10622 extra payload. If array is needed, allocate also extra payload.
10623 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10624 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10625 doacross == NULL.
10626 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10627 gomp_team_start.
10628 (GOMP_parallel): Likewise. Formatting fix.
10629 (GOMP_parallel_reductions): New function.
10630 (GOMP_cancellation_point): If taskgroup has workshare
10631 flag set, check cancelled of prev taskgroup if any.
10632 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10633 on prev taskgroup if any.
10634 * sections.c: Include string.h.
10635 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10636 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10637 (GOMP_sections2_start): New function.
10638 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10639 Pass NULL as taskgroup to gomp_team_start.
10640 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10641 gomp_work_share_start callers.
10642 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10643 If taskgroup has workshare flag set, check cancelled on prev
10644 taskgroup if any. Guard all cancellation tests with
10645 gomp_cancel_var test.
10646 (omp_target_is_present, omp_target_disassociate_ptr):
10647 Change ptr argument from void * to const void *.
10648 (omp_target_memcpy): Change src argument from void * to const void *.
10649 (omp_target_memcpy_rect): Likewise.
10650 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10651 instead of char * where needed.
10652 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10653 from void * to const void *.
10654 (omp_pause_resource, omp_pause_resource_all): New functions.
10655 * task.c (gomp_task_handle_depend): Handle new depend array format
10656 in addition to the old. Handle mutexinoutset kinds the same as
10657 inout for now, handle unspecified kinds.
10658 (gomp_create_target_task): If taskgroup has workshare flag set, check
10659 cancelled on prev taskgroup if any. Guard all cancellation tests with
10660 gomp_cancel_var test. Handle new depend array format count in
10661 addition to the old.
10662 (GOMP_task): Likewise. Adjust function comment.
10663 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10664 cancelled on prev taskgroup if any. Guard all cancellation tests with
10665 gomp_cancel_var test.
10666 (GOMP_taskwait_depend): New function.
10667 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10668 format in addition to the old. Handle mutexinoutset kinds the same as
10669 inout for now, handle unspecified kinds. Fix a function comment typo.
10670 (gomp_taskgroup_init): New function.
10671 (GOMP_taskgroup_start): Use it.
10672 (gomp_reduction_register, gomp_create_artificial_team,
10673 GOMP_taskgroup_reduction_register,
10674 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10675 gomp_parallel_reduction_register,
10676 gomp_workshare_task_reduction_register,
10677 gomp_workshare_taskgroup_start,
10678 GOMP_workshare_task_reduction_unregister): New functions.
10679 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10680 check cancelled on prev taskgroup if any. Guard all cancellation
10681 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10682 by calling GOMP_taskgroup_reduction_register.
10683 * team.c (gomp_thread_attr): Remove comment.
10684 (struct gomp_thread_start_data): Add handle field.
10685 (gomp_thread_start): Call pthread_detach.
10686 (gomp_new_team): Adjust gomp_init_work_share caller.
10687 (gomp_free_pool_helper): Call pthread_detach.
10688 (gomp_team_start): Add taskgroup argument, initialize implicit
10689 tasks' taskgroup field to that. Don't call
10690 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10691 (gomp_team_end): Determine nesting by thr->ts.level != 0
10692 rather than thr->ts.team != NULL.
10693 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10694 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10695 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10696 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10697 if more than 1 allocate also extra payload at the end of array. Never
10698 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10699 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10700 return true instead of ws.
10701 * Makefile.in: Regenerated.
10702 * configure: Regenerated.
10703 * config.h.in: Regenerated.
10704 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10705 in some cases.
10706 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10707 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10708 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10709 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10710 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10711 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10712 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10713 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10714 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10715 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10716 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10717 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10718 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10719 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10720 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10721 define a different N(test), don't define N(f0) to N(f14), but instead
10722 define N(f20) to N(f34) using != comparisons.
10723 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10724 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10725 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10726 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10727 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10728 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10729 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10730 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10731 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10732 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10733 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10734 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10735 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10736 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10737 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10738 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10739 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10740 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10741 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10742 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10743 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10744 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10745 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10746 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10747 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10748 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10749 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10750 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10751 * testsuite/libgomp.c++/depend-1.C: New test.
10752 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10753 * testsuite/libgomp.c++/depobj-1.C: New test.
10754 * testsuite/libgomp.c++/for-16.C: New test.
10755 * testsuite/libgomp.c++/for-21.C: New test.
10756 * testsuite/libgomp.c++/for-22.C: New test.
10757 * testsuite/libgomp.c++/for-23.C: New test.
10758 * testsuite/libgomp.c++/for-24.C: New test.
10759 * testsuite/libgomp.c++/for-25.C: New test.
10760 * testsuite/libgomp.c++/for-26.C: New test.
10761 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10762 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10763 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10764 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10765 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10766 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10767 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10768 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10769 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10770 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10771 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10772 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10773 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10774 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10775 * testsuite/libgomp.c/task-reduction-1.c: New test.
10776 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10777 * testsuite/libgomp.c/task-reduction-2.c: New test.
10778 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10779 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10780 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10781 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10782 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10783 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10784 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10785 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10786 * testsuite/libgomp.c/teams-1.c: New test.
10787 * testsuite/libgomp.c/teams-2.c: New test.
10788 * testsuite/libgomp.c/thread-limit-4.c: New test.
10789 * testsuite/libgomp.c/thread-limit-5.c: New test.
10790 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10791
10792 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10793
10794 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10795 acc_memcpy_to/from_device functions, now with async parameter.
10796 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10797 (acc_memcpy_from_device): Likewise.
10798 (acc_memcpy_to_device_async): New API function.
10799 (acc_memcpy_from_device_async): Likewise.
10800 (present_create_copy): Add async parameter and async setting/unsetting.
10801 (acc_create): Adjust present_create_copy call.
10802 (acc_copyin): Likewise.
10803 (acc_present_or_create): Likewise.
10804 (acc_present_or_copyin): Likewise.
10805 (acc_create_async): New API function.
10806 (acc_copyin_async): New API function.
10807 (delete_copyout): Add async parameter and async setting/unsetting.
10808 (acc_delete): Adjust delete_copyout call.
10809 (acc_copyout): Likewise.
10810 (acc_delete_async): New API function.
10811 (acc_copyout_async): Likewise.
10812 (update_dev_host): Add async parameter and async setting/unsetting.
10813 (acc_update_device): Adjust update_dev_host call.
10814 (acc_update_self): Likewise.
10815 (acc_update_device_async): New API function.
10816 (acc_update_self_async): Likewise.
10817 * openacc.h (acc_copyin_async): Declare new API function.
10818 (acc_create_async): Likewise.
10819 (acc_copyout_async): Likewise.
10820 (acc_delete_async): Likewise.
10821 (acc_update_device_async): Likewise.
10822 (acc_update_self_async): Likewise.
10823 (acc_memcpy_to_device_async): Likewise.
10824 (acc_memcpy_from_device_async): Likewise.
10825 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10826 (acc_copyin_async_64_h): New subroutine.
10827 (acc_copyin_async_array_h): New subroutine.
10828 (acc_create_async_32_h): New subroutine.
10829 (acc_create_async_64_h): New subroutine.
10830 (acc_create_async_array_h): New subroutine.
10831 (acc_copyout_async_32_h): New subroutine.
10832 (acc_copyout_async_64_h): New subroutine.
10833 (acc_copyout_async_array_h): New subroutine.
10834 (acc_delete_async_32_h): New subroutine.
10835 (acc_delete_async_64_h): New subroutine.
10836 (acc_delete_async_array_h): New subroutine.
10837 (acc_update_device_async_32_h): New subroutine.
10838 (acc_update_device_async_64_h): New subroutine.
10839 (acc_update_device_async_array_h): New subroutine.
10840 (acc_update_self_async_32_h): New subroutine.
10841 (acc_update_self_async_64_h): New subroutine.
10842 (acc_update_self_async_array_h): New subroutine.
10843 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10844 (acc_copyin_async_64_h): New subroutine.
10845 (acc_copyin_async_array_h): New subroutine.
10846 (acc_create_async_32_h): New subroutine.
10847 (acc_create_async_64_h): New subroutine.
10848 (acc_create_async_array_h): New subroutine.
10849 (acc_copyout_async_32_h): New subroutine.
10850 (acc_copyout_async_64_h): New subroutine.
10851 (acc_copyout_async_array_h): New subroutine.
10852 (acc_delete_async_32_h): New subroutine.
10853 (acc_delete_async_64_h): New subroutine.
10854 (acc_delete_async_array_h): New subroutine.
10855 (acc_update_device_async_32_h): New subroutine.
10856 (acc_update_device_async_64_h): New subroutine.
10857 (acc_update_device_async_array_h): New subroutine.
10858 (acc_update_self_async_32_h): New subroutine.
10859 (acc_update_self_async_64_h): New subroutine.
10860 (acc_update_self_async_array_h): New subroutine.
10861 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10862 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10863 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10864 acc_memcpy_to_device_async*, acc_update_device_async*, and
10865 acc_update_self_async* entries.
10866 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10867 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10868 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10869
10870 2018-10-31 Joseph Myers <joseph@codesourcery.com>
10871
10872 PR bootstrap/82856
10873 * Makefile.am: Include multilib.am
10874 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10875 (CLEANFILES): Remove libgomp.info.
10876 * configure.ac: Remove AC_PREREQ.
10877 * testsuite/Makefile.am (RUNTEST): Remove quotes.
10878 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10879 Regenerate.
10880
10881 2018-10-29 Joseph Myers <joseph@codesourcery.com>
10882 Julian Brown <julian@codesourcery.com>
10883
10884 * testsuite/libgomp.oacc-c++/this.C: New.
10885
10886 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
10887
10888 * plugin/plugin-nvptx.c (struct cuda_map): New.
10889 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10890 h_tail with (cuda_map *) map.
10891 (cuda_map_create): New function.
10892 (cuda_map_destroy): New function.
10893 (map_init): Update to use a linked list of cuda_map objects.
10894 (map_fini): Likewise.
10895 (map_pop): Likewise.
10896 (map_push): Likewise. Return CUdeviceptr instead of void.
10897 (init_streams_for_device): Remove stales references to ptx_stream
10898 members.
10899 (select_stream_for_async): Likewise.
10900 (nvptx_exec): Update call to map_init.
10901
10902 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
10903 Julian Brown <julian@codesourcery.com>
10904
10905 PR middle-end/86336
10906 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10907
10908 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
10909 Thomas Koenig <tkoenig@gcc.gnu.org>
10910
10911 PR fortran/25829
10912 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10913 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10914 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10915 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10916 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10917 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10918 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10919
10920 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
10921 Tom de Vries <tdevries@suse.de>
10922
10923 PR target/85590
10924 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10925 (cuOccupancyMaxPotentialBlockSize): Declare.
10926 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10927 CUDA_ONE_CALL_MAYBE_NULL.
10928 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10929 CUoccupancyB2DSize and declare
10930 cuOccupancyMaxPotentialBlockSize.
10931 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10932 default num_gangs and num_workers when the driver supports it.
10933
10934 2018-08-08 Tom de Vries <tdevries@suse.de>
10935
10936 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10937 CUDA_ONE_CALL_MAYBE_NULL.
10938 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10939 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10940 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10941 are not found.
10942
10943 2018-08-08 Tom de Vries <tdevries@suse.de>
10944
10945 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10946 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10947 present.
10948
10949 2018-08-08 Tom de Vries <tdevries@suse.de>
10950
10951 * plugin/plugin-nvptx.c
10952 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10953 (nvptx_open_device): Use
10954 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10955
10956 2018-08-08 Tom de Vries <tdevries@suse.de>
10957
10958 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10959 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
10960
10961 2018-08-07 Tom de Vries <tdevries@suse.de>
10962
10963 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10964 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10965 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
10966 corresponding call in CUDA_ONE_CALL. Add def/undef of
10967 CUDA_ONE_CALL_MAYBE_NULL.
10968 (CUDA_CALL_EXISTS): Define.
10969
10970 2018-08-07 Tom de Vries <tdevries@suse.de>
10971
10972 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10973 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10974 corresponding undefs right after.
10975
10976 2018-08-04 Tom de Vries <tdevries@suse.de>
10977
10978 * plugin/configfrag.ac: For --without-cuda-driver, set
10979 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
10980 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10981 * configure: Regenerate.
10982
10983 2018-08-02 Tom de Vries <tdevries@suse.de>
10984
10985 PR target/86660
10986 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10987 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10988 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10989 Same.
10990 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10991 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10992 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10993
10994 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10995 Thomas Schwinge <thomas@codesourcery.com>
10996
10997 * config/nvptx/oacc-parallel.c: Truncate.
10998
10999 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
11000 James Norris <jnorris@codesourcery.com>
11001
11002 * plugin/plugin-nvptx.c (struct map): Removed.
11003 (map_init, map_pop): Remove use of struct map.
11004 (map_push): Likewise and change argument list.
11005 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
11006
11007 2018-08-01 Tom de Vries <tdevries@suse.de>
11008
11009 * plugin/cuda-lib.def: New file. Factor out of ...
11010 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
11011 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
11012 using CUDA_CALLS.
11013
11014 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
11015
11016 Revert 'AsyncI/O patch committed'.
11017 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
11018 Thomas Koenig <tkoenig@gcc.gnu.org>
11019
11020 PR fortran/25829
11021 * testsuite/libgomp.fortran/async_io_1.f90: New test.
11022 * testsuite/libgomp.fortran/async_io_2.f90: New test.
11023 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11024 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11025 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11026 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11027 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11028
11029 2018-07-30 Tom de Vries <tdevries@suse.de>
11030
11031 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
11032 (nvptx_exec): Ensure worker and vector default dims don't exceed
11033 targ_fn->max_threads_per_block.
11034
11035 2018-07-30 Tom de Vries <tdevries@suse.de>
11036
11037 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
11038 (nvptx_open_device): Init default_dims for device.
11039 (nvptx_exec): Use default_dims from device.
11040
11041 2018-07-26 Jakub Jelinek <jakub@redhat.com>
11042
11043 PR testsuite/86660
11044 * testsuite/libgomp.c++/for-15.C (results): Include it in
11045 omp declare target region.
11046 (main): Use map (always, tofrom: results) instead of
11047 map (tofrom: results).
11048
11049 PR middle-end/86660
11050 * testsuite/libgomp.c/pr86660.c: New test.
11051
11052 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
11053 Tom de Vries <tdevries@suse.de>
11054
11055 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
11056 sufficient resources to launch a kernel, and give a hint on how to fix
11057 it.
11058
11059 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
11060 Tom de Vries <tdevries@suse.de>
11061
11062 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
11063 max_threads_per_block and max_threads_per_multiprocessor fields.
11064 (nvptx_open_device): Initialize new fields.
11065 (nvptx_exec): Use num_sms, and new fields.
11066
11067 2018-07-26 Tom de Vries <tdevries@suse.de>
11068
11069 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
11070 to correct locations. Remove xfail.
11071
11072 2018-07-26 Tom de Vries <tdevries@suse.de>
11073
11074 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
11075 acc_wait. Move acc_async_test calls to correct locations. Remove
11076 xfail.
11077
11078 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
11079 Thomas Koenig <tkoenig@gcc.gnu.org>
11080
11081 PR fortran/25829
11082 * testsuite/libgomp.fortran/async_io_1.f90: New test.
11083 * testsuite/libgomp.fortran/async_io_2.f90: New test.
11084 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11085 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11086 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11087 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11088 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11089
11090 2018-07-17 Jakub Jelinek <jakub@redhat.com>
11091
11092 PR middle-end/86542
11093 * testsuite/libgomp.c++/pr86542.C: New test.
11094
11095 PR middle-end/86539
11096 * testsuite/libgomp.c++/pr86539.C: New test.
11097
11098 2018-07-11 Jakub Jelinek <jakub@redhat.com>
11099
11100 PR c++/86443
11101 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
11102 (results): Make sure the variable is not inside declare target region.
11103 (qux): Remove unused function.
11104
11105 2018-07-10 Jakub Jelinek <jakub@redhat.com>
11106
11107 PR c++/86443
11108 * testsuite/libgomp.c++/for-15.C: New test.
11109
11110 2018-06-26 Jakub Jelinek <jakub@redhat.com>
11111
11112 PR c++/86291
11113 * testsuite/libgomp.c++/pr86291.C: New test.
11114
11115 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
11116
11117 * libgomp.texi (Top): Move www.openmp.org to https.
11118 (Enabling OpenMP): Ditto.
11119 (omp_get_active_level): Ditto.
11120 (omp_get_ancestor_thread_num): Ditto.
11121 (omp_get_cancellation): Ditto.
11122 (omp_get_default_device): Ditto.
11123 (omp_get_dynamic): Ditto.
11124 (omp_get_level): Ditto.
11125 (omp_get_max_active_levels): Ditto.
11126 (omp_get_max_task_priority): Ditto.
11127 (omp_get_max_threads): Ditto.
11128 (omp_get_nested): Ditto.
11129 (omp_get_num_devices): Ditto.
11130 (omp_get_num_procs): Ditto.
11131 (omp_get_num_teams): Ditto.
11132 (omp_get_num_threads): Ditto.
11133 (omp_get_proc_bind): Ditto.
11134 (omp_get_schedule): Ditto.
11135 (omp_get_team_num): Ditto.
11136 (omp_get_team_size): Ditto.
11137 (omp_get_thread_limit): Ditto.
11138 (omp_get_thread_num): Ditto.
11139 (omp_in_parallel): Ditto.
11140 (omp_in_final): Ditto.
11141 (omp_is_initial_device): Ditto.
11142 (omp_set_default_device): Ditto.
11143 (omp_set_dynamic): Ditto.
11144 (omp_set_max_active_levels): Ditto.
11145 (omp_set_nested): Ditto.
11146 (omp_set_num_threads): Ditto.
11147 (omp_set_schedule): Ditto.
11148 (omp_init_lock): Ditto.
11149 (omp_set_lock): Ditto.
11150 (omp_test_lock): Ditto.
11151 (omp_unset_lock): Ditto.
11152 (omp_destroy_lock): Ditto.
11153 (omp_init_nest_lock): Ditto.
11154 (omp_set_nest_lock): Ditto.
11155 (omp_test_nest_lock): Ditto.
11156 (omp_unset_nest_lock): Ditto.
11157 (omp_destroy_nest_lock): Ditto.
11158 (omp_get_wtick): Ditto.
11159 (omp_get_wtime): Ditto.
11160 (OMP_CANCELLATION): Ditto.
11161 (OMP_DISPLAY_ENV): Ditto.
11162 (OMP_DEFAULT_DEVICE): Ditto.
11163 (OMP_DYNAMIC): Ditto.
11164 (OMP_MAX_ACTIVE_LEVELS): Ditto.
11165 (OMP_MAX_TASK_PRIORITY): Ditto.
11166 (OMP_NESTED): Ditto.
11167 (OMP_NUM_THREADS): Ditto.
11168 (OMP_PROC_BIND): Ditto.
11169 (OMP_PLACES): Ditto.
11170 (OMP_STACKSIZE): Ditto.
11171 (OMP_SCHEDULE): Ditto.
11172 (OMP_THREAD_LIMIT): Ditto.
11173 (OMP_WAIT_POLICY): Ditto.
11174
11175 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
11176 James Norris <jnorris@codesourcery.com>
11177 Julian Brown <julian@codesourcery.com>
11178 Thomas Schwinge <thomas@codesourcery.com>
11179 Tom de Vries <tom@codesourcery.com>
11180
11181 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11182 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11183 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11184 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11185 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11186 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11187 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11188 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11189 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11190 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11191 Likewise.
11192 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11193 Likewise.
11194 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11195 Likewise.
11196 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11197 Likewise.
11198 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11199 Likewise.
11200 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11201 Likewise.
11202 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11203 Likewise.
11204 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11205 Likewise.
11206 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11207 Likewise.
11208 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11209 Likewise.
11210 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11211 Likewise.
11212 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11213 Likewise.
11214 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11215 Likewise.
11216 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11217 Likewise.
11218 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11219 Likewise.
11220 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11221 Likewise.
11222 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11223 Likewise.
11224 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11225 Likewise.
11226 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11227 Likewise.
11228 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11229 Likewise.
11230 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11231 Likewise.
11232 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11233 Likewise.
11234 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11235 Likewise.
11236 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11237 Likewise.
11238 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11239 Likewise.
11240 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11241 Likewise.
11242 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11243 Likewise.
11244 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11245 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11246 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11247 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11248 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11249 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11250 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11251 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11252 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11253 Likewise.
11254 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11255 Likewise.
11256 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11257 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11258 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11259 Likewise.
11260 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11261 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11262 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11263 Likewise.
11264 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11265 Likewise.
11266 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11267 Likewise.
11268 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11269 Likewise.
11270 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11271 Likewise.
11272 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11273 Likewise.
11274 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11275 Likewise.
11276 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11277 Likewise.
11278 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11279 Likewise.
11280 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11281 Likewise.
11282 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11283 Likewise.
11284 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11285 Likewise.
11286 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11287 Likewise.
11288 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11289 Likewise.
11290 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11291 Likewise.
11292 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11293 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11294 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11295 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11296 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11297 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11298 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11299
11300 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11301 Thomas Schwinge <thomas@codesourcery.com>
11302 Cesar Philippidis <cesar@codesourcery.com>
11303
11304 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11305 (gomp_acc_remove_pointer): Update declaration.
11306 (gomp_acc_declare_allocate): Declare.
11307 (gomp_remove_var): Declare.
11308 * libgomp.map (OACC_2.5): Define.
11309 * oacc-mem.c (acc_map_data): Update refcount.
11310 (acc_unmap_data): Likewise.
11311 (present_create_copy): Likewise.
11312 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11313 (acc_copyin): Likewise.
11314 (FLAG_FINALIZE): Define.
11315 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11316 (acc_delete_finalize): New function.
11317 (acc_delete_finalize_async): New function.
11318 (acc_copyout_finalize): New function.
11319 (acc_copyout_finalize_async): New function.
11320 (gomp_acc_insert_pointer): Update refcounts.
11321 (gomp_acc_remove_pointer): Return if data is not present on the
11322 accelerator.
11323 * oacc-parallel.c (find_pset): Rename to find_pointer.
11324 (find_pointer): Add support for GOMP_MAP_POINTER.
11325 (handle_ftn_pointers): New function.
11326 (GOACC_parallel_keyed): Update refcounts of variables.
11327 (GOACC_enter_exit_data): Add support for finalized data mappings.
11328 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11329 of fortran arrays.
11330 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11331 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11332 for GOMP_MAP_FORCE_FROM.
11333 * openacc.f90 (module openacc_internal): Add
11334 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11335 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11336 acc_copyout_finalize and acc_delete_finalize.
11337 (acc_copyout_finalize_32_h): New subroutine.
11338 (acc_copyout_finalize_64_h): New subroutine.
11339 (acc_copyout_finalize_array_h): New subroutine.
11340 (acc_delete_finalize_32_h): New subroutine.
11341 (acc_delete_finalize_64_h): New subroutine.
11342 (acc_delete_finalize_array_h): New subroutine.
11343 * openacc.h (acc_copyout_finalize): Declare.
11344 (acc_copyout_finalize_async): Declare.
11345 (acc_delete_finalize): Declare.
11346 (acc_delete_finalize_async): Declare.
11347 * openacc_lib.h (acc_copyout_finalize): New interface.
11348 (acc_delete_finalize): New interface.
11349 * target.c (gomp_map_vars): Update dynamic_refcount.
11350 (gomp_remove_var): New function.
11351 (gomp_unmap_vars): Use it.
11352 (gomp_unload_image_from_device): Likewise.
11353 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11354 case to utilize OpenACC 2.5 data clause semantics.
11355 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11356 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11357 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11358 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11359 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11360 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11361 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11362 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11363 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11364 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11365 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11366 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11367 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11368 utilize OpenACC 2.5 data clause semantics.
11369 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11370 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11371 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11372 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11373 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11374 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11375 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11376 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11377 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11378
11379 2018-05-21 Janus Weil <janus@gcc.gnu.org>
11380
11381 PR fortran/85841
11382 PR testsuite/85865
11383 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11384 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11385 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11386 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11387 * testsuite/libgomp.fortran/task2.f90: Ditto.
11388 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11389 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11390 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11391 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11392 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11393 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11394 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11395 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11396 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11397
11398 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11399
11400 PR c++/85782
11401 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11402
11403 2018-05-09 Tom de Vries <tom@codesourcery.com>
11404
11405 PR libgomp/82901
11406 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11407 to GOACC_enter_exit_data.
11408
11409 2018-05-09 Tom de Vries <tom@codesourcery.com>
11410
11411 PR libgomp/83792
11412 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11413 (async_synchronous_p): New function.
11414 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11415 async_valid_p.
11416 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11417 async_valid_stream_id_p.
11418 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11419 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11420
11421 2018-05-07 Tom de Vries <tom@codesourcery.com>
11422
11423 PR testsuite/85677
11424 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11425 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11426
11427 2018-05-03 Tom de Vries <tom@codesourcery.com>
11428
11429 PR testsuite/85106
11430 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11431 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11432 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11433 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11434
11435 2018-05-02 Tom de Vries <tom@codesourcery.com>
11436
11437 PR libgomp/85411
11438 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11439 GOMP_OPENACC_DIM ...
11440 * env.c (parse_gomp_openacc_dim): ... here. New function.
11441 (initialize_env): Call parse_gomp_openacc_dim.
11442 (goacc_default_dims): Define.
11443 * libgomp.h (goacc_default_dims): Declare.
11444 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11445 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11446 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11447 GOMP_PLUGIN_acc_default_dim.
11448 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11449 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11450
11451 2018-05-02 Tom de Vries <tom@codesourcery.com>
11452
11453 PR testsuite/83791
11454 * testsuite/libgomp.c++/udr-9.C: Update.
11455 * testsuite/libgomp.c++/atomic-16.C: Remove.
11456 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11457 * testsuite/libgomp.c++/loop-13.C: Remove.
11458 * testsuite/libgomp.c++/loop-14.C: Remove.
11459 * testsuite/libgomp.c++/loop-15.C: Remove.
11460 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11461 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11462 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11463 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11464 * testsuite/libgomp.c++/ordered-1.C: Remove.
11465 * testsuite/libgomp.c++/pr45784.C: Remove.
11466 * testsuite/libgomp.c++/pr64824.C: Remove.
11467 * testsuite/libgomp.c++/pr64868.C: Remove.
11468 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11469 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11470 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11471 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11472 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11473 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11474 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11475 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11476 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11477 * testsuite/libgomp.c++/pr69389.C: Remove.
11478 * testsuite/libgomp.c++/simd10.C: Remove.
11479 * testsuite/libgomp.c++/simd11.C: Remove.
11480 * testsuite/libgomp.c++/simd12.C: Remove.
11481 * testsuite/libgomp.c++/simd13.C: Remove.
11482 * testsuite/libgomp.c++/target-1.C: Remove.
11483 * testsuite/libgomp.c++/target-3.C: Remove.
11484 * testsuite/libgomp.c++/target-4.C: Remove.
11485 * testsuite/libgomp.c++/target-5.C: Remove.
11486 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11487 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11488 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11489 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11490 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11491 * testsuite/libgomp.c++/udr-9.C: Remove.
11492 * testsuite/libgomp.c++/for-10.C: Remove.
11493 * testsuite/libgomp.c++/for-11.C: Remove.
11494 * testsuite/libgomp.c++/for-12.C: Remove.
11495 * testsuite/libgomp.c++/for-13.C: Remove.
11496 * testsuite/libgomp.c++/for-14.C: Remove.
11497 * testsuite/libgomp.c++/for-9.C: Remove.
11498 * testsuite/libgomp.c/atomic-18.c: Move ...
11499 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11500 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11501 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11502 * testsuite/libgomp.c/loop-13.c: Move ...
11503 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11504 * testsuite/libgomp.c/loop-14.c: Move ...
11505 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11506 * testsuite/libgomp.c/loop-15.c: Remove.
11507 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11508 * testsuite/libgomp.c/monotonic-1.c: Move ...
11509 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11510 * testsuite/libgomp.c/monotonic-2.c: Move ...
11511 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11512 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11513 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11514 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11515 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11516 * testsuite/libgomp.c/ordered-4.c: Move ...
11517 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11518 * testsuite/libgomp.c/pr45784.c: Move ...
11519 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11520 * testsuite/libgomp.c/pr64824.c: Move ...
11521 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11522 * testsuite/libgomp.c/pr64868.c: Move ...
11523 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11524 * testsuite/libgomp.c/pr66199-1.c: Move ...
11525 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11526 * testsuite/libgomp.c/pr66199-2.c: Move ...
11527 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11528 * testsuite/libgomp.c/pr66199-3.c: Move ...
11529 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11530 * testsuite/libgomp.c/pr66199-4.c: Move ...
11531 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11532 * testsuite/libgomp.c/pr66199-5.c: Move ...
11533 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11534 * testsuite/libgomp.c/pr66199-6.c: Move ...
11535 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11536 * testsuite/libgomp.c/pr66199-7.c: Move ...
11537 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11538 * testsuite/libgomp.c/pr66199-8.c: Move ...
11539 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11540 * testsuite/libgomp.c/pr66199-9.c: Move ...
11541 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11542 * testsuite/libgomp.c/pr69389.c: Move ...
11543 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11544 * testsuite/libgomp.c/simd-14.c: Move ...
11545 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11546 * testsuite/libgomp.c/simd-15.c: Move ...
11547 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11548 * testsuite/libgomp.c/simd-16.c: Move ...
11549 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11550 * testsuite/libgomp.c/simd-17.c: Move ...
11551 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11552 * testsuite/libgomp.c/target-1.c: Move ...
11553 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11554 * testsuite/libgomp.c/target-10.c: Move ...
11555 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11556 * testsuite/libgomp.c/target-13.c: Move ...
11557 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11558 * testsuite/libgomp.c/target-2.c: Move ...
11559 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11560 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11561 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11562 * testsuite/libgomp.c/taskloop-1.c: Move ...
11563 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11564 * testsuite/libgomp.c/taskloop-2.c: Move ...
11565 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11566 * testsuite/libgomp.c/taskloop-3.c: Move ...
11567 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11568 * testsuite/libgomp.c/taskloop-4.c: Move ...
11569 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11570 * testsuite/libgomp.c/udr-1.c: Move ...
11571 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11572 * testsuite/libgomp.c/for-1.c: Move ...
11573 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11574 * testsuite/libgomp.c/for-1.h: Move ...
11575 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11576 * testsuite/libgomp.c/for-2.c: Move ...
11577 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11578 * testsuite/libgomp.c/for-2.h: Move ...
11579 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11580 * testsuite/libgomp.c/for-3.c: Move ...
11581 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11582 * testsuite/libgomp.c/for-4.c: Move ...
11583 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11584 * testsuite/libgomp.c/for-5.c: Move ...
11585 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11586 * testsuite/libgomp.c/for-6.c: Move ...
11587 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11588
11589 2018-05-02 Tom de Vries <tom@codesourcery.com>
11590
11591 PR libgomp/82428
11592 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11593 __builtin_goacc_parlevel_{id,size}.
11594 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11595 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11596 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11597 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11598 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11599 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11600 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11601 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11602 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11603 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11604 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11605 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11606 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11607 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11608 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11609 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11610 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11611 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11612 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11613 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11614 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11615 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11616 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11617
11618 2018-05-02 Tom de Vries <tom@codesourcery.com>
11619
11620 PR testsuite/85106
11621 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11622
11623 2018-05-02 Tom de Vries <tom@codesourcery.com>
11624
11625 PR testsuite/85106
11626 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11627
11628 2018-04-29 Julian Brown <julian@codesourcery.com>
11629 Tom de Vries <tom@codesourcery.com>
11630
11631 PR testsuite/85527
11632 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11633 arbitrary order for iterations of atomic subtract check.
11634
11635 2018-04-28 Tom de Vries <tom@codesourcery.com>
11636
11637 PR testsuite/85527
11638 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11639 atomic capture results obtained in parallel loop to an array, instead of
11640 to a scalar.
11641
11642 2018-04-26 Tom de Vries <tom@codesourcery.com>
11643
11644 PR libgomp/84020
11645 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11646 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11647 (process_GOMP_NVPTX_JIT): New function.
11648 (link_ptx): Use process_GOMP_NVPTX_JIT.
11649
11650 2018-04-26 Richard Biener <rguenther@suse.de>
11651 Tom de Vries <tom@codesourcery.com>
11652
11653 PR lto/85422
11654 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11655
11656 2018-04-26 Tom de Vries <tom@codesourcery.com>
11657
11658 PR target/85519
11659 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11660 recursion depth from 25 to 23.
11661 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11662
11663 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11664
11665 * configure: Regenerated.
11666
11667 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11668 Tom de Vries <tom@codesourcery.com>
11669
11670 PR target/85445
11671 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11672
11673 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11674
11675 PR libgomp/85463
11676 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11677 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11678 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11679 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11680 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11681 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11682
11683 PR libfortran/85166
11684 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11685 abort".
11686 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11687
11688 2018-04-19 Jakub Jelinek <jakub@redhat.com>
11689
11690 * configure: Regenerated.
11691
11692 2018-04-18 David Malcolm <dmalcolm@redhat.com>
11693
11694 PR jit/85384
11695 * configure: Regenerate.
11696
11697 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11698 Tom de Vries <tom@codesourcery.com>
11699
11700 PR middle-end/84955
11701 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11702 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11703
11704 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11705
11706 PR fortran/83064
11707 PR testsuite/85346
11708 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11709 test from gfortran.dg to here.
11710
11711 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11712
11713 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11714 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11715
11716 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11717
11718 PR middle-end/84955
11719 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11720 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11721
11722 2018-04-05 Tom de Vries <tom@codesourcery.com>
11723
11724 PR target/85204
11725 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11726
11727 2018-03-26 Tom de Vries <tom@codesourcery.com>
11728
11729 PR tree-optimization/85063
11730 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11731 * testsuite/libgomp.c/switch-conversion.c: New test.
11732 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11733 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11734
11735 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11736
11737 PR fortran/84381
11738 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11739 call abort by STOP n.
11740 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11741 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11742 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11743 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11744 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11745 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11746 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11747 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11748 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11749 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11750 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11751 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11752 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11753 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11754 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11755 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11756 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11757 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11758 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11759 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11760 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11761 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11762 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11763 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11764 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11765 * testsuite/libgomp.fortran/character1.f90: Likewise.
11766 * testsuite/libgomp.fortran/character2.f90: Likewise.
11767 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11768 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11769 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11770 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11771 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11772 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11773 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11774 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11775 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11776 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11777 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11778 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11779 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11780 * testsuite/libgomp.fortran/do1.f90: Likewise.
11781 * testsuite/libgomp.fortran/do2.f90: Likewise.
11782 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11783 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11784 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11785 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11786 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11787 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11788 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11789 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11790 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11791 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11792 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11793 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11794 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11795 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11796 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11797 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11798 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11799 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11800 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11801 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11802 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11803 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11804 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11805 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11806 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11807 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11808 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11809 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11810 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11811 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11812 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11813 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11814 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11815 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11816 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11817 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11818 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11819 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11820 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11821 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11822 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11823 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11824 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11825 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11826 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11827 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11828 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11829 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11830 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11831 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11832 * testsuite/libgomp.fortran/lib2.f: Likewise.
11833 * testsuite/libgomp.fortran/lib3.f: Likewise.
11834 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11835 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11836 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11837 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11838 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11839 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11840 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11841 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11842 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11843 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11844 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11845 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11846 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11847 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11848 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11849 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11850 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11851 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11852 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11853 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11854 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11855 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11856 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11857 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11858 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11859 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11860 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11861 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11862 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11863 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11864 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11865 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11866 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11867 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11868 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11869 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11870 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11871 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11872 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11873 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11874 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11875 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11876 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11877 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11878 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11879 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11880 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11881 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11882 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11883 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11884 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11885 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11886 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11887 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11888 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11889 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11890 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11891 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11892 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11893 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11894 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11895 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11896 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11897 * testsuite/libgomp.fortran/reference1.f90: Likewise.
11898 * testsuite/libgomp.fortran/reference2.f90: Likewise.
11899 * testsuite/libgomp.fortran/retval1.f90: Likewise.
11900 * testsuite/libgomp.fortran/retval2.f90: Likewise.
11901 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11902 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11903 * testsuite/libgomp.fortran/simd1.f90: Likewise.
11904 * testsuite/libgomp.fortran/simd2.f90: Likewise.
11905 * testsuite/libgomp.fortran/simd3.f90: Likewise.
11906 * testsuite/libgomp.fortran/simd4.f90: Likewise.
11907 * testsuite/libgomp.fortran/simd5.f90: Likewise.
11908 * testsuite/libgomp.fortran/simd6.f90: Likewise.
11909 * testsuite/libgomp.fortran/simd7.f90: Likewise.
11910 * testsuite/libgomp.fortran/stack.f90: Likewise.
11911 * testsuite/libgomp.fortran/strassen.f90: Likewise.
11912 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11913 * testsuite/libgomp.fortran/tabs2.f: Likewise.
11914 * testsuite/libgomp.fortran/target1.f90: Likewise.
11915 * testsuite/libgomp.fortran/target2.f90: Likewise.
11916 * testsuite/libgomp.fortran/target3.f90: Likewise.
11917 * testsuite/libgomp.fortran/target4.f90: Likewise.
11918 * testsuite/libgomp.fortran/target5.f90: Likewise.
11919 * testsuite/libgomp.fortran/target6.f90: Likewise.
11920 * testsuite/libgomp.fortran/target7.f90: Likewise.
11921 * testsuite/libgomp.fortran/target8.f90: Likewise.
11922 * testsuite/libgomp.fortran/task1.f90: Likewise.
11923 * testsuite/libgomp.fortran/task2.f90: Likewise.
11924 * testsuite/libgomp.fortran/task3.f90: Likewise.
11925 * testsuite/libgomp.fortran/task4.f90: Likewise.
11926 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11927 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11928 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11929 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11930 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11931 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11932 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11933 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11934 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11935 * testsuite/libgomp.fortran/udr1.f90: Likewise.
11936 * testsuite/libgomp.fortran/udr10.f90: Likewise.
11937 * testsuite/libgomp.fortran/udr11.f90: Likewise.
11938 * testsuite/libgomp.fortran/udr12.f90: Likewise.
11939 * testsuite/libgomp.fortran/udr13.f90: Likewise.
11940 * testsuite/libgomp.fortran/udr14.f90: Likewise.
11941 * testsuite/libgomp.fortran/udr15.f90: Likewise.
11942 * testsuite/libgomp.fortran/udr2.f90: Likewise.
11943 * testsuite/libgomp.fortran/udr3.f90: Likewise.
11944 * testsuite/libgomp.fortran/udr4.f90: Likewise.
11945 * testsuite/libgomp.fortran/udr5.f90: Likewise.
11946 * testsuite/libgomp.fortran/udr6.f90: Likewise.
11947 * testsuite/libgomp.fortran/udr7.f90: Likewise.
11948 * testsuite/libgomp.fortran/udr8.f90: Likewise.
11949 * testsuite/libgomp.fortran/udr9.f90: Likewise.
11950 * testsuite/libgomp.fortran/vla1.f90: Likewise.
11951 * testsuite/libgomp.fortran/vla2.f90: Likewise.
11952 * testsuite/libgomp.fortran/vla3.f90: Likewise.
11953 * testsuite/libgomp.fortran/vla4.f90: Likewise.
11954 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11955 * testsuite/libgomp.fortran/vla6.f90: Likewise.
11956 * testsuite/libgomp.fortran/vla7.f90: Likewise.
11957 * testsuite/libgomp.fortran/vla8.f90: Likewise.
11958 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11959 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11960 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11961 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11962 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11963 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11964 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11965 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11966 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11967 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11968 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11969 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11970 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11971 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11972 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11973 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11974 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11975 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11976 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11977 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11978 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11979 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11980 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11981 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11982 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11983 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11984 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11985 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11986 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11987 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11988 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11989 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11990 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11991 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11992 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11993 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11994 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11995 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11996 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11997 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11998 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11999 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12000 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
12001 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
12002 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
12003 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
12004 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
12005 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
12006 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12007 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12008 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12009 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12010 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
12011 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12012 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12013 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12014 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12015 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12016 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12017 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12018 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12019 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12020 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12021 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12022 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12023 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12024 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
12025 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12026 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
12027 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12028 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
12029 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
12030 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
12031 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
12032 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12033 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12034 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12035 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12036 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12037 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12038 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12039 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12040 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
12041 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
12042 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12043 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12044 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12045 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12046 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
12047 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
12048 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
12049 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12050 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12051 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
12052
12053 2018-03-20 Richard Biener <rguenther@suse.de>
12054
12055 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
12056 parallelizable loop.
12057
12058 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12059
12060 PR target/84148
12061 * configure: Regenerate.
12062
12063 2018-02-16 Jakub Jelinek <jakub@redhat.com>
12064
12065 PR fortran/84418
12066 * libgomp.fortran/pr84418-1.f90: New test.
12067 * libgomp.fortran/pr84418-2.f90: New test.
12068
12069 2018-02-14 Jakub Jelinek <jakub@redhat.com>
12070
12071 PR fortran/84313
12072 * testsuite/libgomp.fortran/threadprivate4.f90: Add
12073 -std=f2003 -fall-intrinsics into dg-additional-options.
12074
12075 2018-02-08 Martin Jambor <mjambor@suse.cz>
12076
12077 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
12078 clonable.
12079
12080 2018-02-08 Martin Jambor <mjambor@suse.cz>
12081
12082 * testsuite/libgomp.hsa.c/staticvar.c: New test.
12083
12084 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12085
12086 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
12087 [__cplusplus]: Declare extern "C".
12088
12089 2018-02-07 Tom de Vries <tom@codesourcery.com>
12090
12091 PR libgomp/84217
12092 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
12093
12094 2018-01-29 Christoph Spiel <cspiel@freenet.de>
12095 Jakub Jelinek <jakub@redhat.com>
12096
12097 PR libgomp/84096
12098 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
12099 instead of omp_lock_t.
12100
12101 2018-01-25 Tom de Vries <tom@codesourcery.com>
12102
12103 PR target/84028
12104 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
12105
12106 2018-01-24 Tom de Vries <tom@codesourcery.com>
12107
12108 PR target/83589
12109 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
12110
12111 2018-01-24 Tom de Vries <tom@codesourcery.com>
12112
12113 PR target/81352
12114 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
12115
12116 2018-01-19 Tom de Vries <tom@codesourcery.com>
12117 Cesar Philippidis <cesar@codesourcery.com>
12118
12119 PR target/83920
12120 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
12121 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
12122
12123 2018-01-03 Jakub Jelinek <jakub@redhat.com>
12124
12125 Update copyright years.
12126
12127 * libgomp.texi: Bump @copying's copyright year.
12128
12129 2017-12-30 Tom de Vries <tom@codesourcery.com>
12130
12131 PR libgomp/83046
12132 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12133 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12134
12135 2017-12-27 Tom de Vries <tom@codesourcery.com>
12136
12137 PR c++/83046
12138 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12139 (test_nonstatic): Fix return type to workaround PR83046.
12140
12141 2017-12-05 Jakub Jelinek <jakub@redhat.com>
12142
12143 PR testsuite/83281
12144 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12145 j suffix instead of i.
12146 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12147 Likewise.
12148
12149 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
12150
12151 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12152 call to acc_wait (1).
12153
12154 2017-11-24 Jakub Jelinek <jakub@redhat.com>
12155
12156 PR fortran/81304
12157 * testsuite/libgomp.fortran/pr81304.f90: New test.
12158
12159 2017-11-23 Jakub Jelinek <jakub@redhat.com>
12160
12161 PR fortran/81841
12162 * libgomp.fortran/pr81841.f90: New test.
12163
12164 2017-11-22 Jakub Jelinek <jakub@redhat.com>
12165
12166 PR libgomp/83106
12167 * target.c (gomp_target_init): Compute lengths just once and
12168 use them in both malloc size and subsequent copying.
12169
12170 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12171
12172 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12173 * acinclude.m4: Add cet.m4.
12174 * configure: Regenerate.
12175 * Makefile.in: Likewise.
12176 * testsuite/Makefile.in: Likewise.
12177
12178 2017-11-15 Tom de Vries <tom@codesourcery.com>
12179
12180 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12181 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
12182 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12183 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
12184 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12185 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
12186
12187 2017-11-14 Tom de Vries <tom@codesourcery.com>
12188
12189 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12190 non-nvidia devices.
12191
12192 2017-11-07 Jakub Jelinek <jakub@redhat.com>
12193
12194 PR c++/82835
12195 * testsuite/libgomp.c++/pr82835.C: New test.
12196
12197 2017-11-06 Martin Liska <mliska@suse.cz>
12198
12199 * testsuite/libgomp.c++/loop-2.C: Return a value
12200 for functions with non-void return type, or change type to void,
12201 or add -Wno-return-type for test.
12202 * testsuite/libgomp.c++/loop-4.C: Likewise.
12203 * testsuite/libgomp.c++/parallel-1.C: Likewise.
12204 * testsuite/libgomp.c++/shared-1.C: Likewise.
12205 * testsuite/libgomp.c++/single-1.C: Likewise.
12206 * testsuite/libgomp.c++/single-2.C: Likewise.
12207
12208 2017-10-31 Tom de Vries <tom@codesourcery.com>
12209
12210 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12211 "do {} while (false)".
12212 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12213 after HSA_DEBUG call.
12214
12215 2017-10-28 Jakub Jelinek <jakub@redhat.com>
12216
12217 * target.c (struct gomp_coalesce_buf): New type.
12218 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12219 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12220 (gomp_copy_host2dev): Add CBUF argument, if copying into
12221 the cached ranges, memcpy into buffer instead of copying
12222 into device.
12223 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12224 Add CBUF argument, pass it through to other calls.
12225 (gomp_map_vars): Aggregate copies from host to device if small enough
12226 and with small enough gaps in between into memcpy into a buffer and
12227 fewer host to device copies from the buffer.
12228 (gomp_update): Adjust gomp_copy_host2dev caller.
12229
12230 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
12231
12232 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12233 run" directive.
12234 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12235 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12236 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12237 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12238
12239 2017-10-16 Tom de Vries <tom@codesourcery.com>
12240
12241 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12242 openacc_nvidia_accel_selected.
12243 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12244 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12245 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12246 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12247 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12248 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12249 openacc_nvidia_accel_selected. Skip for shared memory device.
12250 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12251 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12252
12253 2017-10-09 Martin Jambor <mjambor@suse.cz>
12254
12255 PR hsa/82416
12256 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12257
12258 2017-10-07 Tom de Vries <tom@codesourcery.com>
12259
12260 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12261 Remove acc_device_nvidia references.
12262 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12263 Same.
12264
12265 2017-10-05 Tom de Vries <tom@codesourcery.com>
12266
12267 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12268 vector_length(32) clause from acc parallel directive.
12269 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12270
12271 2017-10-04 Tom de Vries <tom@codesourcery.com>
12272
12273 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12274 (main): Reduce sum of arr elements. Assert that hres is exactly
12275 representable in 32-bit floating point.
12276 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12277 (main): Reduce sum of arr elements. Assert that hres and hmres are
12278 exactly representable in 32-bit floating point.
12279 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12280
12281 2017-09-28 Tom de Vries <tom@codesourcery.com>
12282
12283 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12284 setting.
12285 * testsuite/libgomp.c++/pr69393.C: Same.
12286 * testsuite/libgomp.c++/taskloop-1.C: Same.
12287 * testsuite/libgomp.c++/taskloop-3.C: Same.
12288 * testsuite/libgomp.c++/taskloop-4.C: Same.
12289 * testsuite/libgomp.c/for-4.c: Same.
12290 * testsuite/libgomp.c/pr66199-3.c: Same.
12291 * testsuite/libgomp.c/pr66199-4.c: Same.
12292 * testsuite/libgomp.c/pr66199-6.c: Same.
12293 * testsuite/libgomp.c/taskloop-1.c: Same.
12294 * testsuite/libgomp.c/taskloop-3.c: Same.
12295 * testsuite/libgomp.c/taskloop-4.c: Same.
12296 * testsuite/libgomp.fortran/aligned1.f03: Same.
12297 * testsuite/libgomp.fortran/condinc1.f: Same.
12298 * testsuite/libgomp.fortran/condinc3.f90: Same.
12299 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12300 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12301 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12302 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12303 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12304 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12305 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12306 * testsuite/libgomp.fortran/recursion1.f90: Same.
12307 * testsuite/libgomp.fortran/target2.f90: Same.
12308 * testsuite/libgomp.fortran/target5.f90: Same.
12309 * testsuite/libgomp.fortran/task3.f90: Same.
12310
12311 2017-09-28 Tom de Vries <tom@codesourcery.com>
12312
12313 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12314 vector_length(32) clause from acc parallel directive.
12315 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12316
12317 2017-09-27 Tom de Vries <tom@codesourcery.com>
12318
12319 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12320 Remove acc_device_nvidia references.
12321
12322 2017-09-16 Tom de Vries <tom@codesourcery.com>
12323
12324 PR c/81875
12325 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12326
12327 2017-09-14 Tom de Vries <tom@codesourcery.com>
12328
12329 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12330 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12331 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12332 * testsuite/libgomp.c/c.exp: Include test-cases from
12333 libgomp.c-c++-common.
12334 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12335 files.
12336
12337 2017-09-14 Jakub Jelinek <jakub@redhat.com>
12338
12339 PR c++/81314
12340 * testsuite/libgomp.c++/pr81314.C: New test.
12341
12342 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12343
12344 * libgomp.texi (Top): www.openacc.org now uses https.
12345 (Enabling OpenACC): Ditto.
12346 (acc_get_num_devices): Ditto.
12347 (acc_set_device_type): Ditto.
12348 (acc_get_device_type): Ditto.
12349 (acc_set_device_num): Ditto.
12350 (acc_get_device_num): Ditto.
12351 (acc_async_test): Ditto.
12352 (acc_async_test_all): Ditto.
12353 (acc_wait): Ditto.
12354 (acc_wait_all): Ditto.
12355 (acc_wait_all_async): Ditto.
12356 (acc_wait_async): Ditto.
12357 (acc_init): Ditto.
12358 (acc_shutdown): Ditto.
12359 (acc_on_device): Ditto.
12360 (acc_malloc): Ditto.
12361 (acc_free): Ditto.
12362 (acc_copyin): Ditto.
12363 (acc_present_or_copyin): Ditto.
12364 (acc_create): Ditto.
12365 (acc_present_or_create): Ditto.
12366 (acc_copyout): Ditto.
12367 (acc_delete): Ditto.
12368 (acc_update_device): Ditto.
12369 (acc_update_self): Ditto.
12370 (acc_map_data): Ditto.
12371 (acc_unmap_data): Ditto.
12372 (acc_deviceptr): Ditto.
12373 (acc_hostptr): Ditto.
12374 (acc_is_present): Ditto.
12375 (acc_memcpy_to_device): Ditto.
12376 (acc_memcpy_from_device): Ditto.
12377 (acc_get_current_cuda_device): Ditto.
12378 (acc_get_current_cuda_context): Ditto.
12379 (acc_get_cuda_stream): Ditto.
12380 (acc_set_cuda_stream): Ditto.
12381 (ACC_DEVICE_TYPE): Ditto.
12382 (ACC_DEVICE_NUM): Ditto.
12383 (OpenACC Library Interoperability): Ditto.
12384
12385 2017-08-09 Jakub Jelinek <jakub@redhat.com>
12386
12387 PR c/81687
12388 * testsuite/libgomp.c/pr81687-1.c: New test.
12389 * testsuite/libgomp.c/pr81687-2.c: New test.
12390
12391 2017-08-07 Jakub Jelinek <jakub@redhat.com>
12392
12393 PR c/69389
12394 * testsuite/libgomp.c/pr69389.c: New test.
12395 * testsuite/libgomp.c++/pr69389.C: New test.
12396
12397 2017-08-07 Tom de Vries <tom@codesourcery.com>
12398
12399 PR middle-end/78266
12400 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12401 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12402
12403 2017-07-27 Jakub Jelinek <jakub@redhat.com>
12404
12405 PR c/45784
12406 * testsuite/libgomp.c/pr45784.c: New test.
12407 * testsuite/libgomp.c++/pr45784.C: New test.
12408
12409 2017-07-19 Tom de Vries <tom@codesourcery.com>
12410
12411 * testsuite/libgomp.oacc-c/vec.c: New test.
12412
12413 2017-07-03 Tom de Vries <tom@codesourcery.com>
12414
12415 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12416
12417 2017-06-27 Tom de Vries <tom@codesourcery.com>
12418
12419 * plugin/plugin-nvptx.c (notify_var): New function.
12420 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12421
12422 2017-06-27 Tom de Vries <tom@codesourcery.com>
12423
12424 * env.c (parse_unsigned_long_1): Factor out of ...
12425 (parse_unsigned_long): ... here.
12426 (parse_int_1): Factor out of ...
12427 (parse_int): ... here.
12428 (parse_int_secure): New function.
12429 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12430 * secure_getenv.h: Factor out of ...
12431 * plugin/plugin-hsa.c: ... here.
12432 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12433
12434 2017-06-21 Jakub Jelinek <jakub@redhat.com>
12435
12436 PR c++/81130
12437 * testsuite/libgomp.c++/pr81130.C: New test.
12438
12439 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12440
12441 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12442 default args.
12443 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12444 dg-xfail-run-if default args.
12445
12446 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12447
12448 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12449 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12450
12451 2017-05-30 Jakub Jelinek <jakub@redhat.com>
12452
12453 PR libgomp/80822
12454 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12455 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12456 sibling lists, depending on level just pick up what CPUs to put
12457 together into a place vs. whether add multiple ordered places.
12458
12459 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12460
12461 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12462 * libgomp.map (OACC_2.0.1): Add these.
12463 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12464 for "acc_wait", and "acc_wait_all", respectively.
12465 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12466 for "acc_wait", and "acc_wait_all", respectively.
12467 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12468 * libgomp.texi (acc_wait, acc_wait_all): Update.
12469 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12470 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12471 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12472
12473 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12474 acc_present_or_copyin and acc_present_or_create procedures,
12475 respectively.
12476 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12477 generally different variants of OpenACC Runtime Library functions.
12478 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12479
12480 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12481 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12482
12483 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12484 of preprocessor definitions.
12485 * libgomp.h (strong_alias): Guard by "#ifdef
12486 HAVE_ATTRIBUTE_ALIAS".
12487 * oacc-mem.c: Provide "acc_pcreate" as alias for
12488 "acc_present_or_create", and "acc_pcopyin" as alias for
12489 "acc_present_or_copyin".
12490 * libgomp.map: New version "OACC_2.0.1".
12491 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12492 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12493 its content into...
12494 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12495 Extend testing.
12496
12497 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12498 when disabling nvptx offloading.
12499
12500 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12501
12502 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12503 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12504 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12505
12506 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12507 * testsuite/lib/libgomp.exp
12508 (check_effective_target_openacc_nvidia_accel_configured): New
12509 proc.
12510 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12511 (check_effective_target_c++): New procs.
12512 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12513 (check_effective_target_c++): Likewise.
12514
12515 2017-05-22 Jakub Jelinek <jakub@redhat.com>
12516
12517 PR middle-end/80809
12518 * testsuite/libgomp.c/pr80809-2.c: New test.
12519 * testsuite/libgomp.c/pr80809-3.c: New test.
12520
12521 PR middle-end/80809
12522 * testsuite/libgomp.c/pr80809-1.c: New test.
12523
12524 PR middle-end/80853
12525 * testsuite/libgomp.c/pr80853.c: New test.
12526
12527 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12528
12529 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12530 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12531 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12532 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12533 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12534
12535 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12536 Debug output for failure.
12537
12538 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12539
12540 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12541
12542 2017-04-27 Jakub Jelinek <jakub@redhat.com>
12543
12544 PR bootstrap/80531
12545 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12546 bootstrap compare failures.
12547
12548 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
12549
12550 * testsuite/libgomp.c/target-36.c: New testcase.
12551
12552 2017-04-13 Jakub Jelinek <jakub@redhat.com>
12553
12554 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12555 instead of char.
12556
12557 2017-04-11 Jakub Jelinek <jakub@redhat.com>
12558
12559 PR libgomp/80394
12560 * testsuite/libgomp.c/pr80394.c: New test.
12561
12562 2017-04-04 Jakub Jelinek <jakub@redhat.com>
12563
12564 PR libgomp/79876
12565 * config/posix/thread-stacksize.h: New file.
12566 * config/darwin/thread-stacksize.h: New file.
12567 * config/nvptx/thread-stacksize.h: New file.
12568 * env.c: Include thread-stacksize.h.
12569 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12570 instead of 0. Call pthread_attr_setstacksize even if
12571 GOMP_DEFAULT_STACKSIZE is non-zero.
12572
12573 2017-03-30 Jakub Jelinek <jakub@redhat.com>
12574
12575 * env.c (initialize_env): Initialize stacksize to 0.
12576
12577 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
12578
12579 PR c++/80029
12580 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12581
12582 2017-03-08 Jakub Jelinek <jakub@redhat.com>
12583
12584 PR c/79940
12585 * testsuite/libgomp.c/pr79940.c: New test.
12586
12587 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12588
12589 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12590 targets.
12591 Add __float128 options.
12592
12593 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
12594
12595 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12596 hppa*-*-* dg-skip-if directive.
12597
12598 2017-02-09 Jakub Jelinek <jakub@redhat.com>
12599
12600 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12601 dg-skip-if directive into a comment.
12602
12603 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12604 Chung-Lin Tang <cltang@codesourcery.com>
12605
12606 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12607 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12608 add additional case.
12609 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12610 "openacc_nvidia_accel_selected".
12611 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12612 Add num_workers(8) clause.
12613
12614 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
12615
12616 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12617 hppa*-*-*.
12618 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12619 include complex.h on hppa*-*-hpux*.
12620 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12621
12622 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12623
12624 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12625
12626 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12627 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12628 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12629 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12630 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12631 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12632 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12633 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12634 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12635 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12636
12637 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12638
12639 * libgomp-plugin.h: #include <stdbool.h>.
12640 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12641 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12642 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12643 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12644 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12645 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12646 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12647 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12648 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12649 (GOMP_OFFLOAD_openacc_async_test)
12650 (GOMP_OFFLOAD_openacc_async_test_all)
12651 (GOMP_OFFLOAD_openacc_async_wait)
12652 (GOMP_OFFLOAD_openacc_async_wait_async)
12653 (GOMP_OFFLOAD_openacc_async_wait_all)
12654 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12655 (GOMP_OFFLOAD_openacc_async_set_async)
12656 (GOMP_OFFLOAD_openacc_create_thread_data)
12657 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12658 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12659 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12660 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12661 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12662 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12663 these.
12664 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12665 (GOMP_OFFLOAD_unload_image): Fix argument types.
12666
12667 2017-01-26 Jakub Jelinek <jakub@redhat.com>
12668
12669 * testsuite/lib/libgomp.exp
12670 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12671 check_compile invocation. Fix up removal of executable. Drop
12672 bogus "2>&1" argument.
12673
12674 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12675 directive.
12676
12677 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
12678 Martin Jambor <mjambor@suse.cz>
12679
12680 * plugin/hsa.h: Moved to top level include.
12681 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12682
12683 2017-01-21 Jakub Jelinek <jakub@redhat.com>
12684
12685 PR other/79046
12686 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12687 of cat to get version from BASE-VER file.
12688 * testsuite/Makefile.in: Regenerated.
12689
12690 2017-01-19 Jakub Jelinek <jakub@redhat.com>
12691
12692 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12693 for _WIN64.
12694
12695 2017-01-17 Jakub Jelinek <jakub@redhat.com>
12696
12697 * plugin/hsa.h: Add GCC runtime library exception.
12698 * plugin/hsa_ext_finalize.h: Likewise.
12699
12700 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12701 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12702 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12703 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12704 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12705 library to link ptx plugin against.
12706 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12707 (CUDA_CALLS): Define.
12708 (cuda_lib, cuda_lib_inited): New variables.
12709 (init_cuda_lib): New function.
12710 (CUDA_CALL_PREFIX): Define.
12711 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12712 (CUDA_CALL): Use FN instead of (FN).
12713 (CUDA_CALL_NOCHECK): Define.
12714 (cuda_error, fini_streams_for_device, select_stream_for_async,
12715 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12716 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12717 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12718 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12719 CUDA_CALL_NOCHECK.
12720 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12721 CUDA_CALL_NOCHECK.
12722 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12723 Use CUDA_CALL_NOCHECK.
12724 * plugin/cuda/cuda.h: New file.
12725 * config.h.in: Regenerated.
12726 * configure: Regenerated.
12727
12728 PR other/79046
12729 * configure.ac: Add GCC_BASE_VER.
12730 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12731 get version from BASE-VER file.
12732 * testsuite/Makefile.in: Regenerated.
12733 * configure: Regenerated.
12734 * Makefile.in: Regenerated.
12735
12736 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12737
12738 PR libgomp/60670
12739 * Makefile.am: Make fincludedir multilib-aware.
12740 * Makefile.in: Regenerate.
12741
12742 2017-01-01 Jakub Jelinek <jakub@redhat.com>
12743
12744 Update copyright years.
12745
12746 * libgomp.texi: Bump @copying's copyright year.
12747
12748 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12749
12750 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12751 pthread_spinlock_t instead of gomp_mutex_t lock.
12752 (gomp_get_thread_pool): Likewise.
12753 (gomp_release_thread_pool): Likewise.
12754 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12755 Likewise.
12756
12757 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12758
12759 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12760 thread pool in case nthreads == 1.
12761
12762 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12763
12764 * config/nvptx/env.c: Delete.
12765 * icv.c: Move definitions of ICV variables back ...
12766 * env.c: ...here. Do not compile environment-related functionality if
12767 LIBGOMP_OFFLOADED_ONLY is set.
12768
12769 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12770
12771 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12772 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12773 * configure: Regenerate.
12774 * config.h.in: Likewise.
12775
12776 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12777
12778 * Makefile.in: Regenerate with automake-1.11.6.
12779 * aclocal.m4: Likewise.
12780 * configure: Likewise.
12781 * testsuite/Makefile.in: Likewise.
12782
12783 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
12784
12785 * config/nvptx/critical.c: Delete to use generic implementation.
12786
12787 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12788
12789 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12790 ../../affinity.c as fallback.
12791 * config/nvptx/affinity.c: Delete to use fallback implementation.
12792
12793 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
12794 Jakub Jelinek <jakub@redhat.com>
12795 Dmitry Melnik <dm@ispras.ru>
12796
12797 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12798 * Makefile.in. Regenerate.
12799 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12800 (LIBGOMP_USE_PTHREADS): ...here; new define.
12801 * configure: Regenerate.
12802 * config.h.in: Likewise.
12803 * config/posix/affinity.c: Move to...
12804 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12805 interface by LIBGOMP_USE_PTHREADS.
12806 * critical.c: Split out GOMP_atomic_{start,end} into...
12807 * atomic.c: ...here (new file).
12808 * env.c: Split out ICV definitions into...
12809 * icv.c: ...here (new file) and...
12810 * icv-device.c: ...here. New file.
12811 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12812 (gomp_destroy_lock_30): Ditto.
12813 (gomp_set_lock_30): Ditto.
12814 (gomp_unset_lock_30): Ditto.
12815 (gomp_test_lock_30): Ditto.
12816 (gomp_init_nest_lock_30): Ditto.
12817 (gomp_destroy_nest_lock_30): Ditto.
12818 (gomp_set_nest_lock_30): Ditto.
12819 (gomp_unset_nest_lock_30): Ditto.
12820 (gomp_test_nest_lock_30): Ditto.
12821 * lock.c: New.
12822 * config/nvptx/lock.c: New.
12823 * config/nvptx/bar.c: New.
12824 * config/nvptx/bar.h: New.
12825 * config/nvptx/doacross.h: New.
12826 * config/nvptx/error.c: New.
12827 * config/nvptx/icv-device.c: New.
12828 * config/nvptx/mutex.h: New.
12829 * config/nvptx/pool.h: New.
12830 * config/nvptx/proc.c: New.
12831 * config/nvptx/ptrlock.h: New.
12832 * config/nvptx/sem.h: New.
12833 * config/nvptx/simple-bar.h: New.
12834 * config/nvptx/target.c: New.
12835 * config/nvptx/task.c: New.
12836 * config/nvptx/team.c: New.
12837 * config/nvptx/time.c: New.
12838 * config/posix/simple-bar.h: New.
12839 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12840 (gomp_num_teams_var): Declare.
12841 (struct gomp_thread_pool): Change threads_dock member to
12842 gomp_simple_barrier_t.
12843 [__nvptx__] (gomp_thread): New implementation.
12844 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12845 (gomp_thread_destructor): Ditto.
12846 (gomp_init_thread_affinity): Ditto.
12847 * team.c: Guard uses of Pthreads-specific interfaces by
12848 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12849 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12850 * config/nvptx/alloc.c: Delete.
12851 * config/nvptx/barrier.c: Ditto.
12852 * config/nvptx/fortran.c: Ditto.
12853 * config/nvptx/iter.c: Ditto.
12854 * config/nvptx/iter_ull.c: Ditto.
12855 * config/nvptx/loop.c: Ditto.
12856 * config/nvptx/loop_ull.c: Ditto.
12857 * config/nvptx/ordered.c: Ditto.
12858 * config/nvptx/parallel.c: Ditto.
12859 * config/nvptx/priority_queue.c: Ditto.
12860 * config/nvptx/sections.c: Ditto.
12861 * config/nvptx/single.c: Ditto.
12862 * config/nvptx/splay-tree.c: Ditto.
12863 * config/nvptx/work.c: Ditto.
12864 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12865 -foffload=-lgfortran in addition to -lgfortran.
12866 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12867 * plugin/plugin-nvptx.c: Include <limits.h>.
12868 (struct targ_fn_descriptor): Add new fields.
12869 (struct ptx_device): Ditto. Set them...
12870 (nvptx_open_device): ...here.
12871 (nvptx_adjust_launch_bounds): New.
12872 (nvptx_host2dev): Allow NULL 'nvthd'.
12873 (nvptx_dev2host): Ditto.
12874 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12875 (link_ptx): Adjust log sizes.
12876 (nvptx_host2dev): Allow NULL 'nvthd'.
12877 (nvptx_dev2host): Ditto.
12878 (nvptx_set_clocktick): New. Use it...
12879 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
12880 fields.
12881 (GOMP_OFFLOAD_dev2dev): New.
12882 (nvptx_adjust_launch_bounds): New.
12883 (nvptx_stacks_size): New.
12884 (nvptx_stacks_alloc): New.
12885 (nvptx_stacks_free): New.
12886 (GOMP_OFFLOAD_run): New.
12887 (GOMP_OFFLOAD_async_run): New (stub).
12888
12889 2016-11-23 Martin Jambor <mjambor@suse.cz>
12890
12891 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12892 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12893 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12894
12895 2016-11-23 Martin Liska <mliska@suse.cz>
12896 Martin Jambor <mjambor@suse.cz>
12897
12898 * plugin/hsa.h: New file.
12899 * plugin/hsa_ext_finalize.h: New file.
12900 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
12901 header file unistd.h, and functions secure_getenv, __secure_getenv,
12902 getuid, geteuid, getgid and getegid.
12903 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12904 -D_GNU_SOURCE.
12905 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12906 Handle various cases of secure_getenv presence, add an implementation
12907 when we can test effective UID and GID.
12908 (struct hsa_runtime_fn_info): New structure.
12909 (hsa_runtime_fn_info hsa_fns): New variable.
12910 (hsa_runtime_lib): Likewise.
12911 (support_cpu_devices): Likewise.
12912 (init_enviroment_variables): Load newly introduced ENV
12913 variables.
12914 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12915 (hsa_fatal): Likewise.
12916 (DLSYM_FN): New macro.
12917 (init_hsa_runtime_functions): New function.
12918 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12919 structure. Depending on environment, also allow CPU devices.
12920 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12921 (get_kernarg_memory_region): Likewise.
12922 (GOMP_OFFLOAD_init_device): Likewise.
12923 (destroy_hsa_program): Likewise.
12924 (init_basic_kernel_info): New function.
12925 (GOMP_OFFLOAD_load_image): Use it.
12926 (create_and_finalize_hsa_program): Call hsa run-time functions via
12927 hsa_fns structure.
12928 (create_single_kernel_dispatch): Likewise.
12929 (release_kernel_dispatch): Likewise.
12930 (init_single_kernel): Likewise.
12931 (parse_target_attributes): Allow up multiple HSA grid dimensions.
12932 (get_group_size): New function.
12933 (run_kernel): Likewise.
12934 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12935 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12936 structure.
12937 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12938 * testsuite/libgomp-test-support.exp.in: Likewise.
12939 * Makefile.in: Regenerated.
12940 * aclocal.m4: Likewise.
12941 * config.h.in: Likewise.
12942 * configure: Likewise.
12943 * testsuite/Makefile.in: Likewise.
12944
12945 2016-11-15 Martin Jambor <mjambor@suse.cz>
12946 Alexander Monakov <amonakov@ispras.ru>
12947
12948 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12949 mapping clauses to target constructs.
12950 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12951
12952 2016-11-15 Matthias Klose <doko@ubuntu.com>
12953
12954 * configure: Regenerate.
12955
12956 2016-11-10 Jakub Jelinek <jakub@redhat.com>
12957
12958 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12959 * omp_lib.h.in (openmp_version): Likewise.
12960 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12961 of 201307.
12962 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12963
12964 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12965 (fib_wrapper): Add map(from: x) clause.
12966 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12967 (e_53_2): Likewise.
12968 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12969 (accum): Add map(tmp) clause.
12970 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12971 (accum): Add map(tofrom: tmp) clause.
12972 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12973 (gramSchmidt): Likewise.
12974 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12975 map(tofrom: sum) clause.
12976 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12977 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
12978 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12979 only allowed on the loop iterator.
12980 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12981 * testsuite/libgomp.fortran/taskloop2.f90: New test.
12982 * testsuite/libgomp.fortran/taskloop4.f90: New test.
12983 * testsuite/libgomp.fortran/doacross1.f90: New test.
12984 * testsuite/libgomp.fortran/doacross3.f90: New test.
12985 * testsuite/libgomp.fortran/taskloop1.f90: New test.
12986 * testsuite/libgomp.fortran/taskloop3.f90: New test.
12987 * testsuite/libgomp.fortran/doacross2.f90: New test.
12988 * testsuite/libgomp.c/doacross-1.c (main): Add missing
12989 #pragma omp atomic read.
12990 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12991 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12992
12993 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
12994 Nathan Sidwell <nathan@acm.org>
12995
12996 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12997 to determine default geometry.
12998 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12999 dimension.
13000
13001 2016-11-01 Jakub Jelinek <jakub@redhat.com>
13002
13003 * hashtab.h: Use standard GPLv3 with runtime exception
13004 boilerplate.
13005
13006 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
13007
13008 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
13009 size when allocating new thread.
13010
13011 2016-09-14 Marek Polacek <polacek@redhat.com>
13012
13013 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
13014
13015 2016-08-19 Jakub Jelinek <jakub@redhat.com>
13016
13017 PR fortran/71014
13018 * testsuite/libgomp.fortran/pr71014.f90: New test.
13019
13020 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
13021
13022 PR middle-end/70895
13023 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
13024 firstprivate clauses.
13025 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
13026 copy clauses.
13027 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13028 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
13029 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
13030 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13031 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13032 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13033 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13034 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13035 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13036 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13037 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13038 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
13039
13040 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
13041
13042 PR fortran/70598
13043 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
13044
13045 2016-08-08 Jakub Jelinek <jakub@redhat.com>
13046
13047 PR c++/58706
13048 * testsuite/libgomp.c++/pr58706.C: New test.
13049
13050 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
13051
13052 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
13053 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
13054 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
13055 Likewise.
13056 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
13057 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
13058 Likewise.
13059 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
13060
13061 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
13062 test, and don't hardcode -O0.
13063
13064 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
13065
13066 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
13067
13068 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
13069
13070 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
13071 test.
13072
13073 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
13074
13075 PR middle-end/71734
13076 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
13077 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
13078
13079 2016-07-01 Jakub Jelinek <jakub@redhat.com>
13080
13081 PR fortran/71717
13082 * testsuite/libgomp.fortran/associate3.f90: New test.
13083
13084 2016-06-17 Jakub Jelinek <jakub@redhat.com>
13085
13086 * testsuite/libgomp.c++/target-21.C: New test.
13087
13088 2016-06-16 Jakub Jelinek <jakub@redhat.com>
13089
13090 * testsuite/libgomp.c++/target-20.C: New test.
13091
13092 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
13093 Cesar Philippidis <cesar@codesourcery.com>
13094
13095 PR middle-end/71373
13096 * libgomp.oacc-c/nested-function-1.c: New file.
13097 * libgomp.oacc-c/nested-function-2.c: Likewise.
13098 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
13099 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
13100 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
13101
13102 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
13103
13104 PR c/71381
13105 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
13106 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
13107 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
13108
13109 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
13110
13111 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
13112 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
13113
13114 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
13115
13116 PR c/70688
13117 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
13118
13119 2016-05-26 Jakub Jelinek <jakub@redhat.com>
13120
13121 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
13122 instead of invalid schedule(static, 0).
13123 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13124
13125 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13126
13127 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
13128 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
13129 parameter, use to set async stream around call to gomp_unmap_vars,
13130 call gomp_unmap_vars() with 'do_copyfrom' set to true.
13131 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
13132 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13133 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13134 (event_add): Add int parameter, initialize 'val' field when
13135 adding new ptx_event struct.
13136 (nvptx_evec): Adjust event_add() call arguments.
13137 (nvptx_host2dev): Likewise.
13138 (nvptx_dev2host): Likewise.
13139 (nvptx_wait_async): Likewise.
13140 (nvptx_wait_all_async): Likewise.
13141 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13142 pass to event_add() call.
13143 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13144 parameter.
13145 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13146 call openacc.register_async_cleanup_func() hook.
13147 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13148 * target.c (gomp_copy_from_async): Delete function.
13149 (gomp_map_vars): Remove async_refcount.
13150 (gomp_unmap_vars): Likewise.
13151 (gomp_load_image_to_device): Likewise.
13152 (omp_target_associate_ptr): Likewise.
13153 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13154 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13155 (gomp_copy_from_async): Remove.
13156
13157 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13158
13159 * target.c (gomp_device_copy): New function.
13160 (gomp_copy_host2dev): Likewise.
13161 (gomp_copy_dev2host): Likewise.
13162 (gomp_free_device_memory): Likewise.
13163 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13164 (gomp_map_pointer): Likewise.
13165 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13166 NULL value from alloc_func plugin hook.
13167 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13168 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13169 (gomp_unmap_vars): Likewise.
13170 (gomp_update): Adjust to call gomp_copy_dev2host and
13171 gomp_copy_host2dev functions.
13172 (gomp_unload_image_from_device): Handle false value from
13173 unload_image_func plugin hook.
13174 (gomp_init_device): Handle false value from init_device_func
13175 plugin hook.
13176 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13177 (omp_target_free): Adjust to call gomp_free_device_memory.
13178 (omp_target_memcpy): Handle return values from host2dev_func,
13179 dev2host_func, and dev2dev_func plugin hooks.
13180 (omp_target_memcpy_rect_worker): Likewise.
13181 (gomp_target_fini): Handle false value from fini_device_func
13182 plugin hook.
13183 * libgomp.h (struct gomp_device_descr): Adjust return type of
13184 init_device_func, fini_device_func, unload_image_func, free_func,
13185 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13186 * oacc-init.c (acc_shutdown_1): Handle false value from
13187 fini_device_func plugin hook.
13188 * oacc-host.c (host_init_device): Change return type to bool.
13189 (host_fini_device): Likewise.
13190 (host_unload_image): Likewise.
13191 (host_free): Likewise.
13192 (host_dev2host): Likewise.
13193 (host_host2dev): Likewise.
13194 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13195 (acc_memcpy_to_device): Likewise.
13196 (acc_memcpy_from_device): Likewise.
13197 (delete_copyout): Add libfnname parameter, handle free_func
13198 hook fatal error case.
13199 (acc_delete): Adjust delete_copyout call.
13200 (acc_copyout): Likewise.
13201 (update_dev_host): Move gomp_mutex_unlock to after
13202 host2dev/dev2host hook calls.
13203
13204 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13205 to 'hsa_error_msg', for clarity.
13206 (hsa_fatal): Likewise.
13207 (hsa_error): New function.
13208 (init_hsa_context): Change return type to bool, adjust to return
13209 false on error.
13210 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13211 return value.
13212 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13213 return false on error.
13214 (get_agent_info): Adjust to return NULL on error.
13215 (destroy_hsa_program): Change return type to bool, adjust to
13216 return false on error.
13217 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13218 (destroy_module): Change return type to bool, adjust to
13219 return false on error.
13220 (GOMP_OFFLOAD_unload_image): Likewise.
13221 (GOMP_OFFLOAD_fini_device): Likewise.
13222 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13223 (GOMP_OFFLOAD_free): Change to return false when called.
13224 (GOMP_OFFLOAD_dev2host): Likewise.
13225 (GOMP_OFFLOAD_host2dev): Likewise.
13226 (GOMP_OFFLOAD_dev2dev): Likewise.
13227
13228 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13229 (CUDA_CALL): Likewise.
13230 (CUDA_CALL_ASSERT): Likewise.
13231 (map_init): Change return type to bool, use CUDA_CALL* macros.
13232 (map_fini): Likewise.
13233 (init_streams_for_device): Change return type to bool, adjust
13234 call to map_init.
13235 (fini_streams_for_device): Change return type to bool, adjust
13236 call to map_fini.
13237 (select_stream_for_async): Release stream_lock before calls to
13238 GOMP_PLUGIN_fatal, adjust call to map_init.
13239 (nvptx_init): Use CUDA_CALL* macros.
13240 (nvptx_attach_host_thread_to_device): Change return type to bool,
13241 use CUDA_CALL* macros.
13242 (nvptx_open_device): Use CUDA_CALL* macros.
13243 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13244 macros.
13245 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13246 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13247 (nvptx_exec): Use CUDA_CALL* macros.
13248 (nvptx_alloc): Use CUDA_CALL* macros.
13249 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13250 (nvptx_host2dev): Likewise.
13251 (nvptx_dev2host): Likewise.
13252 (nvptx_wait): Use CUDA_CALL* macros.
13253 (nvptx_wait_async): Likewise.
13254 (nvptx_wait_all): Likewise.
13255 (nvptx_wait_all_async): Likewise.
13256 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13257 use CUDA_CALL* macros, adjust call to map_fini.
13258 (GOMP_OFFLOAD_init_device): Change return type to bool,
13259 adjust code accordingly.
13260 (GOMP_OFFLOAD_fini_device): Likewise.
13261 (GOMP_OFFLOAD_load_image): Adjust calls to
13262 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13263 use CUDA_CALL* macros.
13264 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13265 return code.
13266 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13267 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13268 handle error return.
13269 (GOMP_OFFLOAD_dev2host): Likewise.
13270 (GOMP_OFFLOAD_host2dev): Likewise.
13271 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13272 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13273
13274 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13275
13276 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13277 (acc_free): Likewise.
13278 (acc_memcpy_to_device): Likewise.
13279 (acc_memcpy_from_device): Likewise.
13280 (acc_deviceptr): Likewise.
13281 (acc_hostptr): Likewise.
13282 (acc_is_present): Likewise.
13283 (acc_map_data): Likewise.
13284 (acc_unmap_data): Likewise.
13285 (present_create_copy): Likewise.
13286 (delete_copyout): Likewise.
13287 (update_dev_host): Likewise.
13288 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13289 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13290 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13291 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13292 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13293 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13294 it only runs on nvptx targets.
13295 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13296 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13297 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13298 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13299 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13300 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13301 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13302 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13303 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13304 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13305 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13306 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13307 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13308 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13309 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13310 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13311 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13312 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13313 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13314 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13315 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13316 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13317 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13318
13319 2016-05-23 Martin Jambor <mjambor@suse.cz>
13320
13321 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13322
13323 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13324
13325 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13326 to gomp_init_targets_once.
13327 (acc_set_device_type): Remove !cached_base_dev condition on call to
13328 gomp_init_targets_once, move call to before acc_device_lock acquire,
13329 to avoid deadlock.
13330 (acc_get_device_num): Remove !cached_base_dev condition on call to
13331 gomp_init_targets_once.
13332 (acc_set_device_num): Likewise.
13333
13334 2016-05-16 Martin Jambor <mjambor@suse.cz>
13335
13336 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
13337
13338 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13339
13340 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13341 expected partitioning.
13342
13343 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13344
13345 PR middle-end/70626
13346 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13347 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13348 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13349
13350 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
13351
13352 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13353 non-fatal.
13354
13355 2016-04-19 Jakub Jelinek <jakub@redhat.com>
13356
13357 PR middle-end/70680
13358 * testsuite/libgomp.c/pr70680-1.c: New test.
13359 * testsuite/libgomp.c/pr70680-2.c: New test.
13360
13361 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13362
13363 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13364 pass parameter variables to subroutines.
13365
13366 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13367
13368 PR middle-end/70643
13369 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13370
13371 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13372
13373 PR testsuite/68242
13374 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13375 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13376
13377 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13378
13379 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13380 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13381 GOACC_declare prototype.
13382
13383 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13384 Merge this file, and...
13385 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13386 ... this file, and...
13387 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13388 ... this file, and...
13389 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13390 ... this file, and...
13391 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13392 ... this file, and...
13393 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13394 ... this file, and...
13395 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13396 ... this file, and...
13397 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13398 ... this file, and...
13399 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13400 ... this file, and...
13401 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13402 ... this file, and...
13403 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13404 ... this file, and...
13405 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13406 ... this file, and...
13407 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13408 ... this file into...
13409 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13410 file.
13411
13412 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13413 Make failure observable.
13414
13415 2016-04-12 Jakub Jelinek <jakub@redhat.com>
13416
13417 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13418 field.
13419 * target.c (gomp_target_fallback_firstprivate,
13420 gomp_target_unshare_firstprivate): Removed.
13421 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13422 before waiting for dependencies.
13423 (gomp_target_task_fn): Don't copy firstprivate vars here.
13424 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13425 firstprivate_copies here.
13426 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13427 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13428 explicit/implicit firstprivate.
13429
13430 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13431
13432 PR lto/70289
13433 PR ipa/70348
13434 PR tree-optimization/70373
13435 PR middle-end/70533
13436 PR middle-end/70534
13437 PR middle-end/70535
13438 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13439 test.
13440 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13441 test.
13442 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13443 test.
13444 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13445 test.
13446 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13447 test.
13448 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13449 test.
13450 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13451 test.
13452 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13453 test.
13454 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13455 test.
13456 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13457 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13458 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13459 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13460 test.
13461 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13462 test.
13463 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13464 test.
13465 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13466 test.
13467 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13468 coverage.
13469 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13470 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13471 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13472 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13473 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13474 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13475 coverage.
13476 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13477 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13478 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13479 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13480 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13481 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13482 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13483 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13484 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13485 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13486 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13487 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13488 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13489 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13490 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13491
13492 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13493 James Norris <jnorris@codesourcery.com>
13494 Nathan Sidwell <nathan@codesourcery.com>
13495 Julian Brown <julian@codesourcery.com>
13496 Cesar Philippidis <cesar@codesourcery.com>
13497 Chung-Lin Tang <cltang@codesourcery.com>
13498 Tom de Vries <tom@codesourcery.com>
13499
13500 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13501 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13502 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13503 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13504 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13505 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13506 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13507 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13508 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13509 XFAIL.
13510 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13511 Incorporate...
13512 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13513 file.
13514 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13515 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13516 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13517 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13518 Likewise.
13519 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13520 Likewise.
13521 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13522 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13523 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13524 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13525 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13526 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13527 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13528 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13529 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13530 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13531 Likewise.
13532 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13533 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13534 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13535 file...
13536 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13537 file into...
13538 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13539 file. Update.
13540 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13541 file.
13542 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13543 Likewise.
13544 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13545 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13546 ... this new file. Update.
13547 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13548 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13549 ... this new file. Update.
13550 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13551 file. Incorporate...
13552 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13553 file, and...
13554 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13555 file, and...
13556 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13557 file.
13558 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13559
13560 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13561
13562 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13563 set-torture-options.
13564
13565 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13566
13567 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13568 gcc-dg-runtest.
13569 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13570 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13571 -fno-builtin-acc_on_device instead of -O0.
13572 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13573 -O0.
13574 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13575 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13576 Likewise.
13577 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13578 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13579 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13580 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13581 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13582 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13583 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13584 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13585 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13586 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13587 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13588 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13589 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13590 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13591 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13592 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13593 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13594 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13595 Don't specify -O2.
13596 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13597 Likewise.
13598 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13599 Likewise.
13600
13601 2016-03-24 Martin Liska <mliska@suse.cz>
13602
13603 * plugin/plugin-hsa.c (packet_store_release): New function
13604 that is taken from the HSA runtime manual.
13605 (GOMP_OFFLOAD_run): Use the function.
13606
13607 2016-03-23 Jakub Jelinek <jakub@redhat.com>
13608
13609 PR c++/70376
13610 * testsuite/libgomp.c++/pr70376.C: New test.
13611
13612 2016-03-23 Tom de Vries <tom@codesourcery.com>
13613
13614 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13615 initialization of lresult and lvresult.
13616 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13617
13618 2016-03-23 James Norris <jnorris@codesourcery.com>
13619 Daichi Fukuoka <dc-fukuoka@sgi.com>
13620
13621 PR libgomp/69414
13622 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13623 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13624 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13625 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13626
13627 2016-03-23 Martin Liska <mliska@suse.cz>
13628
13629 PR hsa/70337
13630 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13631 argument just in case a dispatched kernel uses that argument.
13632
13633 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13634
13635 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13636 -ftree-parallelize-loops/-fopenacc changes.
13637 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13638 Likewise.
13639 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13640 Likewise.
13641 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13642 Likewise.
13643 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13644 Likewise.
13645 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13646 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13647
13648 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13649
13650 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13651 always_ld_library_path the path to libgcc_s.
13652
13653 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13654
13655 PR testsuite/70009
13656 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13657
13658 2016-03-09 Tom de Vries <tom@codesourcery.com>
13659
13660 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13661 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13662 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13663 Same.
13664 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13665 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13666 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13667 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13668
13669 2016-03-07 Martin Jambor <mjambor@suse.cz>
13670
13671 * testsuite/lib/libgomp.exp
13672 (check_effective_target_hsa_offloading_selected_nocache): New.
13673 (check_effective_target_hsa_offloading_selected): Likewise.
13674 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13675 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13676 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13677 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13678 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13679 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13680 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13681 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13682 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13683 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13684 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13685 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13686 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13687 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13688 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13689 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13690 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13691
13692 2016-03-07 Martin Jambor <mjambor@suse.cz>
13693
13694 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13695 non-shared memory accelerators.
13696 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13697 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13698 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13699 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13700 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13701 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13702 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13703 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13704 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13705
13706 2016-03-07 Martin Jambor <mjambor@suse.cz>
13707
13708 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13709 ALWAYS_CFLAGS.
13710
13711 2016-03-02 Jakub Jelinek <jakub@redhat.com>
13712
13713 PR libgomp/69555
13714 * testsuite/libgomp.c++/pr69555-1.C: New test.
13715 * testsuite/libgomp.c++/pr69555-2.C: New test.
13716
13717 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13718 Martin Jambor <mjambor@suse.cz>
13719
13720 * testsuite/lib/libgomp.exp
13721 (check_effective_target_offload_device_shared_as): New proc.
13722 * testsuite/libgomp.c++/declare_target-1.C: New test.
13723
13724 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13725
13726 PR driver/68463
13727 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13728
13729 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13730
13731 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13732 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13733 dims.
13734 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13735 -ftree-parallelize-loops/-fopenacc changes.
13736 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13737 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13738 Likewise.
13739 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13740 Likewise.
13741 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13742 Likewise.
13743 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13744 Likewise.
13745 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13746 Likewise.
13747 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13748 Likewise.
13749 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13750 Likewise.
13751 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13752 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13753 Likewise.
13754 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13755 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13756 Likewise.
13757 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13758 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13759 Likewise.
13760
13761 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13762
13763 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13764
13765 2016-02-19 Jakub Jelinek <jakub@redhat.com>
13766
13767 PR driver/69805
13768 * testsuite/libgomp.c/pr69805.c: New test.
13769
13770 2016-02-16 Tom de Vries <tom@codesourcery.com>
13771
13772 PR lto/67709
13773 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13774
13775 2016-02-09 Tom de Vries <tom@codesourcery.com>
13776
13777 PR tree-optimization/69599
13778 * testsuite/libgomp.c/omp-nested-3.c: New test.
13779 * testsuite/libgomp.c/pr46032-2.c: New test.
13780 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13781 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13782
13783 2016-02-09 Tom de Vries <tom@codesourcery.com>
13784
13785 PR lto/69707
13786 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13787
13788 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
13789
13790 * testsuite/libgomp.c/target-31.c: Fix testcase.
13791
13792 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
13793
13794 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13795 clause.
13796 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13797 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13798 reduction and map clauses.
13799 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13800
13801 2016-02-02 James Norris <jnorris@codesourcery.com>
13802
13803 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13804
13805 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13806
13807 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13808 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13809
13810 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13811 cases.
13812
13813 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13814 variables.
13815 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13816 (hsa_kmt_lib): Set variables.
13817 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13818 always_ld_library_path.
13819 * Makefile.in: Regenerate.
13820 * configure: Likewise.
13821 * testsuite/Makefile.in: Likewise.
13822
13823 * plugin/configfrag.ac (offload_additional_options)
13824 (offload_additional_lib_paths): Don't amend for hsa offloading.
13825 * configure: Regenerate.
13826
13827 * plugin/configfrag.ac: Don't configure for offloading target if
13828 we don't build the corresponding plugin.
13829 * configure: Regenerate.
13830
13831 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13832
13833 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13834 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13835
13836 2016-01-26 Tom de Vries <tom@codesourcery.com>
13837
13838 PR tree-optimization/69110
13839 * testsuite/libgomp.c/pr69110.c: New test.
13840
13841 2016-01-25 Richard Biener <rguenther@suse.de>
13842
13843 PR lto/69393
13844 * testsuite/libgomp.c++/pr69393.C: New testcase.
13845
13846 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13847
13848 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13849 function wasn't mapped to the device with non-shared memory.
13850
13851 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13852
13853 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13854
13855 2016-01-19 Martin Jambor <mjambor@suse.cz>
13856 Martin Liska <mliska@suse.cz>
13857
13858 * plugin/Makefrag.am: Add HSA plugin requirements.
13859 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13860 (HSA_RUNTIME_LIB): Likewise.
13861 (HSA_RUNTIME_CPPFLAGS): Likewise.
13862 (HSA_RUNTIME_INCLUDE): New substitution.
13863 (HSA_RUNTIME_LIB): Likewise.
13864 (HSA_RUNTIME_LDFLAGS): Likewise.
13865 (hsa-runtime): New configure option.
13866 (hsa-runtime-include): Likewise.
13867 (hsa-runtime-lib): Likewise.
13868 (PLUGIN_HSA): New substitution variable.
13869 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13870 configure options.
13871 (PLUGIN_HSA_CPPFLAGS): Likewise.
13872 (PLUGIN_HSA_LDFLAGS): Likewise.
13873 (PLUGIN_HSA_LIBS): Likewise.
13874 Check that we have access to HSA run-time.
13875 * libgomp-plugin.h (offload_target_type): New element
13876 OFFLOAD_TARGET_TYPE_HSA.
13877 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13878 args.
13879 (bool gomp_create_target_task): Updated.
13880 (gomp_device_descr): Extra parameter of run_func and async_run_func,
13881 new field can_run_func.
13882 * libgomp_g.h (GOMP_target_ext): Update prototype.
13883 * oacc-host.c (host_run): Added a new parameter args.
13884 * target.c (calculate_firstprivate_requirements): New function.
13885 (copy_firstprivate_data): Likewise.
13886 (gomp_target_fallback_firstprivate): Use them.
13887 (gomp_target_unshare_firstprivate): New function.
13888 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13889 devices.
13890 (GOMP_target): Do host fallback for all shared memory devices. Do not
13891 pass any args to plugins.
13892 (GOMP_target_ext): Introduce device-specific argument parameter args.
13893 Allow host fallback if device shares memory. Do not remap data if
13894 device has shared memory.
13895 (gomp_target_task_fn): Likewise. Also treat shared memory devices
13896 like host fallback for mappings.
13897 (GOMP_target_data): Treat shared memory devices like host fallback.
13898 (GOMP_target_data_ext): Likewise.
13899 (GOMP_target_update): Likewise.
13900 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
13901 gomp_create_target_task.
13902 (GOMP_target_enter_exit_data): Likewise.
13903 (omp_target_alloc): Treat shared memory devices like host fallback.
13904 (omp_target_free): Likewise.
13905 (omp_target_is_present): Likewise.
13906 (omp_target_memcpy): Likewise.
13907 (omp_target_memcpy_rect): Likewise.
13908 (omp_target_associate_ptr): Likewise.
13909 (gomp_load_plugin_for_device): Also load can_run.
13910 * task.c (GOMP_PLUGIN_target_task_completion): Free
13911 firstprivate_copies.
13912 (gomp_create_target_task): Accept new argument args and store it to
13913 ttask.
13914 * plugin/plugin-hsa.c: New file.
13915
13916 2016-01-18 Tom de Vries <tom@codesourcery.com>
13917
13918 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13919 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13920 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13921 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13922 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13923 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13924 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13925 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13926 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13927 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13928 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13929 Same.
13930 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13931 Same.
13932 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13933 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13934 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13935 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13936 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13937 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13938 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13939 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13940 Same.
13941 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13942
13943 2016-01-15 Jakub Jelinek <jakub@redhat.com>
13944
13945 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13946
13947 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
13948
13949 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13950
13951 2016-01-12 James Norris <jnorris@codesourcery.com>
13952
13953 * libgomp.texi: Updates for OpenACC.
13954
13955 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
13956
13957 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13958
13959 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
13960
13961 PR fortran/66680
13962 * testsuite/libgomp.fortran/pr66680.f90: New test.
13963
13964 2016-01-07 Jakub Jelinek <jakub@redhat.com>
13965
13966 PR middle-end/68960
13967 * testsuite/libgomp.c/pr68960.c: New test.
13968
13969 2016-01-06 Nathan Sidwell <nathan@acm.org>
13970
13971 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
13972 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13973
13974 2016-01-04 Jakub Jelinek <jakub@redhat.com>
13975
13976 Update copyright years.
13977
13978 * libgomp.texi: Bump @copying's copyright year.
13979
13980 2015-12-31 Nathan Sidwell <nathan@acm.org>
13981
13982 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13983 dg-additional-options syntax.
13984 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13985 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13986 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13987 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13988 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13989 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13990 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13991 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13992 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13993 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13994 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13995 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13996 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13997 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13998 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13999 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
14000 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
14001 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
14002
14003 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
14004
14005 * libgomp.h (REFCOUNT_LINK): Define.
14006 (struct splay_tree_key_s): Add link_key.
14007 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
14008 Replace target address of the pointer with target address of newly
14009 mapped object in the splay tree. Set link pointer on target to the
14010 device address of the mapped object.
14011 (gomp_unmap_vars): Restore target address of the pointer in the splay
14012 tree for REFCOUNT_LINK objects after unmapping.
14013 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
14014 declare target link" objects.
14015 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
14016 "omp declare target link" objects, which were mapped for the image.
14017 (gomp_exit_data): Restore target address of the pointer in the splay
14018 tree for REFCOUNT_LINK objects after unmapping.
14019 * testsuite/libgomp.c/target-link-1.c: New file.
14020
14021 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
14022
14023 * libgomp.h (gomp_device_state): New enum.
14024 (struct gomp_device_descr): Replace is_initialized with state.
14025 (gomp_fini_device): Remove declaration.
14026 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
14027 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
14028 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
14029 (acc_set_device_type): Use state instead of is_initialized.
14030 (acc_set_device_num): Likewise.
14031 * target.c (resolve_device): Use state instead of is_initialized.
14032 Do not initialize finalized device.
14033 (gomp_map_vars): Do nothing if device is finalized.
14034 (gomp_unmap_vars): Likewise.
14035 (gomp_update): Likewise.
14036 (GOMP_offload_register_ver): Use state instead of is_initialized.
14037 (GOMP_offload_unregister_ver): Likewise.
14038 (gomp_init_device): Likewise.
14039 (gomp_unload_device): Likewise.
14040 (gomp_fini_device): Remove.
14041 (gomp_get_target_fn_addr): Do nothing if device is finalized.
14042 (GOMP_target): Go to host fallback if device is finalized.
14043 (GOMP_target_ext): Likewise.
14044 (gomp_exit_data): Do nothing if device is finalized.
14045 (gomp_target_task_fn): Go to host fallback if device is finalized.
14046 (gomp_target_fini): New static function.
14047 (gomp_target_init): Use state instead of is_initialized.
14048 Call gomp_target_fini at exit.
14049
14050 2015-12-09 Tom de Vries <tom@codesourcery.com>
14051
14052 PR tree-optimization/68716
14053 * testsuite/libgomp.c/omp-nested-2.c: New test.
14054
14055 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
14056
14057 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
14058 target openacc_nvidia_accel_selected.
14059 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
14060 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
14061 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
14062 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
14063
14064 2015-12-01 Julian Brown <julian@codesourcery.com>
14065 James Norris <James_Norris@mentor.com>
14066
14067 * oacc-parallel.c (GOACC_host_data): New function.
14068 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
14069 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
14070 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
14071 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
14072 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
14073 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
14074 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
14075
14076 2015-11-30 James Norris <jnorris@codesourcery.com>
14077 Cesar Philippidis <cesar@codesourcery.com>
14078
14079 libgomp/
14080 * libgomp.oacc-fortran/routine-5.f90: New test.
14081 * libgomp.oacc-fortran/routine-7.f90: New test.
14082 * libgomp.oacc-fortran/routine-9.f90: New test.
14083
14084 2015-11-30 Tom de Vries <tom@codesourcery.com>
14085
14086 PR tree-optimization/46032
14087 * testsuite/libgomp.c/pr46032.c: New test.
14088
14089 2015-11-27 Jakub Jelinek <jakub@redhat.com>
14090
14091 PR libgomp/68579
14092 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
14093 (gomp_create_target_task): Call it before freeing
14094 GOMP_TARGET_TASK_DATA tasks.
14095
14096 PR c/63326
14097 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
14098 in between case label and OpenMP standalone directives.
14099 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
14100
14101 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
14102
14103 * configure: Regenerate.
14104
14105 2015-11-26 Jakub Jelinek <jakub@redhat.com>
14106
14107 * testsuite/libgomp.c/target-35.c: New test.
14108
14109 2015-11-22 James Norris <jnorris@codesourcery.com>
14110 Cesar Philippidis <cesar@codesourcery.com>
14111
14112 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
14113 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
14114 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
14115 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
14116 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
14117
14118 2015-11-20 Jakub Jelinek <jakub@redhat.com>
14119
14120 PR middle-end/68221
14121 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
14122 * testsuite/libgomp.c/reduction-12.c: Likewise.
14123 * testsuite/libgomp.c++/reduction-11.C: Likewise.
14124 * testsuite/libgomp.c++/reduction-12.C: Likewise.
14125
14126 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
14127
14128 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
14129 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
14130 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
14131 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
14132 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14133 and fix.
14134 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14135 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14136
14137 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
14138
14139 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14140 worker & gang cases.
14141 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14142
14143 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
14144
14145 * config/nvptx/priority_queue.c: New file.
14146
14147 2015-11-14 Jakub Jelinek <jakub@redhat.com>
14148
14149 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14150 sections.
14151
14152 2015-11-14 Jakub Jelinek <jakub@redhat.com>
14153 Aldy Hernandez <aldyh@redhat.com>
14154 Ilya Verbin <ilya.verbin@intel.com>
14155
14156 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14157 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14158 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14159 iterators or IV by chunk size.
14160 * parallel.c (gomp_resolve_num_threads): Don't assume that
14161 if thr->ts.team is non-NULL, then pool must be non-NULL.
14162 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14163 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14164 GOMP_PLUGIN_target_task_completion.
14165 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14166 * Makefile.in: Regenerate.
14167 * libgomp.h: Shuffle prototypes and forward definitions around so
14168 priority queues can be defined.
14169 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14170 (enum gomp_target_task_state): New enum.
14171 (struct gomp_target_task): Add state, tgt, task and team fields.
14172 (gomp_create_target_task): Change return type to bool, add
14173 state argument.
14174 (gomp_target_task_fn): Change return type to bool.
14175 (struct gomp_device_descr): Add async_run_func.
14176 (struct gomp_task): Remove children, next_child, prev_child,
14177 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14178 Add pnode field.
14179 (struct gomp_taskgroup): Remove children.
14180 Add taskgroup_queue.
14181 (struct gomp_team): Change task_queue type to a priority queue.
14182 (splay_compare): Define inline.
14183 (priority_queue_offset): New.
14184 (priority_node_to_task): New.
14185 (task_to_priority_node): New.
14186 * oacc-mem.c: Do not include splay-tree.h.
14187 * priority_queue.c: New file.
14188 * priority_queue.h: New file.
14189 * splay-tree.c: Do not include splay-tree.h.
14190 (splay_tree_foreach_internal): New.
14191 (splay_tree_foreach): New.
14192 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14193 (splay_tree_callback): Define typedef.
14194 * target.c (splay_compare): Move to libgomp.h.
14195 (GOMP_target): Don't adjust *thr in any way around running offloaded
14196 task.
14197 (GOMP_target_ext): Likewise. Handle target nowait.
14198 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14199 return value from gomp_create_target_task, if false, fallthrough
14200 as if no dependencies exist.
14201 (gomp_target_task_fn): Change return type to bool, return true
14202 if the task should have another part scheduled later. Handle
14203 target nowait.
14204 (gomp_load_plugin_for_device): Initialize async_run.
14205 * task.c (gomp_init_task): Initialize children_queue.
14206 (gomp_clear_parent_in_list): New.
14207 (gomp_clear_parent_in_tree): New.
14208 (gomp_clear_parent): Handle priorities.
14209 (GOMP_task): Likewise.
14210 (priority_queue_move_task_first,
14211 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14212 New functions.
14213 (gomp_create_target_task): Use priority queues. Change return type
14214 to bool, add state argument, return false if for async
14215 {{enter,exit} data,update} constructs no dependencies need to be
14216 waited for, handle target nowait. Set task->fn to NULL instead of
14217 gomp_target_task_fn.
14218 (verify_children_queue): Remove.
14219 (priority_list_upgrade_task): New.
14220 (priority_queue_upgrade_task): New.
14221 (verify_task_queue): Remove.
14222 (priority_list_downgrade_task): New.
14223 (priority_queue_downgrade_task): New.
14224 (gomp_task_run_pre): Use priority queues.
14225 Abstract code out to priority_queue_downgrade_task.
14226 (gomp_task_run_post_handle_dependers): Use priority queues.
14227 (gomp_task_run_post_remove_parent): Likewise.
14228 (gomp_task_run_post_remove_taskgroup): Likewise.
14229 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
14230 tasks specially.
14231 (GOMP_taskwait): Likewise.
14232 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
14233 priority-queue_upgrade_task.
14234 (GOMP_taskgroup_start): Use priority queues.
14235 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
14236 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
14237 barrier.
14238 * taskloop.c (GOMP_taskloop): Handle priorities.
14239 * team.c (gomp_new_team): Call priority_queue_init.
14240 (free_team): Call priority_queue_free.
14241 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14242 team created for target nowait in implicit parallel region.
14243 (gomp_team_start): For nested check, test thr->ts.level instead of
14244 thr->ts.team != NULL.
14245 * testsuite/libgomp.c/doacross-3.c: New test.
14246 * testsuite/libgomp.c/ordered-5.c: New test.
14247 * testsuite/libgomp.c/priority.c: New test.
14248 * testsuite/libgomp.c/target-31.c: New test.
14249 * testsuite/libgomp.c/target-32.c: New test.
14250 * testsuite/libgomp.c/target-33.c: New test.
14251 * testsuite/libgomp.c/target-34.c: New test.
14252
14253 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14254
14255 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14256
14257 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14258 loop is sequential.
14259
14260 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14261
14262 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14263 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14264
14265 2015-11-12 James Norris <jnorris@codesourcery.com>
14266 Joseph Myers <joseph@codesourcery.com>
14267
14268 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14269 * oacc-parallel.c (GOACC_declare): New function.
14270 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14271 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14272 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14273 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14274 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14275
14276 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14277
14278 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14279
14280 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14281
14282 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14283 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14284
14285 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14286
14287 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14288 inadvertent commit.
14289
14290 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14291
14292 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14293 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14294 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14295 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14296 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14297
14298 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14299
14300 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14301 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14302
14303 2015-11-05 Jakub Jelinek <jakub@redhat.com>
14304 Ilya Verbin <ilya.verbin@intel.com>
14305
14306 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14307 GOMP_loop_nonmonotonic_dynamic_start,
14308 GOMP_loop_nonmonotonic_guided_next,
14309 GOMP_loop_nonmonotonic_guided_start,
14310 GOMP_loop_ull_nonmonotonic_dynamic_next,
14311 GOMP_loop_ull_nonmonotonic_dynamic_start,
14312 GOMP_loop_ull_nonmonotonic_guided_next,
14313 GOMP_loop_ull_nonmonotonic_guided_start,
14314 GOMP_parallel_loop_nonmonotonic_dynamic,
14315 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14316 (GOMP_target_41): Renamed to ...
14317 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14318 arguments.
14319 (GOMP_target_data_41): Renamed to ...
14320 (GOMP_target_data_ext): ... this.
14321 (GOMP_target_update_41): Renamed to ...
14322 (GOMP_target_update_ext): ... this.
14323 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14324 GOMP_target_data_ext and GOMP_target_update_ext instead of
14325 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14326 Export GOMP_loop_nonmonotonic_dynamic_next,
14327 GOMP_loop_nonmonotonic_dynamic_start,
14328 GOMP_loop_nonmonotonic_guided_next,
14329 GOMP_loop_nonmonotonic_guided_start,
14330 GOMP_loop_ull_nonmonotonic_dynamic_next,
14331 GOMP_loop_ull_nonmonotonic_dynamic_start,
14332 GOMP_loop_ull_nonmonotonic_guided_next,
14333 GOMP_loop_ull_nonmonotonic_guided_start,
14334 GOMP_parallel_loop_nonmonotonic_dynamic and
14335 GOMP_parallel_loop_nonmonotonic_guided.
14336 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14337 GOMP_parallel_loop_nonmonotonic_guided,
14338 GOMP_loop_nonmonotonic_dynamic_start,
14339 GOMP_loop_nonmonotonic_guided_start,
14340 GOMP_loop_nonmonotonic_dynamic_next,
14341 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14342 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14343 GOMP_loop_ull_nonmonotonic_guided_start,
14344 GOMP_loop_ull_nonmonotonic_dynamic_next,
14345 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14346 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14347 functions.
14348 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14349 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14350 Use gomp_map_val function.
14351 (gomp_target_fallback_firstprivate): New static function.
14352 (GOMP_target_41): Renamed to ...
14353 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14354 arguments. Move firstprivate fallback handling into a new
14355 function.
14356 (GOMP_target_data_41): Renamed to ...
14357 (GOMP_target_data_ext): ... this.
14358 (GOMP_target_update_41): Renamed to ...
14359 (GOMP_target_update_ext): ... this.
14360 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14361 gomp_map_0len_lookup instead of gomp_map_lookup.
14362 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14363 gomp_map_lookup.
14364 * testsuite/libgomp.c/target-28.c: Likewise.
14365 * testsuite/libgomp.c/monotonic-1.c: New test.
14366 * testsuite/libgomp.c/monotonic-2.c: New test.
14367 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14368 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14369 * testsuite/libgomp.c/pr66199-5.c: New test.
14370 * testsuite/libgomp.c/pr66199-6.c: New test.
14371 * testsuite/libgomp.c/pr66199-7.c: New test.
14372 * testsuite/libgomp.c/pr66199-8.c: New test.
14373 * testsuite/libgomp.c/pr66199-9.c: New test.
14374 * testsuite/libgomp.c/reduction-11.c: New test.
14375 * testsuite/libgomp.c/reduction-12.c: New test.
14376 * testsuite/libgomp.c/reduction-13.c: New test.
14377 * testsuite/libgomp.c/reduction-14.c: New test.
14378 * testsuite/libgomp.c/reduction-15.c: New test.
14379 * testsuite/libgomp.c/target-12.c (main): Adjust for
14380 omp_target_is_present change for one-past-last element.
14381 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14382 the same var is both mapped and privatized.
14383 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14384 handling of zero-length array sections.
14385 * testsuite/libgomp.c/target-28.c: New test.
14386 * testsuite/libgomp.c/target-29.c: New test.
14387 * testsuite/libgomp.c/target-30.c: New test.
14388 * testsuite/libgomp.c/target-teams-1.c: New test.
14389 * testsuite/libgomp.c++/member-6.C: New test.
14390 * testsuite/libgomp.c++/member-7.C: New test.
14391 * testsuite/libgomp.c++/monotonic-1.C: New test.
14392 * testsuite/libgomp.c++/monotonic-2.C: New test.
14393 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14394 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14395 * testsuite/libgomp.c++/pr66199-3.C: New test.
14396 * testsuite/libgomp.c++/pr66199-4.C: New test.
14397 * testsuite/libgomp.c++/pr66199-5.C: New test.
14398 * testsuite/libgomp.c++/pr66199-6.C: New test.
14399 * testsuite/libgomp.c++/pr66199-7.C: New test.
14400 * testsuite/libgomp.c++/pr66199-8.C: New test.
14401 * testsuite/libgomp.c++/pr66199-9.C: New test.
14402 * testsuite/libgomp.c++/reduction-11.C: New test.
14403 * testsuite/libgomp.c++/reduction-12.C: New test.
14404 * testsuite/libgomp.c++/target-13.C: New test.
14405 * testsuite/libgomp.c++/target-14.C: New test.
14406 * testsuite/libgomp.c++/target-15.C: New test.
14407 * testsuite/libgomp.c++/target-16.C: New test.
14408 * testsuite/libgomp.c++/target-17.C: New test.
14409 * testsuite/libgomp.c++/target-18.C: New test.
14410 * testsuite/libgomp.c++/target-19.C: New test.
14411
14412 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14413
14414 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14415 and reduction copy.
14416 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14417 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14418 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14419 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14420 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14421 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14422 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14423 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14424 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14425 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14426 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14427 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14428 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14429 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14430
14431 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14432
14433 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14434 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14435 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14436 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14437 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14438 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14439 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14440 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14441
14442 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14443
14444 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14445 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14446 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14447 * oacc-host.c (host_openacc_exec): Likewise.
14448 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14449
14450 2015-11-03 Julian Brown <julian@codesourcery.com>
14451 Thomas Schwinge <thomas@codesourcery.com>
14452
14453 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14454 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14455 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14456 Likewise.
14457 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14458 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14459
14460 2015-11-03 James Norris <jnorris@codesourcery.com>
14461
14462 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14463 file.
14464 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14465 Likewise.
14466 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14467 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14468 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14469 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14470 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14471
14472 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14473
14474 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14475 compatibility.
14476 (enum acc_async_t): Reformat.
14477 (acc_on_device): Declare compatible with builtin and provide C++
14478 wrapper.
14479 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14480
14481 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14482 Cesar Philippidis <cesar@codesourcery.com>
14483
14484 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14485 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14486 ... this. Add a description of the test at the top of the file.
14487 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14488 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14489 ... this. Add a description of the test at the top of the file.
14490
14491 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14492
14493 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14494 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14495 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14496 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14497 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14498 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14499
14500 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14501
14502 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14503 dimensions.
14504
14505 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14506
14507 PR testsuite/68063
14508 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14509
14510 2015-10-27 James Norris <jnorris@codesourcery.com>
14511
14512 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14513 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14514
14515 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14516
14517 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14518 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14519
14520 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14521 acc_device_nvidia usage.
14522 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14523 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14524 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14525
14526 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14527 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14528
14529 PR libgomp/66518
14530 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14531
14532 PR libgomp/65437
14533 PR libgomp/66518
14534 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14535 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14536
14537 2015-10-23 Tom de Vries <tom@codesourcery.com>
14538
14539 PR testsuite/68063
14540 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14541
14542 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14543
14544 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14545 vector_length.
14546 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14547
14548 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14549 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14550
14551 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14552 to 0 when mapnum is 0.
14553
14554 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14555
14556 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14557 Cast to int from int32_t.
14558
14559 2015-10-13 Jakub Jelinek <jakub@redhat.com>
14560 Aldy Hernandez <aldyh@redhat.com>
14561 Ilya Verbin <ilya.verbin@intel.com>
14562
14563 * config/linux/affinity.c (omp_get_place_num_procs,
14564 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14565 * config/linux/doacross.h: New file.
14566 * config/posix/affinity.c (omp_get_place_num_procs,
14567 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14568 * config/posix/doacross.h: New file.
14569 * env.c: Include gomp-constants.h.
14570 (struct gomp_task_icv): Rename run_sched_modifier to
14571 run_sched_chunk_size.
14572 (gomp_max_task_priority_var): New variable.
14573 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14574 (handle_omp_display_env): Change _OPENMP value from 201307 to
14575 201511. Print OMP_MAX_TASK_PRIORITY.
14576 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14577 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14578 chunk_size and run_sched_modifier to run_sched_chunk_size.
14579 (omp_get_max_task_priority, omp_get_initial_device,
14580 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14581 omp_get_partition_place_nums): New functions.
14582 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14583 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14584 to chunk_size.
14585 (omp_get_num_places_, omp_get_place_num_procs_,
14586 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14587 omp_get_place_proc_ids_8_, omp_get_place_num_,
14588 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14589 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14590 omp_get_max_task_priority_): New functions.
14591 * libgomp_g.h (GOMP_loop_doacross_static_start,
14592 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14593 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14594 GOMP_loop_ull_doacross_dynamic_start,
14595 GOMP_loop_ull_doacross_guided_start,
14596 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14597 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14598 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14599 GOMP_target_data_41, GOMP_target_update_41,
14600 GOMP_target_enter_exit_data): New prototypes.
14601 (GOMP_task): Add prototype argument.
14602 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14603 (struct gomp_doacross_work_share): New type.
14604 (struct gomp_work_share): Add doacross field.
14605 (struct gomp_task_icv): Rename run_sched_modifier to
14606 run_sched_chunk_size.
14607 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14608 GOMP_TASK_UNDEFERRED. Add comments.
14609 (struct gomp_task_depend_entry): Add comments.
14610 (struct gomp_task): Likewise.
14611 (struct gomp_taskgroup): Likewise.
14612 (struct gomp_target_task): New type.
14613 (struct gomp_team): Add comment.
14614 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14615 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14616 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14617 (struct target_var_desc): New type.
14618 (struct target_mem_desc): Adjust comment. Use struct
14619 target_var_desc instead of splay_tree_key for list.
14620 (REFCOUNT_INFINITY): Define.
14621 (struct splay_tree_key_s): Remove copy_from field.
14622 (struct gomp_device_descr): Add dev2dev_func field.
14623 (enum gomp_map_vars_kind): New enum.
14624 (gomp_map_vars): Add one argument.
14625 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14626 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14627 omp_get_place_num_procs, omp_get_place_num_procs_,
14628 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14629 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14630 omp_get_place_num_, omp_get_partition_num_places,
14631 omp_get_partition_num_places_, omp_get_partition_place_nums,
14632 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14633 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14634 omp_target_free, omp_target_is_present, omp_target_memcpy,
14635 omp_target_memcpy_rect, omp_target_associate_ptr and
14636 omp_target_disassociate_ptr.
14637 (GOMP_4.0.2): Renamed to ...
14638 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14639 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14640 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14641 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14642 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14643 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14644 GOMP_loop_ull_doacross_guided_start,
14645 GOMP_loop_ull_doacross_runtime_start,
14646 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14647 GOMP_doacross_ull_wait.
14648 * libgomp.texi: Document omp_get_max_task_priority.
14649 Rename modifier argument to chunk_size for omp_set_schedule and
14650 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14651 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14652 to run_sched_chunk_size renaming.
14653 (GOMP_loop_ordered_runtime_start): Likewise.
14654 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14655 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14656 GOMP_parallel_loop_runtime_start): New functions.
14657 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14658 to run_sched_chunk_size renaming.
14659 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14660 GOMP_loop_doacross_guided_start): New functions or aliases.
14661 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14662 run_sched_modifier to run_sched_chunk_size renaming.
14663 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14664 (gomp_loop_ull_doacross_static_start,
14665 gomp_loop_ull_doacross_dynamic_start,
14666 gomp_loop_ull_doacross_guided_start,
14667 GOMP_loop_ull_doacross_runtime_start): New functions.
14668 (GOMP_loop_ull_doacross_static_start,
14669 GOMP_loop_ull_doacross_dynamic_start,
14670 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14671 * oacc-mem.c (acc_map_data, present_create_copy,
14672 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14673 to gomp_map_vars.
14674 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14675 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14676 instead of false to gomp_map_vars.
14677 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14678 * omp.h.in (omp_lock_hint_t): New type.
14679 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14680 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14681 omp_get_place_num, omp_get_partition_num_places,
14682 omp_get_partition_place_nums, omp_get_initial_device,
14683 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14684 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14685 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14686 prototypes.
14687 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14688 (omp_lock_hint_none, omp_lock_hint_uncontended,
14689 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14690 omp_lock_hint_speculative): New parameters.
14691 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14692 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14693 omp_get_place_num, omp_get_partition_num_places,
14694 omp_get_partition_place_nums, omp_get_initial_device,
14695 omp_get_max_task_priority): New interfaces.
14696 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14697 to chunk_size.
14698 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14699 (omp_lock_hint_none, omp_lock_hint_uncontended,
14700 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14701 omp_lock_hint_speculative): New parameters.
14702 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14703 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14704 omp_get_place_num, omp_get_partition_num_places,
14705 omp_get_partition_place_nums, omp_get_initial_device,
14706 omp_get_max_task_priority): New functions and subroutines.
14707 * ordered.c: Include stdarg.h and string.h.
14708 (MAX_COLLAPSED_BITS): Define.
14709 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14710 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14711 GOMP_doacross_ull_wait): New functions.
14712 * target.c: Include errno.h.
14713 (resolve_device): If device is not initialized, call
14714 gomp_init_device on it.
14715 (gomp_map_lookup): New function.
14716 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14717 Don't bump refcount if REFCOUNT_INFINITY. Handle
14718 GOMP_MAP_ALWAYS_TO_P.
14719 (get_kind): Rename is_openacc argument to short_mapkind.
14720 (gomp_map_pointer): Use gomp_map_lookup.
14721 (gomp_map_fields_existing): New function.
14722 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14723 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14724 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14725 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14726 Adjust for tgt->list changed type and copy_from living in there.
14727 (gomp_copy_from_async): Adjust for tgt->list changed type and
14728 copy_from living in there.
14729 (gomp_unmap_vars): Likewise.
14730 (gomp_update): Likewise. Rename is_openacc argument to
14731 short_mapkind. Don't fail if object is not mapped.
14732 (gomp_load_image_to_device): Initialize refcount to
14733 REFCOUNT_INFINITY.
14734 (gomp_target_fallback): New function.
14735 (gomp_get_target_fn_addr): Likewise.
14736 (GOMP_target): Adjust gomp_map_vars caller, use
14737 gomp_get_target_fn_addr and gomp_target_fallback.
14738 (GOMP_target_41): New function.
14739 (gomp_target_data_fallback): New function.
14740 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14741 (GOMP_target_data_41): New function.
14742 (GOMP_target_update): Adjust gomp_update caller.
14743 (GOMP_target_update_41): New function.
14744 (gomp_exit_data, GOMP_target_enter_exit_data,
14745 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14746 omp_target_is_present, omp_target_memcpy,
14747 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14748 omp_target_associate_ptr, omp_target_disassociate_ptr,
14749 gomp_load_plugin_for_device): New functions.
14750 * task.c: Include gomp-constants.h. Include taskloop.c
14751 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14752 (gomp_task_handle_depend): New function.
14753 (GOMP_task): Use it. Add priority argument. Use
14754 gomp-constant.h constants instead of hardcoded numbers.
14755 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14756 (gomp_create_target_task): New function.
14757 (verify_children_queue, verify_taskgroup_queue,
14758 verify_task_queue): New functions.
14759 (gomp_task_run_pre): Call verify_*_queue functions.
14760 If an upcoming tied task is about to leave the sibling or
14761 taskgroup queues in an invalid state, adjust appropriately.
14762 Remove taskgroup argument. Add comments.
14763 (gomp_task_run_post_handle_dependers): Add comments.
14764 (gomp_task_run_post_remove_parent): Likewise.
14765 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14766 (GOMP_taskwait): Likewise. Add comments.
14767 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14768 problem such that the first non parent_depends_on task does not
14769 end up at the end of the children queue.
14770 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14771 GOMP_TASK_UNDEFERRED.
14772 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14773 * taskloop.c: New file.
14774 * testsuite/lib/libgomp.exp
14775 (check_effective_target_offload_device_nonshared_as): New proc.
14776 * testsuite/libgomp.c/affinity-2.c: New test.
14777 * testsuite/libgomp.c/doacross-1.c: New test.
14778 * testsuite/libgomp.c/doacross-2.c: New test.
14779 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14780 Add map clause to target.
14781 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14782 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14783 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14784 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14785 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14786 Likewise.
14787 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14788 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14789 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14790 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14791 not defined. Use those where needed.
14792 * testsuite/libgomp.c/for-4.c: New test.
14793 * testsuite/libgomp.c/for-5.c: New test.
14794 * testsuite/libgomp.c/for-6.c: New test.
14795 * testsuite/libgomp.c/linear-1.c: New test.
14796 * testsuite/libgomp.c/ordered-4.c: New test.
14797 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14798 only allowed on the loop iterator.
14799 * testsuite/libgomp.c/pr66199-3.c: New test.
14800 * testsuite/libgomp.c/pr66199-4.c: New test.
14801 * testsuite/libgomp.c/reduction-7.c: New test.
14802 * testsuite/libgomp.c/reduction-8.c: New test.
14803 * testsuite/libgomp.c/reduction-9.c: New test.
14804 * testsuite/libgomp.c/reduction-10.c: New test.
14805 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14806 map(tofrom:s).
14807 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14808 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14809 * testsuite/libgomp.c/target-11.c: New test.
14810 * testsuite/libgomp.c/target-12.c: New test.
14811 * testsuite/libgomp.c/target-13.c: New test.
14812 * testsuite/libgomp.c/target-14.c: New test.
14813 * testsuite/libgomp.c/target-15.c: New test.
14814 * testsuite/libgomp.c/target-16.c: New test.
14815 * testsuite/libgomp.c/target-17.c: New test.
14816 * testsuite/libgomp.c/target-18.c: New test.
14817 * testsuite/libgomp.c/target-19.c: New test.
14818 * testsuite/libgomp.c/target-20.c: New test.
14819 * testsuite/libgomp.c/target-21.c: New test.
14820 * testsuite/libgomp.c/target-22.c: New test.
14821 * testsuite/libgomp.c/target-23.c: New test.
14822 * testsuite/libgomp.c/target-24.c: New test.
14823 * testsuite/libgomp.c/target-25.c: New test.
14824 * testsuite/libgomp.c/target-26.c: New test.
14825 * testsuite/libgomp.c/target-27.c: New test.
14826 * testsuite/libgomp.c/taskloop-1.c: New test.
14827 * testsuite/libgomp.c/taskloop-2.c: New test.
14828 * testsuite/libgomp.c/taskloop-3.c: New test.
14829 * testsuite/libgomp.c/taskloop-4.c: New test.
14830 * testsuite/libgomp.c++/ctor-13.C: New test.
14831 * testsuite/libgomp.c++/doacross-1.C: New test.
14832 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14833 Replace offload_device with offload_device_nonshared_as.
14834 * testsuite/libgomp.c++/for-12.C: New test.
14835 * testsuite/libgomp.c++/for-13.C: New test.
14836 * testsuite/libgomp.c++/for-14.C: New test.
14837 * testsuite/libgomp.c++/linear-1.C: New test.
14838 * testsuite/libgomp.c++/member-1.C: New test.
14839 * testsuite/libgomp.c++/member-2.C: New test.
14840 * testsuite/libgomp.c++/member-3.C: New test.
14841 * testsuite/libgomp.c++/member-4.C: New test.
14842 * testsuite/libgomp.c++/member-5.C: New test.
14843 * testsuite/libgomp.c++/ordered-1.C: New test.
14844 * testsuite/libgomp.c++/reduction-5.C: New test.
14845 * testsuite/libgomp.c++/reduction-6.C: New test.
14846 * testsuite/libgomp.c++/reduction-7.C: New test.
14847 * testsuite/libgomp.c++/reduction-8.C: New test.
14848 * testsuite/libgomp.c++/reduction-9.C: New test.
14849 * testsuite/libgomp.c++/reduction-10.C: New test.
14850 * testsuite/libgomp.c++/reference-1.C: New test.
14851 * testsuite/libgomp.c++/simd14.C: New test.
14852 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14853 * testsuite/libgomp.c++/target-5.C: New test.
14854 * testsuite/libgomp.c++/target-6.C: New test.
14855 * testsuite/libgomp.c++/target-7.C: New test.
14856 * testsuite/libgomp.c++/target-8.C: New test.
14857 * testsuite/libgomp.c++/target-9.C: New test.
14858 * testsuite/libgomp.c++/target-10.C: New test.
14859 * testsuite/libgomp.c++/target-11.C: New test.
14860 * testsuite/libgomp.c++/target-12.C: New test.
14861 * testsuite/libgomp.c++/taskloop-1.C: New test.
14862 * testsuite/libgomp.c++/taskloop-2.C: New test.
14863 * testsuite/libgomp.c++/taskloop-3.C: New test.
14864 * testsuite/libgomp.c++/taskloop-4.C: New test.
14865 * testsuite/libgomp.c++/taskloop-5.C: New test.
14866 * testsuite/libgomp.c++/taskloop-6.C: New test.
14867 * testsuite/libgomp.c++/taskloop-7.C: New test.
14868 * testsuite/libgomp.c++/taskloop-8.C: New test.
14869 * testsuite/libgomp.c++/taskloop-9.C: New test.
14870 * testsuite/libgomp.fortran/affinity1.f90: New test.
14871 * testsuite/libgomp.fortran/affinity2.f90: New test.
14872
14873 2015-10-13 Tom de Vries <tom@codesourcery.com>
14874
14875 PR tree-optimization/67476
14876 * testsuite/libgomp.c/autopar-3.c: New test.
14877 * testsuite/libgomp.c/autopar-4.c: New test.
14878 * testsuite/libgomp.c/autopar-5.c: New test.
14879 * testsuite/libgomp.c/autopar-6.c: New test.
14880 * testsuite/libgomp.c/autopar-7.c: New test.
14881 * testsuite/libgomp.c/autopar-8.c: New test.
14882
14883 2015-10-12 James Norris <jnorris@codesourcery.com>
14884
14885 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14886 initializer.
14887
14888 2015-10-09 David Malcolm <dmalcolm@redhat.com>
14889
14890 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14891 using load_gcc_lib.
14892
14893 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
14894
14895 * oacc-ptx.h: Remove file, moving its content into...
14896 * config/nvptx/fortran.c: ... here...
14897 * config/nvptx/oacc-init.c: ..., here...
14898 * config/nvptx/oacc-parallel.c: ..., and here.
14899 * config/nvptx/openacc.f90: New file.
14900 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14901 (link_ptx): Don't link in predefined bits of PTX code.
14902
14903 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
14904 Bernd Schmidt <bernds@codesourcery.com>
14905
14906 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14907 (struct targ_ptx_obj): New.
14908 (nvptx_tdata): Move earlier, change data format.
14909 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
14910 objects.
14911 (GOMP_OFFLOAD_load_image): Adjust.
14912
14913 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
14914
14915 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14916 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14917 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14918 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14919 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14920 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14921 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14922 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14923 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14924 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14925 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14926 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14927 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14928 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14929 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14930 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14931 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14932 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14933 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14934 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14935 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14936 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14937 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14938 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14939 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14940 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14941 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14942 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14943 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14944 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14945 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14946 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14947 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14948 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14949 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14950 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14951 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14952 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14953 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14954 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14955 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14956 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14957 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14958 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14959 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14960 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14961 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14962 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14963 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14964 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14965 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14966 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14967 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14968 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14969 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14970 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14971 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14972 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14973 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14974 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14975 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14976 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14977 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14978
14979 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14980
14981 * oacc-init.c (acc_on_device): Force optimization level.
14982
14983 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14984
14985 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14986 (cuda_errlist): Delete.
14987 (cuda_error): Reimplement.
14988
14989 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
14990
14991 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14992 array.
14993 * libgomp.map (GOACC_parallel_keyed): New.
14994 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
14995 all callers.
14996 (GOACC_parallel_keyed): New interface. Lose geometry arguments
14997 and take keyed varargs list. Adjust call to exec_func.
14998 (GOACC_parallel): Force host fallback.
14999 * libgomp_g.h (GOACC_parallel): Remove.
15000 (GOACC_parallel_keyed): Declare.
15001 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
15002 (struct targ_gn_descriptor): Replace name field with launch field.
15003 (nvptx_exec): Lose separate geometry args, take array. Process
15004 dynamic dimensions and adjust.
15005 (struct nvptx_tdata): Replace fn_names field with fn_descs.
15006 (GOMP_OFFLOAD_load_image): Adjust for change in function table
15007 data.
15008 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
15009 passing.
15010 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
15011 passing.
15012
15013 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
15014
15015 PR libgomp/67141
15016 * oacc-int.h (goacc_host_init): Add declaration.
15017 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
15018 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
15019
15020 2015-09-08 Aditya Kumar <hiraditya@msn.com>
15021 Sebastian Pop <s.pop@samsung.com>
15022
15023 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
15024 match o/p.
15025 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
15026 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
15027 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
15028 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
15029 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
15030
15031 2015-09-03 Jakub Jelinek <jakub@redhat.com>
15032
15033 * configure.tgt: Add missing ;; in between nvptx and rtems
15034 snippets.
15035
15036 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15037
15038 * config/posix/pool.h (gomp_adjust_thread_attr): New.
15039 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
15040 (gomp_thread_pool_reservoir): Add priority member.
15041 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
15042 priority.
15043 (parse_thread_pools): Likewise.
15044 * team.c (gomp_team_start): Call configuration provided
15045 gomp_adjust_thread_attr(). Destroy thread attributes if
15046 necessary.
15047 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
15048
15049 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15050
15051 * config/posix/pool.h: New.
15052 * config/rtems/pool.h: Likewise.
15053 * config/rtems/proc.c: Likewise.
15054 * libgomp.h (gomp_thread_destructor): Declare.
15055 * team.c: Include configuration provided "pool.h".
15056 (gomp_get_thread_pool): Define in configuration.
15057 (gomp_team_end): Call configuration defined
15058 gomp_release_thread_pool().
15059
15060 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15061
15062 * config/rtems/bar.c: New.
15063 * config/rtems/bar.h: Likewise.
15064 * config/rtems/mutex.c: Likewise.
15065 * config/rtems/mutex.h: Likewise.
15066 * config/rtems/sem.c: Likewise.
15067 * config/rtems/sem.h: Likewise.
15068 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
15069 <sys/lock.h> header file.
15070 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
15071 supported by Newlib.
15072 * configure: Regenerate.
15073
15074 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15075
15076 * team.c (gomp_new_thread_pool): Delete and move content to ...
15077 (gomp_get_thread_pool): ... new function. Allocate and
15078 initialize thread pool on demand.
15079 (get_last_team): Use gomp_get_thread_pool().
15080 (gomp_team_start): Delete thread pool initialization.
15081
15082 2015-09-03 Tom de Vries <tom@codesourcery.com>
15083
15084 PR tree-optimization/65637
15085 * testsuite/libgomp.c/autopar-2.c: New test.
15086
15087 2015-08-29 Tom de Vries <tom@codesourcery.com>
15088
15089 PR tree-optimization/46193
15090 * testsuite/libgomp.c/pr46193.c: New test.
15091
15092 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
15093
15094 libgomp/
15095 * libgomp.map: Add 4.0.2 version.
15096 * target.c (offload_image_descr): Add version field.
15097 (gomp_load_image_to_device): Add version argument. Adjust plugin
15098 call. Improve load mismatch diagnostic.
15099 (gomp_unload_image_from_device): Add version argument. Adjust plugin
15100 call.
15101 (GOMP_offload_regster): Make stub function, move bulk to ...
15102 (GOMP_offload_register_ver): ... here. Process version argument.
15103 (GOMP_offload_unregister): Make stub function, move bulk to ...
15104 (GOMP_offload_unregister_ver): ... here. Process version argument.
15105 (gomp_init_device): Process version field.
15106 (gomp_unload_device): Process version field.
15107 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
15108 macros. Check plugin version.
15109 * libgomp.h (gomp_device_descr): Add version function field. Adjust
15110 loader and unloader types.
15111 * oacc-host.c: Include gomp-constants.h.
15112 (host_version): New.
15113 (host_load_image, host_unload_image): Adjust.
15114 (host_dispatch): Add host_version.
15115 * plugin/plugin-nvptx.c: Include gomp-constants.h.
15116 (GOMP_OFFLOAD_version): New.
15117 (GOMP_OFFLOAD_load_image): Add version arg and check it.
15118 (GOMP_OFFLOAD_unload_image): Likewise.
15119 * plugin/plugin-host.c: Include gomp-constants.h.
15120 (GOMP_OFFLOAD_version): New.
15121 (GOMP_OFFLOAD_load_image): Add version arg.
15122 (GOMP_OFFLOAD_unload_image): Likewise.
15123
15124 2015-08-24 Tom de Vries <tom@codesourcery.com>
15125
15126 PR tree-optimization/65468
15127 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
15128
15129 2015-08-24 Tom de Vries <tom@codesourcery.com>
15130
15131 PR tree-optimization/65468
15132 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15133
15134 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
15135
15136 PR libgomp/66761
15137 PR libgomp/67303
15138 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15139 (gomp_iter_guided_next): Idem.
15140 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15141 (gomp_iter_ull_guided_next): Idem.
15142 * config/linux/wait.h (do_spin): Idem.
15143
15144 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15145
15146 * libgomp-plugin.h (enum offload_target_type): Remove
15147 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15148 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15149 * openacc.h (enum acc_device_t): Likewise.
15150 * openacc_lib.h: Likewise.
15151 * oacc-init.c (name_of_acc_device_t): Don't handle it.
15152 (acc_on_device): Just use __builtin_acc_on_device.
15153 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15154 of acc_on_device builtin.
15155 * plugin/plugin-host.h: Remove file.
15156 * plugin/plugin-host.c: Likewise, but salvage some content into...
15157 * oacc-host.c: ... this file.
15158 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15159 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15160 * Makefile.in: Regenerate.
15161 * configure: Likewise.
15162 * testsuite/lib/libgomp.exp
15163 (check_effective_target_openacc_host_nonshm_selected): Remove.
15164 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15165 ACC_DEVICE_TYPE=host_nonshm.
15166 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15167 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15168 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15169 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15170 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15171 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15172
15173 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15174 Jakub Jelinek <jakub@redhat.com>
15175
15176 * config/nvptx/affinity.c: New file.
15177 * config/nvptx/alloc.c: Likewise.
15178 * config/nvptx/bar.c: Likewise.
15179 * config/nvptx/barrier.c: Likewise.
15180 * config/nvptx/critical.c: Likewise.
15181 * config/nvptx/env.c: Likewise.
15182 * config/nvptx/error.c: Likewise.
15183 * config/nvptx/fortran.c: Likewise.
15184 * config/nvptx/iter.c: Likewise.
15185 * config/nvptx/iter_ull.c: Likewise.
15186 * config/nvptx/libgomp-plugin.c: Likewise.
15187 * config/nvptx/lock.c: Likewise.
15188 * config/nvptx/loop.c: Likewise.
15189 * config/nvptx/loop_ull.c: Likewise.
15190 * config/nvptx/mutex.c: Likewise.
15191 * config/nvptx/oacc-async.c: Likewise.
15192 * config/nvptx/oacc-cuda.c: Likewise.
15193 * config/nvptx/oacc-host.c: Likewise.
15194 * config/nvptx/oacc-init.c: Likewise.
15195 * config/nvptx/oacc-mem.c: Likewise.
15196 * config/nvptx/oacc-parallel.c: Likewise.
15197 * config/nvptx/oacc-plugin.c: Likewise.
15198 * config/nvptx/omp-lock.h: Likewise.
15199 * config/nvptx/ordered.c: Likewise.
15200 * config/nvptx/parallel.c: Likewise.
15201 * config/nvptx/proc.c: Likewise.
15202 * config/nvptx/ptrlock.c: Likewise.
15203 * config/nvptx/sections.c: Likewise.
15204 * config/nvptx/sem.c: Likewise.
15205 * config/nvptx/single.c: Likewise.
15206 * config/nvptx/splay-tree.c: Likewise.
15207 * config/nvptx/target.c: Likewise.
15208 * config/nvptx/task.c: Likewise.
15209 * config/nvptx/team.c: Likewise.
15210 * config/nvptx/time.c: Likewise.
15211 * config/nvptx/work.c: Likewise.
15212 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15213 * configure: Regenerate.
15214 * configure.tgt (config_path): Set to "nvptx" for target
15215 nvptx*-*-*.
15216
15217 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15218
15219 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15220
15221 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
15222
15223 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15224 (cuda_errlist): Constify.
15225 (errmsg): Move into ...
15226 (cuda_error): ... here. Make smaller.
15227 (_XSTR, _STR): Delete.
15228 (cuda_synames): Delete.
15229 (verify_device_library): Delete.
15230 (nvptx_init): Don't call it.
15231
15232 2015-07-28 Tom de Vries <tom@codesourcery.com>
15233
15234 * testsuite/libgomp.c/uns-outer-4.c: New test.
15235
15236 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15237
15238 * testsuite/libgomp.c/pr66714.c: New test.
15239
15240 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15241
15242 PR libgomp/66950
15243 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15244 (fib_ref): New function.
15245 (fib): Correct corner cases in the recursion.
15246 (main): Replace the non-simd loop with fib_ref call.
15247 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15248 subroutine.
15249 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15250 for the last array element value. Replace the non-simd loop with
15251 fib_ref call. Remove redundant b_ref array. Remove the comparison
15252 of the last array element with according Fibonacci sequence element.
15253 (fib): Correct corner cases in the recursion.
15254
15255 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15256
15257 * target.c (gomp_offload_image_to_device): Rename to ...
15258 (gomp_load_image_to_device): ... here.
15259 (GOMP_offload_register): Adjust call.
15260 (gomp_init_device): Likewise.
15261 (gomp_unload_image_from_device): New. Broken out of ...
15262 (GOMP_offload_unregister): ... here. Call it.
15263 (gomp_unload_device): New.
15264 * libgomp.h (gomp_unload_device): Declare.
15265 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15266 mem maps.
15267
15268 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15269
15270 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15271 wait=-specific if.
15272 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15273 !=0 condition.
15274 (goacc_waits): Move !num_waits handling to ...
15275 (GOACC_wait): ... here, the only caller that might have zero waits.
15276
15277 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15278 (struct ptx_image_data): Move earlier, add fns field.
15279 (struct ptx_device): Add images and image_lock fields.
15280 (ptx_images, ptx_image_lock): Delete.
15281 (nvptx_open_device): Initialize images and image_lock fields.
15282 (nvptx_close_device): Destroy image_lock.
15283 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15284 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15285 fields.
15286
15287 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15288
15289 * target.c (GOMP_offload_register): Use int for device type arg.
15290 (GOMP_offload_unregister): Likewise.
15291
15292 * target.c (struct_offload_image_descr): Constify host_table.
15293 (gomp_offload_image_to_device): Likewise.
15294 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15295
15296 * libgomp.h (gomp_device_descr): Constify target data arguments.
15297 * target.c (struct offload_image_descr): Constify target_data.
15298 (gomp_offload_image_to_device): Likewise.
15299 (GOMP_offload_register): Likewise.
15300 (GOMP_offload_unregister): Likewise.
15301 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15302 GOMP_OFFLOAD_unload_image): Constify target data.
15303 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15304 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15305
15306 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15307
15308 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15309 Workaround driver library const error.
15310 (struct nvptx_tdata, nvptx_tdata_t): New.
15311 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15312 type.
15313
15314 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15315
15316 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15317 of EPS parameter from integer to real.
15318 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15319 type of EPS parameter from integer to real.
15320
15321 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15322
15323 * team.c (get_last_team): New.
15324 (gomp_new_team): Recycle last non-nested team if possible.
15325 (gomp_team_end): Move team work share list free lock destruction
15326 to ...
15327 (free_team): ... here.
15328
15329 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15330
15331 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15332 and ref from int to double. Replaced their comparison with
15333 an inequality of their difference and EPS.
15334 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15335 comparison of pri and a reference number with an inequality of their
15336 difference and EPS.
15337 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15338 the comparison of sum and sum_ref with an inequality of their
15339 difference and EPS.
15340 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15341 the comparison of pri and a reference number with an inequality of
15342 their difference and EPS.
15343
15344 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15345
15346 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15347 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15348 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15349 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15350 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15351 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15352 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15353 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15354 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15355 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15356 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15357 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15358 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15359 variables.
15360 (vec_mult): Likewise. Add #pragma omp taskwait.
15361 (main): Adjust caller.
15362 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15363 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15364 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15365 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15366 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15367 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15368 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15369 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15370 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15371 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15372 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15373 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15374 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15375 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15376 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15377 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15378 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15379 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15380 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15381 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15382 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15383 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15384 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15385 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15386 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15387 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15388 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15389 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15390 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15391 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15392 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15393 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15394 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15395 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15396 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15397 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15398 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15399 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15400 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15401 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15402 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15403 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15404 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15405 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15406 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15407 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15408 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15409 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15410 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15411 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15412 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15413 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15414 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15415 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15416 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15417 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15418 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15419 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15420 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15421 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15422 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15423 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15424 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15425 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15426 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15427 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15428 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15429 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15430 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15431 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15432 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15433 (vec_mult): Add !$omp taskwait.
15434 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15435 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15436 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15437 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15438 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15439 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15440 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15441 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15442 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15443 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15444 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15445 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15446 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15447 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15448 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15449 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15450 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15451 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15452 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15453 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15454 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15455 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15456 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15457 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15458 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15459 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15460 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15461 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15462 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15463 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15464 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15465 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15466 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15467 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15468 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15469 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15470 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15471 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15472 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15473 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15474 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15475 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15476 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15477 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15478 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15479 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15480 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15481 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15482 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15483 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15484 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15485 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15486 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15487 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15488 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15489 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15490 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15491 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15492 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15493 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15494 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15495 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15496 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15497 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15498 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15499 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15500 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15501
15502 2015-07-10 Tom de Vries <tom@codesourcery.com>
15503
15504 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15505 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15506
15507 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15508
15509 PR libgomp/65099
15510 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15511 in a 64-bit configuration.
15512 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15513 offloading testing if no such device is available.
15514 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15515 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15516
15517 2015-07-08 Tom de Vries <tom@codesourcery.com>
15518
15519 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15520 second call to f.
15521 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15522
15523 2015-07-07 Tom de Vries <tom@codesourcery.com>
15524
15525 PR tree-optimization/66642
15526 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15527 iteration count case.
15528 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15529 function, factor out of ...
15530 (main): ... here. Test low iteration count case.
15531
15532 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15533
15534 * libgomp.h (gomp_thread_pool): Comment last_team field.
15535
15536 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
15537
15538 * testsuite/libgomp.c++/pr66702-1.C: Require
15539 vect_simd_clones effective target.
15540 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15541
15542 2015-06-30 Tom de Vries <tom@codesourcery.com>
15543
15544 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15545 already set. Use DEFAULT_CFLAGS in dg-runtest.
15546 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15547 "-O2".
15548
15549 2015-06-30 Tom de Vries <tom@codesourcery.com>
15550
15551 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15552 already set. Use DEFAULT_CFLAGS in dg-runtest.
15553 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15554 * testsuite/libgomp.c++/pr64824.C: Same.
15555 * testsuite/libgomp.c++/pr64868.C: Same.
15556 * testsuite/libgomp.c++/pr66199-1.C: Same.
15557 * testsuite/libgomp.c++/pr66199-2.C: Same.
15558 * testsuite/libgomp.c++/target-2.C: Same.
15559 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15560 -std=<standard> option.
15561 * testsuite/libgomp.c++/udr-11.C: Same.
15562 * testsuite/libgomp.c++/udr-12.C: Same.
15563 * testsuite/libgomp.c++/udr-13.C: Same.
15564 * testsuite/libgomp.c++/udr-14.C: Same.
15565 * testsuite/libgomp.c++/udr-15.C: Same.
15566 * testsuite/libgomp.c++/udr-16.C: Same.
15567 * testsuite/libgomp.c++/udr-17.C: Same.
15568 * testsuite/libgomp.c++/udr-18.C: Same.
15569 * testsuite/libgomp.c++/udr-19.C: Same.
15570 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15571 * testsuite/libgomp.c++/simd-1.C: Same.
15572 * testsuite/libgomp.c++/simd-2.C: Same.
15573 * testsuite/libgomp.c++/simd-3.C: Same.
15574 * testsuite/libgomp.c++/simd-4.C: Same.
15575 * testsuite/libgomp.c++/simd-5.C: Same.
15576 * testsuite/libgomp.c++/simd-6.C: Same.
15577 * testsuite/libgomp.c++/simd-7.C: Same.
15578 * testsuite/libgomp.c++/simd-8.C: Same.
15579 * testsuite/libgomp.c++/simd-9.C: Same.
15580 * testsuite/libgomp.c++/simd10.C: Same.
15581 * testsuite/libgomp.c++/simd11.C: Same.
15582 * testsuite/libgomp.c++/simd12.C: Same.
15583 * testsuite/libgomp.c++/simd13.C: Same.
15584
15585 2015-06-30 Jakub Jelinek <jakub@redhat.com>
15586
15587 PR middle-end/66702
15588 * testsuite/libgomp.c++/pr66702-1.C: New test.
15589 * testsuite/libgomp.c++/pr66702-2.C: New test.
15590
15591 2015-06-30 Tom de Vries <tom@codesourcery.com>
15592
15593 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15594 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15595 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15596 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15597
15598 2015-06-30 Tom de Vries <tom@codesourcery.com>
15599
15600 PR tree-optimization/66652
15601 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15602 using restrict pointers.
15603 (main): Add arguments to calls to f.
15604 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15605
15606 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15607
15608 * configure.ac: Fix check for header <sys/sysctl.h>.
15609 * configure: Regenerate.
15610 * config.h.in: Likewise.
15611
15612 2015-06-23 Tom de Vries <tom@codesourcery.com>
15613
15614 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15615 abort.
15616 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15617
15618 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15619
15620 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15621 acc_device_nvidia.
15622
15623 PR libgomp/66518
15624 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15625 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15626
15627 2015-06-15 Tom de Vries <tom@codesourcery.com>
15628
15629 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15630 dg-additional-options for any remaining options.
15631 * testsuite/libgomp.c/atomic-2.c: Same.
15632 * testsuite/libgomp.c/atomic-4.c: Same.
15633 * testsuite/libgomp.c/atomic-5.c: Same.
15634 * testsuite/libgomp.c/atomic-6.c: Same.
15635 * testsuite/libgomp.c/autopar-1.c: Same.
15636 * testsuite/libgomp.c/copyin-1.c: Same.
15637 * testsuite/libgomp.c/copyin-2.c: Same.
15638 * testsuite/libgomp.c/copyin-3.c: Same.
15639 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15640 * testsuite/libgomp.c/nestedfn-5.c: Same.
15641 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15642 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15643 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15644 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15645 * testsuite/libgomp.c/pr32362-1.c: Same.
15646 * testsuite/libgomp.c/pr32362-2.c: Same.
15647 * testsuite/libgomp.c/pr32362-3.c: Same.
15648 * testsuite/libgomp.c/pr39591-1.c: Same.
15649 * testsuite/libgomp.c/pr39591-2.c: Same.
15650 * testsuite/libgomp.c/pr39591-3.c: Same.
15651 * testsuite/libgomp.c/pr58392.c: Same.
15652 * testsuite/libgomp.c/pr58756.c: Same.
15653 * testsuite/libgomp.c/simd-1.c: Same.
15654 * testsuite/libgomp.c/simd-10.c: Same.
15655 * testsuite/libgomp.c/simd-11.c: Same.
15656 * testsuite/libgomp.c/simd-12.c: Same.
15657 * testsuite/libgomp.c/simd-13.c: Same.
15658 * testsuite/libgomp.c/simd-14.c: Same.
15659 * testsuite/libgomp.c/simd-15.c: Same.
15660 * testsuite/libgomp.c/simd-2.c: Same.
15661 * testsuite/libgomp.c/simd-3.c: Same.
15662 * testsuite/libgomp.c/simd-4.c: Same.
15663 * testsuite/libgomp.c/simd-5.c: Same.
15664 * testsuite/libgomp.c/simd-6.c: Same.
15665 * testsuite/libgomp.c/simd-7.c: Same.
15666 * testsuite/libgomp.c/simd-8.c: Same.
15667 * testsuite/libgomp.c/simd-9.c: Same.
15668
15669 2015-06-15 Tom de Vries <tom@codesourcery.com>
15670
15671 * testsuite/libgomp.c/pr35625.c: Fix typo.
15672
15673 2015-06-15 Tom de Vries <tom@codesourcery.com>
15674
15675 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15676 in dg-options.
15677 * testsuite/libgomp.c/atomic-3.c: Same.
15678 * testsuite/libgomp.c/debug-1.c: Same.
15679 * testsuite/libgomp.c/nqueens-1.c: Same.
15680 * testsuite/libgomp.c/pr26171.c: Same.
15681 * testsuite/libgomp.c/pr48591.c: Same.
15682 * testsuite/libgomp.c/pr64824.c: Same.
15683 * testsuite/libgomp.c/pr64868.c: Same.
15684 * testsuite/libgomp.c/pr66133.c: Same.
15685 * testsuite/libgomp.c/pr66199-1.c: Same.
15686 * testsuite/libgomp.c/pr66199-2.c: Same.
15687 * testsuite/libgomp.c/target-8.c: Same.
15688
15689 2015-06-15 Tom de Vries <tom@codesourcery.com>
15690
15691 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15692 -std={gnu99,c99}.
15693 * testsuite/libgomp.c/for-1.c: Same.
15694 * testsuite/libgomp.c/for-2.c: Same.
15695 * testsuite/libgomp.c/for-3.c: Same.
15696 * testsuite/libgomp.c/pr35625.c: Same.
15697 * testsuite/libgomp.c/pr39154.c: Same.
15698 * testsuite/libgomp.c/simd-16.c: Same.
15699 * testsuite/libgomp.c/simd-17.c: Same.
15700
15701 2015-06-13 Tom de Vries <tom@codesourcery.com>
15702
15703 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15704
15705 2015-06-13 Tom de Vries <tom@codesourcery.com>
15706
15707 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15708 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15709 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15710 (N): Define.
15711 (main): Use N instead of hardcoded constants.
15712
15713 2015-06-05 Tom de Vries <tom@codesourcery.com>
15714
15715 merge from gomp4 branch:
15716 2015-05-28 Tom de Vries <tom@codesourcery.com>
15717
15718 PR tree-optimization/65443
15719 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15720 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15721 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15722
15723 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15724
15725 * testsuite/libgomp.graphite/bounds.c: Adjust for
15726 cleanup-tree-dump removal.
15727 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15728 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15729 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15730 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15731 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15732 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15733 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15734 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15735 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15736 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15737
15738 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
15739
15740 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15741 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15742 (futex_wake) [!__x86_64__]: Ditto.
15743
15744 2015-05-28 Julian Brown <julian@codesourcery.com>
15745
15746 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15747 function comment. Only call gomp_fatal if new argument is true.
15748 (acc_dev_num_out_of_range): New function.
15749 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15750 acc_dev_num_out_of_range as appropriate.
15751 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15752 (acc_get_device_num, acc_set_device_num): Update calls to
15753 resolve_device.
15754 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15755 output.
15756
15757 2015-05-28 Julian Brown <julian@codesourcery.com>
15758
15759 PR libgomp/65742
15760 * oacc-init.c (plugin/plugin-host.h): Include.
15761 (acc_on_device): Check whether we're in an offloaded region for
15762 host_nonshm
15763 plugin. Don't use __builtin_acc_on_device.
15764 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15765 nonshm_exec flag in thread-local data.
15766 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15767 data for host_nonshm plugin.
15768 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15769 for host_nonshm plugin.
15770 * plugin/plugin-host.h: New.
15771
15772 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15773
15774 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15775
15776 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15777
15778 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15779 Declare as int.
15780 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15781 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15782 Declare as int.
15783
15784 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15785
15786 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
15787
15788 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15789
15790 * target.c (gomp_map_pointer): New function abstracting out
15791 GOMP_MAP_POINTER handling.
15792 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15793 gomp_map_pointer().
15794
15795 2015-05-19 Jakub Jelinek <jakub@redhat.com>
15796
15797 PR middle-end/66199
15798 * testsuite/libgomp.c/pr66199-1.c: New test.
15799 * testsuite/libgomp.c/pr66199-2.c: New test.
15800 * testsuite/libgomp.c++/pr66199-1.C: New test.
15801 * testsuite/libgomp.c++/pr66199-2.C: New test.
15802 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15803 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15804
15805 2015-05-19 Julian Brown <julian@codesourcery.com>
15806
15807 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15808 on cuInit failure.
15809
15810 2015-05-13 Jakub Jelinek <jakub@redhat.com>
15811
15812 PR middle-end/66133
15813 * testsuite/libgomp.c/pr66133.c: New test.
15814
15815 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15816
15817 * Makefile.in: Regenerated with automake-1.11.6.
15818 * aclocal.m4: Likewise.
15819 * config.h.in: Likewise.
15820 * configure: Likewise.
15821 * testsuite/Makefile.in: Likewise.
15822
15823 2015-05-08 Jason Merrill <jason@redhat.com>
15824
15825 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15826 _Complex.
15827
15828 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15829
15830 2015-05-06 Julian Brown <julian@codesourcery.com>
15831
15832 * oacc-init.c (acc_device_lock): Add explanatory comment.
15833 (resolve_device): Add comment about locking requirement.
15834 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15835 gomp_init_device and gomp_fini_device calls.
15836 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15837 (acc_get_device_num, acc_set_device_num): Add locking around
15838 resolve_device and gomp_init_device calls.
15839
15840 2015-05-06 Julian Brown <julian@codesourcery.com>
15841
15842 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15843 goacc_thread_lock on error paths.
15844 * oacc-mem.c (lookup_host): Remove locking from function. Note
15845 locking requirement for caller in function comment.
15846 (lookup_dev): Likewise.
15847 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15848 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15849 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15850 Add locking.
15851
15852 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15853
15854 PR testsuite/65205
15855 PR libgomp/65993
15856 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15857 don't expect "0x" prefix for "%p" format specifier, don't expect
15858 "(nil)" for NULL pointer.
15859 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15860 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15861 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15862 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15863 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15864 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15865 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15866 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15867 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15868 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15869 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15870 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15871 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15872 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15873 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15874 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15875 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15876 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15877 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15878 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15879 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15880 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15881 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15882 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15883 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15884 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15885 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15886 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15887 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15888 accurately specify what we're looking for.
15889 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15890 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15891 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15892 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15893 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15894
15895 2015-04-30 James Norris <jnorris@codesourcery.com>
15896
15897 PR testsuite/65205
15898 * testsuite/lib/libgomp.exp
15899 (check_effective_target_openacc_host_selected)
15900 (check_effective_target_openacc_host_nonshm_selected): New
15901 procedures.
15902 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15903 dg-shouldfail.
15904 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15905 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15906 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15907 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15908 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15909 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15910 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15911 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15912 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15913 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15914 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15915 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15916 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15917 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15918 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15919 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15920 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15921 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15922 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15923 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15924 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15925 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15926 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15927 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15928 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15929 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15930 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15931 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15932 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15933 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15934 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15935 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15936 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15937 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15938 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15939 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15940 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15941 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15942 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15943 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15944 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15945 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15946 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15947
15948 2015-04-08 Julian Brown <julian@codesourcery.com>
15949
15950 * libgomp.h (target_mem_desc: Remove mem_map field.
15951 (acc_dispatch_t): Remove open_device_func, close_device_func,
15952 get_device_num_func, set_device_num_func, target_data members.
15953 Change create_thread_data_func argument to device number instead of
15954 generic pointer.
15955 * oacc-async.c (assert.h): Include.
15956 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15957 (acc_wait_all, acc_wait_all_async): Use current host thread's
15958 active device, not base_dev.
15959 * oacc-cuda.c (acc_get_current_cuda_device)
15960 (acc_get_current_cuda_context, acc_get_cuda_stream)
15961 (acc_set_cuda_stream): Likewise.
15962 * oacc-host.c (host_dispatch): Don't set open_device_func,
15963 close_device_func, get_device_num_func or set_device_num_func.
15964 * oacc-init.c (base_dev, init_key): Remove.
15965 (cached_base_dev): New.
15966 (name_of_acc_device_t): New.
15967 (acc_init_1): Initialise default-numbered device, not zeroth.
15968 (acc_shutdown_1): Close all devices of a given type.
15969 (goacc_destroy_thread): Don't use base_dev.
15970 (lazy_open, lazy_init, lazy_init_and_open): Remove.
15971 (goacc_attach_host_thread_to_device): New.
15972 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15973 (acc_get_num_devices): Don't use base_dev.
15974 (acc_set_device_type): Reimplement.
15975 (acc_get_device_type): Don't use base_dev.
15976 (acc_get_device_num): Tweak logic.
15977 (acc_set_device_num): Likewise.
15978 (acc_on_device): Use acc_get_device_type.
15979 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15980 (goacc_lazy_initialize): Reimplement with acc_init and
15981 goacc_attach_host_thread_to_device.
15982 * oacc-int.h (goacc_thread): Add base_dev field.
15983 (base_dev): Remove extern declaration.
15984 (goacc_attach_host_thread_to_device): Add prototype.
15985 * oacc-mem.c (acc_malloc): Use current thread's device instead of
15986 base_dev.
15987 (acc_free): Likewise.
15988 (acc_memcpy_to_device): Likewise.
15989 (acc_memcpy_from_device): Likewise.
15990 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15991 goacc_lazy_initialize (throughout).
15992 (GOACC_parallel): Use tgt_offset to locate target functions.
15993 * target.c (gomp_map_vars): Don't set tgt->mem_map.
15994 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15995 (gomp_load_plugin_for_device): Remove open_device, close_device,
15996 get_device_num, set_device_num openacc hook initialisation. Don't set
15997 openacc.target_data.
15998 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15999 (GOMP_OFFLOAD_openacc_close_device)
16000 (GOMP_OFFLOAD_openacc_get_device_num)
16001 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
16002 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
16003 to int.
16004 * plugin/plugin-nvptx.c (ptx_inited): Remove.
16005 (instantiated_devices, ptx_dev_lock): New.
16006 (struct ptx_image_data): New.
16007 (ptx_devices, ptx_images, ptx_image_lock): New.
16008 (fini_streams_for_device): Reorder cuStreamDestroy call.
16009 (nvptx_get_num_devices): Remove forward declaration.
16010 (nvptx_init): Change return type to bool.
16011 (nvptx_fini): Remove.
16012 (nvptx_attach_host_thread_to_device): New.
16013 (nvptx_open_device): Return struct ptx_device* instead of void*.
16014 (nvptx_close_device): Change argument type to struct ptx_device*,
16015 return type to void.
16016 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
16017 (kernel_target_data, kernel_host_table): Remove static globals.
16018 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
16019 (GOMP_OFFLOAD_init_device): Reimplement.
16020 (GOMP_OFFLOAD_fini_device): Likewise.
16021 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
16022 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
16023 (GOMP_OFFLOAD_host2dev): Use ORD argument.
16024 (GOMP_OFFLOAD_openacc_open_device)
16025 (GOMP_OFFLOAD_openacc_close_device)
16026 (GOMP_OFFLOAD_openacc_set_device_num)
16027 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
16028 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
16029 (device number).
16030
16031 testsuite/
16032 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
16033
16034 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
16035
16036 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
16037 * libgomp.h (struct gomp_memory_mapping): Remove.
16038 (struct target_mem_desc): Change type of mem_map from
16039 gomp_memory_mapping * to splay_tree_s *.
16040 (struct gomp_device_descr): Remove register_image_func, get_table_func.
16041 Add load_image_func, unload_image_func.
16042 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
16043 Remove offload_regions_registered.
16044 (gomp_init_tables): Remove.
16045 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16046 to splay_tree_s *.
16047 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
16048 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
16049 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
16050 offload_regions_registered.
16051 Initialize load_image_func, unload_image_func, mem_map.root.
16052 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
16053 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
16054 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
16055 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
16056 gomp_memory_mapping *. Use dev's lock and splay_tree.
16057 (lookup_dev): Use dev's lock.
16058 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
16059 (acc_is_present): Likewise.
16060 (acc_map_data): Likewise.
16061 (acc_unmap_data): Likewise. Use dev's lock.
16062 (present_create_copy): Likewise.
16063 (delete_copyout): Pass dev to lookup_host instead of mem_map.
16064 (update_dev_host): Likewise.
16065 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
16066 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
16067 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
16068 (GOMP_OFFLOAD_get_table): Remove
16069 (GOMP_OFFLOAD_load_image): New function.
16070 (GOMP_OFFLOAD_unload_image): New function.
16071 * target.c (register_lock): New mutex for offload image registration.
16072 (num_devices): Do not guard with PLUGIN_SUPPORT.
16073 (gomp_realloc_unlock): New static function.
16074 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
16075 before gomp_fatal.
16076 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
16077 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
16078 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
16079 mem_map's.
16080 (gomp_unmap_vars): Likewise.
16081 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
16082 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
16083 (gomp_offload_image_to_device): New static function.
16084 (GOMP_offload_register): Add mutex lock.
16085 Call gomp_offload_image_to_device for all initialized devices.
16086 Replace gomp_realloc with gomp_realloc_unlock.
16087 (GOMP_offload_unregister): New function.
16088 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
16089 get_table_func from the plugin with calls to init_device_func and
16090 gomp_offload_image_to_device.
16091 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16092 to splay_tree_s *.
16093 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
16094 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
16095 (GOMP_target_data): Do not call gomp_init_tables.
16096 (GOMP_target_update): Likewise. Remove argument from gomp_update.
16097 (gomp_load_plugin_for_device): Replace register_image and get_table
16098 with load_image and unload_image in DLSYM ().
16099 (gomp_register_images_for_device): Remove function.
16100 (gomp_target_init): Do not initialize current_device.mem_map.*,
16101 current_device.offload_regions_registered.
16102 Remove call to gomp_register_images_for_device.
16103 Do not free offload_images and num_offload_images.
16104
16105 2015-03-30 Jakub Jelinek <jakub@redhat.com>
16106
16107 PR fortran/65597
16108 * testsuite/libgomp.fortran/pr65597.f90: New test.
16109
16110 2015-03-27 Tom de Vries <tom@codesourcery.com>
16111
16112 PR testsuite/65594
16113 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
16114 (init, check): New function.
16115 (foo): Change return type to void.
16116 (main): Call init and check.
16117
16118 2015-03-27 Tom de Vries <tom@codesourcery.com>
16119
16120 PR testsuite/65594
16121 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
16122 (foo): Use M for non-inner loops to scale down test-case.
16123
16124 2015-03-25 Kai Tietz <ktietz@redhat.com>
16125
16126 PR libgomp/64972
16127 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
16128 (GOACC_data_start): Likewise.
16129 * target.c (gomp_map_vars): Likewise.
16130
16131 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
16132
16133 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16134 hppa*-*-hpux*.
16135
16136 2015-03-19 Jakub Jelinek <jakub@redhat.com>
16137
16138 * testsuite/libgomp.c/target-10.c: New test.
16139 * testsuite/libgomp.c++/target-4.C: New test.
16140
16141 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
16142
16143 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16144 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16145
16146 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
16147
16148 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16149 * configure.ac (*-*-rtems*): Assume Pthread is supported.
16150 (pthread.h): Check for this header file.
16151 * configure: Regenerate.
16152
16153 2015-02-25 Tom de Vries <tom@codesourcery.com>
16154
16155 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16156 (check_reduction_op, check_reduction_macro, max, min):
16157 Declare.
16158 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16159 function.
16160 (main): Use new functions.
16161
16162 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
16163
16164 * target.c (gomp_load_plugin_for_device): Use const char * instead of
16165 char * for variables holding dlerror return values.
16166 (DLSYM_OPT): Ditto.
16167
16168 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16169
16170 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16171
16172 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16173 Cesar Philippidis <cesar@codesourcery.com>
16174
16175 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16176 GOACC_ctaid, and GOACC_nctaid routines.
16177
16178 2015-02-11 Jakub Jelinek <jakub@redhat.com>
16179
16180 PR c/64824
16181 * testsuite/libgomp.c/atomic-18.c: New test.
16182 * testsuite/libgomp.c++/atomic-16.C: New test.
16183
16184 2015-02-04 Jakub Jelinek <jakub@redhat.com>
16185
16186 PR c/64824
16187 PR c/64868
16188 * testsuite/libgomp.c/pr64824.c: New test.
16189 * testsuite/libgomp.c/pr64868.c: New test.
16190 * testsuite/libgomp.c++/pr64824.C: New test.
16191 * testsuite/libgomp.c++/pr64868.C: New test.
16192
16193 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
16194
16195 PR libgomp/64635
16196 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16197 Link with -lpthread.
16198 * config/aix/plugin-suffix.h: Delete.
16199
16200 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
16201
16202 PR libgomp/64635
16203 * configure.tgt (*-*-aix*): Use config_path "aix posix".
16204 (*-*-darwin*): Use config_path "bsd darwin posix".
16205 (*-*-hpux*): Use config_path "hpux posix".
16206 * target.c: Add include of plugin-suffix.h and use
16207 SONAME_SUFFIX macro.
16208 * config/aix/plugin-suffix.h: New file.
16209 * config/darwin/plugin-suffix.h: New file.
16210 * config/hpux/plugin-suffix.h: New file.
16211 * config/posix/plugin-suffix.h: New file.
16212
16213 2015-01-23 Jakub Jelinek <jakub@redhat.com>
16214
16215 PR middle-end/64734
16216 * libgomp.c/pr64734.c: New test.
16217
16218 2015-01-23 Tom de Vries <tom@codesourcery.com>
16219
16220 PR libgomp/64672
16221 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16222
16223 2015-01-23 Tom de Vries <tom@codesourcery.com>
16224
16225 PR libgomp/64707
16226 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16227 dg-options.
16228
16229 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16230
16231 PR libgomp/64625
16232 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16233 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16234 formal parameter. Update all users.
16235 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16236 Document unused formal parameter.
16237
16238 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16239
16240 * oacc-parallel.c: Don't include <alloca.h>.
16241 (GOACC_parallel): Use gomp_alloca instead of alloca.
16242
16243 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16244
16245 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16246
16247 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16248 James Norris <jnorris@codesourcery.com>
16249 Tom de Vries <tom@codesourcery.com>
16250 Julian Brown <julian@codesourcery.com>
16251 Cesar Philippidis <cesar@codesourcery.com>
16252 Nathan Sidwell <nathan@codesourcery.com>
16253 Tobias Burnus <burnus@net-b.de>
16254
16255 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16256 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16257 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16258 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16259 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16260 Include $(top_srcdir)/plugin/Makefrag.am.
16261 (nodist_libsubinclude_HEADERS): Add openacc.h.
16262 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16263 openacc.f90, openacc.mod, openacc_kinds.mod.
16264 (omp_lib.mod): Generalize into...
16265 (%.mod): ... this new rule.
16266 (openacc_kinds.mod, openacc.mod): New rules.
16267 * plugin/configfrag.ac: New file.
16268 * configure.ac: Move plugin/offloading support into it. Include
16269 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16270 * plugin/Makefrag.am: New file.
16271 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16272 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16273 export.
16274 (libgomp-test-support.exp): New rule.
16275 (all-local): Depend on it.
16276 * Makefile.in: Regenerate.
16277 * testsuite/Makefile.in: Regenerate.
16278 * config.h.in: Likewise.
16279 * configure: Likewise.
16280 * configure.tgt: Harden shell syntax.
16281 * env.c: Include "oacc-int.h".
16282 (parse_acc_device_type): New function.
16283 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16284 variables.
16285 (initialize_env): Initialize those. Call
16286 goacc_runtime_initialize.
16287 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16288 (gomp_fatal): Call gomp_vfatal.
16289 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16290 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16291 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16292 (splay_tree_node, splay_tree, splay_tree_key)
16293 (struct target_mem_desc, struct splay_tree_key_s)
16294 (struct gomp_memory_mapping, struct acc_dispatch_t)
16295 (struct gomp_device_descr, gomp_acc_insert_pointer)
16296 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16297 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16298 (gomp_free_memmap, gomp_fini_device): New declarations.
16299 (gomp_vdebug, gomp_debug): New macros.
16300 Include "splay-tree.h".
16301 * libgomp.map (OACC_2.0): New symbol version. Use for
16302 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16303 acc_set_device_type_h_, acc_get_device_type,
16304 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16305 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16306 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16307 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16308 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16309 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16310 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16311 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16312 acc_copyin_array_h_, acc_present_or_copyin,
16313 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16314 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16315 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16316 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16317 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16318 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16319 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16320 acc_update_device, acc_update_device_32_h_,
16321 acc_update_device_64_h_, acc_update_device_array_h_,
16322 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16323 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16324 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16325 acc_is_present_64_h_, acc_is_present_array_h_,
16326 acc_memcpy_to_device, acc_memcpy_from_device,
16327 acc_get_current_cuda_device, acc_get_current_cuda_context,
16328 acc_get_cuda_stream, acc_set_cuda_stream.
16329 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16330 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16331 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16332 GOACC_get_num_threads.
16333 (GOMP_PLUGIN_1.0): New symbol version. Use for
16334 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16335 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16336 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16337 GOMP_PLUGIN_acc_thread.
16338 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16339 environment variable.
16340 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16341 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16342 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16343 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16344 (splay_tree_remove): New declarations.
16345 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16346 (splay_tree_remove, splay_tree_lookup): Move into...
16347 * splay-tree.c: ... this new file.
16348 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16349 (splay_tree_node, splay_tree, splay_tree_key)
16350 (struct target_mem_desc, struct splay_tree_key_s)
16351 (struct gomp_device_descr): Don't declare.
16352 (num_devices_openmp): New variable.
16353 (gomp_get_num_devices ): Use it.
16354 (gomp_init_targets_once): New function.
16355 (gomp_get_num_devices ): Use it.
16356 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16357 (gomp_fini_device, gomp_register_image_for_device): New functions.
16358 (gomp_map_vars): Add devaddrs parameter.
16359 (gomp_update): Add mm parameter.
16360 (gomp_init_device): Move most of it into...
16361 (gomp_init_tables): ... this new function.
16362 (gomp_register_images_for_device): Remove function.
16363 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16364 Make them hidden instead of static.
16365 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16366 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16367 (GOMP_target_end_data, GOMP_target_update)
16368 (gomp_load_plugin_for_device, gomp_target_init): Update for
16369 OpenACC changes.
16370 * oacc-async.c: New file.
16371 * oacc-cuda.c: Likewise.
16372 * oacc-host.c: Likewise.
16373 * oacc-init.c: Likewise.
16374 * oacc-int.h: Likewise.
16375 * oacc-mem.c: Likewise.
16376 * oacc-parallel.c: Likewise.
16377 * oacc-plugin.c: Likewise.
16378 * oacc-plugin.h: Likewise.
16379 * oacc-ptx.h: Likewise.
16380 * openacc.f90: Likewise.
16381 * openacc.h: Likewise.
16382 * openacc_lib.h: Likewise.
16383 * plugin/plugin-host.c: Likewise.
16384 * plugin/plugin-nvptx.c: Likewise.
16385 * libgomp-plugin.c: Likewise.
16386 * libgomp-plugin.h: Likewise.
16387 * libgomp_target.h: Remove file after merging content into the
16388 former file. Update all users.
16389 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16390 (offload_targets_s, offload_targets_s_openacc): New variables.
16391 (check_effective_target_openacc_nvidia_accel_present)
16392 (check_effective_target_openacc_nvidia_accel_selected): New
16393 procedures.
16394 (libgomp_init): Update for OpenACC changes.
16395 * testsuite/libgomp-test-support.exp.in: New file.
16396 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16397 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16398 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16399 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16400 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16401 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16402 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16403 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16404 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16405 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16406 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16407 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16408 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16409 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16410 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16411 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16412 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16413 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16414 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16415 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16416 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16417 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16418 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16419 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16420 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16421 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16422 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16423 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16424 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16425 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16426 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16427 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16428 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16429 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16430 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16431 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16432 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16433 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16434 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16435 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16436 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16437 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16438 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16439 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16440 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16441 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16442 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16443 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16444 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16445 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16446 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16447 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16448 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16449 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16450 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16451 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16452 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16453 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16454 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16455 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16456 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16457 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16458 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16459 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16460 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16461 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16462 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16463 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16464 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16465 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16466 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16467 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16468 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16469 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16470 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16471 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16472 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16473 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16474 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16475 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16476 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16477 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16478 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16479 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16480 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16481 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16482 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16483 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16484 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16485 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16486 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16487 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16488 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16489 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16490 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16491 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16492 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16493 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16494 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16495 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16496 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16497 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16498 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16499 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16500 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16501 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16502 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16503 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16504 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16505 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16506 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16507 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16508 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16509 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16510 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16511 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16512 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16513 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16514 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16515 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16516 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16517 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16518 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16519 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16520 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16521 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16522 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16523 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16524 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16525 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16526 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16527 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16528 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16529 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16530 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16531 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16532 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16533 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16534 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16535 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16536 Likewise.
16537 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16538 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16539 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16540 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16541 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16542 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16543 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16544 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16545 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16546 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16547 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16548 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16549 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16550 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16551 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16552 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16553 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16554 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16555 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16556 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16557 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16558 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16559 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16560 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16561 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16562 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16563 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16564 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16565 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16566 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16567 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16568 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16569 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16570 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16571 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16572 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16573 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16574 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16575 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16576 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16577 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16578 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16579 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16580 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16581 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16582 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16583 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16584 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16585 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16586 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16587 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16588 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16589 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16590 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16591 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16592 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16593 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16594 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16595 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16596 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16597
16598 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16599 Julian Brown <julian@codesourcery.com>
16600 David Malcolm <dmalcolm@redhat.com>
16601
16602 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16603 to "GNU Offloading and Multi Processing Runtime Library". Change
16604 all users.
16605 * configure: Regenerate.
16606 * libgomp.texi: Update.
16607
16608 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16609
16610 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16611 "$tgt_dir/lib32".
16612 * configure: Regenerate.
16613
16614 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16615 "intelmic" in $offload_targets.
16616
16617 2015-01-05 Jakub Jelinek <jakub@redhat.com>
16618
16619 Update copyright years.
16620
16621 * libgomp.texi: Bump @copying's copyright year.
16622
16623 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16624
16625 * testsuite/lib/libgomp.exp: Load target-utils.exp.
16626 Move load of target-supports.exp earlier.
16627
16628 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16629
16630 * testsuite/libgomp.c/target-9.c: New test.
16631
16632 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16633
16634 * config.h.in: Regenerate.
16635 * configure: Regenerate.
16636 * configure.ac: Add GCC_CHECK_EMUTLS.
16637 * libgomp.h: Add check for USE_EMUTLS: this case
16638 is equal to HAVE_TLS.
16639 * team.c: Likewise.
16640
16641 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
16642
16643 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16644
16645 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16646 Ilya Verbin <ilya.verbin@intel.com>
16647
16648 * testsuite/libgomp.c/target-critical-1.c: New test.
16649
16650 2014-11-26 Jakub Jelinek <jakub@redhat.com>
16651
16652 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
16653 to dg-options unless expensive testing is on.
16654 (TESTITERS): Define to N if not defined.
16655 (main): Use TESTITERS instead of N.
16656 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16657 dg-additional-options depending on whether expensive testing is on.
16658 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16659 Decrease N to 100000 and CHUNKSZ to 10000.
16660
16661 2014-11-24 Jakub Jelinek <jakub@redhat.com>
16662
16663 PR fortran/63938
16664 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16665 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
16666
16667 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
16668
16669 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16670
16671 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16672
16673 PR bootstrap/63784
16674 * configure: Regenerated.
16675
16676 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
16677
16678 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16679 vect_simd_clones effective target.
16680 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16681
16682 2014-11-14 Jakub Jelinek <jakub@redhat.com>
16683
16684 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16685 of 32 as block_size.
16686 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16687 instead of 32 as block_size.
16688
16689 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16690 Ilya Verbin <ilya.verbin@intel.com>
16691
16692 * Makefile.in: Regenerate.
16693 * configure: Regenerate.
16694 * configure.ac: Set up offload_additional_options,
16695 offload_additional_lib_paths and offload_targets.
16696 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16697 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16698 * testsuite/Makefile.in: Regenerate.
16699 * testsuite/lib/libgomp.exp (libgomp_init): Append
16700 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16701 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16702 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16703
16704 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16705 Ilya Verbin <ilya.verbin@intel.com>
16706 Kirill Yukhin <kirill.yukhin@intel.com>
16707 Ilya Tocar <ilya.tocar@intel.com>
16708
16709 * testsuite/lib/libgomp.exp
16710 (check_effective_target_offload_device): New.
16711 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16712 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16713 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16714 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16715 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16716 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16717 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16718 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16719 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16720 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16721 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16722 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16723 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16724 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16725 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16726 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16727 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16728 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16729 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16730 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16731 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16732 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16733 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16734 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16735 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16736 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16737 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16738 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16739 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16740 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16741 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16742 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16743 * testsuite/libgomp.c/target-7.c: Fix test.
16744 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16745 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16746 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16747 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16748 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16749 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16750 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16751 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16752 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16753 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16754 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16755 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16756 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16757 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16758 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16759 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16760 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16761 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16762 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16763 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16764 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16765 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16766 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16767 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16768 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16769 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16770 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16771 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16772 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16773 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16774 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16775
16776 2014-11-13 Jakub Jelinek <jakub@redhat.com>
16777 Ilya Verbin <ilya.verbin@intel.com>
16778 Thomas Schwinge <thomas@codesourcery.com>
16779 Andrey Turetskiy <andrey.turetskiy@intel.com>
16780
16781 * libgomp.map (GOMP_4.0.1): New symbol version.
16782 Add GOMP_offload_register.
16783 * libgomp_target.h: New file.
16784 * splay-tree.h: New file.
16785 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16786 (gomp_target_init): New forward declaration.
16787 (gomp_is_initialized): New static variable.
16788 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16789 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16790 New structures.
16791 (offload_images, num_offload_images, devices, num_devices): New static
16792 variables.
16793 (splay_compare): New static function.
16794 (struct gomp_device_descr): New structure.
16795 (gomp_get_num_devices): Call gomp_target_init.
16796 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16797 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16798 (GOMP_offload_register): New function.
16799 (GOMP_target): Arrange for host callback to be performed in a separate
16800 initial thread and contention group, inheriting ICVs from
16801 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16802 Add device initialization and lookup for target function in splay tree.
16803 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16804 (GOMP_target_end_data): Call gomp_unmap_vars.
16805 (GOMP_target_update): Add device initialization and call gomp_update.
16806 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16807 (gomp_target_init): New static functions.
16808
16809 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16810 Thomas Schwinge <thomas@codesourcery.com>
16811 Ilya Verbin <ilya.verbin@intel.com>
16812 Andrey Turetskiy <andrey.turetskiy@intel.com>
16813
16814 * config.h.in: Regenerate.
16815 * configure: Regenerate.
16816 * configure.ac: Check for libdl, required for plugin support.
16817 (PLUGIN_SUPPORT): Define if plugins are supported.
16818 (enable_offload_targets): Support Intel MIC targets.
16819 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16820
16821 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16822
16823 PR target/63610
16824 * configure: Regenerate.
16825
16826 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16827
16828 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16829
16830 2014-10-06 Marek Polacek <polacek@redhat.com>
16831
16832 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16833 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16834 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16835 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16836
16837 2014-10-06 Marek Polacek <polacek@redhat.com>
16838
16839 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16840 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16841 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16842 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16843 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16844 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16845 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16846 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16847 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16848 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16849 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16850 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16851 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16852 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16853 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16854 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16855 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16856 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16857 declarations.
16858
16859 2014-10-03 Jakub Jelinek <jakub@redhat.com>
16860
16861 PR libgomp/61200
16862 * testsuite/libgomp.c/pr61200.c: New test.
16863
16864 2014-09-18 Jakub Jelinek <jakub@redhat.com>
16865
16866 PR c++/63248
16867 * testsuite/libgomp.c++/pr63248.C: New test.
16868
16869 2014-08-04 Jakub Jelinek <jakub@redhat.com>
16870
16871 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16872 is not zero, but taskgroup->children is NULL and there are
16873 any task->children, schedule those instead of waiting.
16874 * testsuite/libgomp.c/depend-6.c: New test.
16875 * testsuite/libgomp.c/depend-7.c: New test.
16876 * testsuite/libgomp.c/depend-8.c: New test.
16877 * testsuite/libgomp.c/depend-9.c: New test.
16878 * testsuite/libgomp.c/depend-10.c: New test.
16879
16880 2014-08-01 Jakub Jelinek <jakub@redhat.com>
16881
16882 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16883 (struct gomp_taskwait): New type.
16884 (struct gomp_task): Add taskwait and parent_depends_on, remove
16885 in_taskwait and taskwait_sem fields.
16886 (gomp_finish_task): Don't destroy taskwait_sem.
16887 * task.c (gomp_init_task): Don't init in_taskwait, instead init
16888 taskwait and parent_depends_on.
16889 (GOMP_task): For if (0) tasks with depend clause that depend on
16890 earlier tasks don't defer them, instead call
16891 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16892 Initialize redundant_out field, for redundant out entries just
16893 move them at the end of linked list instead of removing them
16894 completely, and set redundant_out flag instead of redundant.
16895 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16896 that task.
16897 (gomp_task_run_post_handle_dependers): If parent is in
16898 gomp_task_maybe_wait_for_dependencies and newly runnable task
16899 is not parent_depends_on, queue it in parent->children linked
16900 list after all runnable tasks with parent_depends_on set.
16901 Adjust for addition of taskwait indirection.
16902 (gomp_task_run_post_remove_parent): If parent is in
16903 gomp_task_maybe_wait_for_dependencies and task to be removed
16904 is parent_depends_on, decrement n_depend and if needed awake
16905 parent. Adjust for addition of taskwait indirection.
16906 (GOMP_taskwait): Adjust for addition of taskwait indirection.
16907 (gomp_task_maybe_wait_for_dependencies): New function.
16908 * testsuite/libgomp.c/depend-5.c: New test.
16909
16910 2014-07-13 Tobias Burnus <burnus@net-b.de>
16911
16912 * testsuite/libgomp.fortran/pr34020.f90: Make compile
16913 with TS 18508/Fortran 2015.
16914
16915 2014-07-06 Marek Polacek <polacek@redhat.com>
16916
16917 PR c/6940
16918 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16919
16920 2014-07-03 Jakub Jelinek <jakub@redhat.com>
16921
16922 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16923 matches regex $lang_source_re, add $lang_include_flags to options.
16924 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16925 * testsuite/libgomp.c++/c++.exp: Likewise.
16926 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
16927 and lang_include_flags instead of adding -fintrinsic-modules-path= to
16928 ALWAYS_CFLAGS.
16929 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16930
16931 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
16932
16933 * testsuite/libgomp.fortran/fortran.exp: Explain
16934 gfortran-dg-runtest usage.
16935
16936 2014-06-25 Jakub Jelinek <jakub@redhat.com>
16937
16938 * testsuite/libgomp.fortran/simd5.f90: New test.
16939 * testsuite/libgomp.fortran/simd6.f90: New test.
16940 * testsuite/libgomp.fortran/simd7.f90: New test.
16941
16942 2014-06-24 Jakub Jelinek <jakub@redhat.com>
16943
16944 * testsuite/libgomp.c/for-2.c: Define SC to static for
16945 #pragma omp for simd testing.
16946 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16947 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16948 SC macro.
16949 * testsuite/libgomp.c/simd-14.c: New test.
16950 * testsuite/libgomp.c/simd-15.c: New test.
16951 * testsuite/libgomp.c/simd-16.c: New test.
16952 * testsuite/libgomp.c/simd-17.c: New test.
16953 * testsuite/libgomp.c++/for-10.C: Define SC to static for
16954 #pragma omp for simd testing.
16955 * testsuite/libgomp.c++/simd10.C: New test.
16956 * testsuite/libgomp.c++/simd11.C: New test.
16957 * testsuite/libgomp.c++/simd12.C: New test.
16958 * testsuite/libgomp.c++/simd13.C: New test.
16959
16960 * testsuite/libgomp.fortran/aligned1.f03: New test.
16961 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16962 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16963 tasks with !$omp parallel !$omp single.
16964 * testsuite/libgomp.fortran/target8.f90: New test.
16965 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16966 not to use trim in the combiner, instead call elemental function.
16967 (fn): New elemental function.
16968 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16969 Make elemental.
16970 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16971 omp_in): Likewise.
16972 * testsuite/libgomp.fortran/udr12.f90: New test.
16973 * testsuite/libgomp.fortran/udr13.f90: New test.
16974 * testsuite/libgomp.fortran/udr14.f90: New test.
16975 * testsuite/libgomp.fortran/udr15.f90: New test.
16976
16977 2014-06-18 Jakub Jelinek <jakub@redhat.com>
16978
16979 * omp_lib.f90.in (openmp_version): Set to 201307.
16980 * omp_lib.h.in (openmp_version): Likewise.
16981 * testsuite/libgomp.c/target-8.c: New test.
16982 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16983 and inbranch clauses.
16984 * testsuite/libgomp.fortran/depend-3.f90: New test.
16985 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16986 openmp_version.
16987 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16988 * testsuite/libgomp.fortran/target1.f90: New test.
16989 * testsuite/libgomp.fortran/target2.f90: New test.
16990 * testsuite/libgomp.fortran/target3.f90: New test.
16991 * testsuite/libgomp.fortran/target4.f90: New test.
16992 * testsuite/libgomp.fortran/target5.f90: New test.
16993 * testsuite/libgomp.fortran/target6.f90: New test.
16994 * testsuite/libgomp.fortran/target7.f90: New test.
16995
16996 2014-06-10 Jakub Jelinek <jakub@redhat.com>
16997
16998 PR fortran/60928
16999 * testsuite/libgomp.fortran/allocatable9.f90: New test.
17000 * testsuite/libgomp.fortran/allocatable10.f90: New test.
17001 * testsuite/libgomp.fortran/allocatable11.f90: New test.
17002 * testsuite/libgomp.fortran/allocatable12.f90: New test.
17003 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
17004 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
17005 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
17006 * testsuite/libgomp.fortran/associate1.f90: New test.
17007 * testsuite/libgomp.fortran/associate2.f90: New test.
17008 * testsuite/libgomp.fortran/procptr1.f90: New test.
17009
17010 2014-06-06 Jakub Jelinek <jakub@redhat.com>
17011
17012 * testsuite/libgomp.fortran/simd1.f90: New test.
17013 * testsuite/libgomp.fortran/udr1.f90: New test.
17014 * testsuite/libgomp.fortran/udr2.f90: New test.
17015 * testsuite/libgomp.fortran/udr3.f90: New test.
17016 * testsuite/libgomp.fortran/udr4.f90: New test.
17017 * testsuite/libgomp.fortran/udr5.f90: New test.
17018 * testsuite/libgomp.fortran/udr6.f90: New test.
17019 * testsuite/libgomp.fortran/udr7.f90: New test.
17020 * testsuite/libgomp.fortran/udr8.f90: New test.
17021 * testsuite/libgomp.fortran/udr9.f90: New test.
17022 * testsuite/libgomp.fortran/udr10.f90: New test.
17023 * testsuite/libgomp.fortran/udr11.f90: New test.
17024
17025 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
17026
17027 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
17028 vect_simd_clones effective target.
17029 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
17030
17031 2014-05-21 Jakub Jelinek <jakub@redhat.com>
17032
17033 PR middle-end/61252
17034 * testsuite/libgomp.c++/simd-9.C: New test.
17035
17036 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
17037
17038 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
17039 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
17040 texts according to their @menu entry positions.
17041
17042 2014-05-11 Jakub Jelinek <jakub@redhat.com>
17043
17044 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
17045 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
17046 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
17047 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
17048 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
17049 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
17050 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
17051 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
17052 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
17053 * testsuite/libgomp.fortran/depend-1.f90: New test.
17054 * testsuite/libgomp.fortran/depend-2.f90: New test.
17055 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
17056 * testsuite/libgomp.fortran/simd1.f90: New test.
17057 * testsuite/libgomp.fortran/simd2.f90: New test.
17058 * testsuite/libgomp.fortran/simd3.f90: New test.
17059 * testsuite/libgomp.fortran/simd4.f90: New test.
17060 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
17061
17062 2014-05-02 Jakub Jelinek <jakub@redhat.com>
17063
17064 * testsuite/libgomp.c/simd-10.c: New test.
17065 * testsuite/libgomp.c/simd-11.c: New test.
17066 * testsuite/libgomp.c/simd-12.c: New test.
17067 * testsuite/libgomp.c/simd-13.c: New test.
17068
17069 2014-04-24 Jakub Jelinek <jakub@redhat.com>
17070
17071 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
17072 atomic type clauses in any order and optional comma in between.
17073 * testsuite/libgomp.c++/atomic-15.C: Likewise.
17074 * testsuite/libgomp.c/atomic-17.c: Likewise.
17075
17076 * testsuite/libgomp.c/simd-7.c: New test.
17077 * testsuite/libgomp.c/simd-8.c: New test.
17078 * testsuite/libgomp.c/simd-9.c: New test.
17079 * testsuite/libgomp.c/loop-16.c: New test.
17080
17081 2014-04-02 Richard Henderson <rth@redhat.com>
17082
17083 * config/linux/futex.h (futex_wait): Get error value from errno.
17084 (futex_wake): Likewise.
17085
17086 2014-03-25 Jakub Jelinek <jakub@redhat.com>
17087
17088 PR c++/60331
17089 * testsuite/libgomp.c++/udr-11.C: New test.
17090 * testsuite/libgomp.c++/udr-12.C: New test.
17091 * testsuite/libgomp.c++/udr-13.C: New test.
17092 * testsuite/libgomp.c++/udr-14.C: New test.
17093 * testsuite/libgomp.c++/udr-15.C: New test.
17094 * testsuite/libgomp.c++/udr-16.C: New test.
17095 * testsuite/libgomp.c++/udr-17.C: New test.
17096 * testsuite/libgomp.c++/udr-18.C: New test.
17097 * testsuite/libgomp.c++/udr-19.C: New test.
17098
17099 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17100
17101 Update copyright years
17102
17103 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17104
17105 * hashtab.h: Use the standard form for the copyright notice.
17106
17107 2014-01-02 Tobias Burnus <burnus@net-b.de>
17108
17109 * libgomp.texi: Bump @copying's copyright year.
17110
17111 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
17112
17113 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
17114 alloca () with __builtin_alloca ().
17115 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
17116 * testsuite/libgomp.c/lock-3.c: Likewise.
17117 * testsuite/libgomp.c/pr48591.c: Likewise.
17118
17119 2013-12-17 Jakub Jelinek <jakub@redhat.com>
17120
17121 PR testsuite/59534
17122 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
17123 comparisons.
17124
17125 2013-12-16 Jakub Jelinek <jakub@redhat.com>
17126
17127 PR libgomp/58756
17128 * testsuite/libgomp.c/pr58756.c: New test.
17129
17130 2013-12-12 Jakub Jelinek <jakub@redhat.com>
17131
17132 PR libgomp/59467
17133 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17134 !$omp parallel.
17135
17136 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
17137
17138 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17139 ALWAYS_CFLAGS.
17140 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17141 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17142 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17143 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17144 Likewise.
17145
17146 * libgomp_g.h: Include <stddef.h> for size_t.
17147
17148 * libgomp.spec.in: Update comment about libgomp's dependencies.
17149 * configure.ac: Likewise.
17150 * configure: Regenerate.
17151
17152 2013-10-16 Tobias Burnus <burnus@net-b.de>
17153
17154 * libgomp.texi: (Runtime Library Routines): Update references for
17155 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17156 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17157 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17158 (Environment Variables): Update references for OpenMP 4.0. Add
17159 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17160 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17161 order.
17162
17163 2013-10-14 Jakub Jelinek <jakub@redhat.com>
17164
17165 * env.c (parse_bind_var): Initialize value to avoid
17166 (false positive) warning.
17167
17168 2013-10-12 Jakub Jelinek <jakub@redhat.com>
17169
17170 PR libgomp/58691
17171 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17172 to check variable.
17173 (gomp_init_num_threads): Move i variable declaration into
17174 #ifdef CPU_ALLOC_SIZE block.
17175 * config/linux/affinity.c (gomp_affinity_init_level): Test
17176 gomp_places_list_len == 0 rather than gomp_places_list == 0
17177 when checking for topology reading error.
17178 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17179 * env.c (parse_affinity): Add ignore argument, if true, don't populate
17180 gomp_places_list, only parse env var and always return false.
17181 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
17182 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17183 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17184 and either of these variables were parsed correctly into a places
17185 list.
17186
17187 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17188 Jakub Jelinek <jakub@redhat.com>
17189
17190 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17191 of 5 loopfn matches.
17192 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17193 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17194 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17195 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17196 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17197 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17198 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17199 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17200
17201 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17202
17203 * Makefile.am (omp_lib.mod): Streamline rule.
17204 * Makefile.in: Regenerate.
17205
17206 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17207 exceptions.
17208
17209 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17210 * testsuite/libgomp.fortran/lib1.f90: Likewise.
17211 * testsuite/libgomp.fortran/lib2.f: Likewise.
17212 * testsuite/libgomp.fortran/lib3.f: Likewise.
17213
17214 * configure.ac: Typo fix.
17215 * configure: Regenerate.
17216
17217 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17218 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17219
17220 * omp.h.in: Don't touch the user's namespace.
17221
17222 2013-10-11 Jakub Jelinek <jakub@redhat.com>
17223 Tobias Burnus <burnus@net-b.de>
17224 Richard Henderson <rth@redhat.com>
17225
17226 * target.c: New file.
17227 * Makefile.am (libgomp_la_SOURCES): Add target.c.
17228 * Makefile.in: Regenerated.
17229 * libgomp_g.h (GOMP_task): Add depend argument.
17230 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17231 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17232 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17233 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17234 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17235 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17236 GOMP_taskgroup_start, GOMP_taskgroup_end,
17237 GOMP_parallel_sections): New prototypes.
17238 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17239 (omp_is_initial_device_): New function.
17240 (ULP, STR1, STR2, ialias_redirect): Removed.
17241 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17242 omp_set_default_device_8_, omp_get_default_device_,
17243 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17244 functions.
17245 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17246 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17247 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17248 @@GOMP_4.0.
17249 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17250 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17251 omp_set_default_device, omp_set_default_device_,
17252 omp_set_default_device_8_, omp_get_default_device,
17253 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17254 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17255 omp_get_team_num_): Export @@OMP_4.0.
17256 * team.c (struct gomp_thread_start_data): Add place field.
17257 (gomp_thread_start): Clear thr->thread_pool and
17258 thr->task before returning. Use gomp_team_barrier_wait_final
17259 instead of gomp_team_barrier_wait. Initialize thr->place.
17260 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17261 team_cancelled and task_queued_count fields.
17262 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17263 before calling pthread_exit.
17264 (gomp_free_thread): No longer static. Use
17265 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17266 (gomp_team_start): Add flags argument. Set
17267 thr->thread_pool->threads_busy to nthreads immediately after creating
17268 new pool. Use gomp_managed_threads_lock instead of
17269 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17270 (gomp_team_end): Use gomp_managed_threads_lock instead of
17271 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17272 of gomp_team_barrier_wait. If team->team_cancelled, call
17273 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
17274 rather than thr->ts.work_share.
17275 (initialize_team): Don't call gomp_sem_init here.
17276 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17277 caller.
17278 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17279 * env.c (gomp_global_icv): Add default_device_var, target_data and
17280 bind_var initializers.
17281 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17282 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17283 gomp_places_list_len): New variables.
17284 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17285 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17286 sized places.
17287 (gomp_cancel_var): New global variable.
17288 (parse_int): New function.
17289 (handle_omp_display_env): New function.
17290 (initialize_env): Use it. Initialize default_device_var.
17291 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17292 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17293 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17294 been successfully parsed (and call gomp_init_affinity in that case).
17295 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17296 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17297 omp_get_team_num, omp_is_initial_device): New functions.
17298 * libgomp.h: Include stdlib.h.
17299 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17300 Define.
17301 (struct target_mem_desc): Forward declare.
17302 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17303 and thread_limit_var fields.
17304 (gomp_get_num_devices): New prototype.
17305 (gomp_cancel_var): New extern decl.
17306 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17307 team_cancelled and task_queued_count fields. Add comments about
17308 task_{,queued_,running_}count.
17309 (gomp_cancel_kind): New enum.
17310 (gomp_work_share_end_cancel): New prototype.
17311 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17312 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17313 and depend fields.
17314 (struct gomp_taskgroup): New type.
17315 (struct gomp_task_depend_entry,
17316 struct gomp_dependers_vec): New types.
17317 (gomp_finish_task): Free depend_hash if non-NULL.
17318 (struct gomp_team_state): Add place_partition_off
17319 and place_partition_len fields.
17320 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17321 gomp_places_list_len): New extern decls.
17322 (struct gomp_thread): Add place field.
17323 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17324 (gomp_init_thread_affinity): Add place argument.
17325 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17326 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17327 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17328 gomp_affinity_init_level, gomp_affinity_print_place): New
17329 prototypes.
17330 (gomp_team_start): Add flags argument.
17331 (gomp_thread_limit_var, gomp_remaining_threads_count,
17332 gomp_remaining_threads_lock): Remove.
17333 (gomp_managed_threads_lock): New variable.
17334 (struct gomp_thread_pool): Add threads_busy field.
17335 (gomp_free_thread): New prototype.
17336 * task.c: Include hashtab.h.
17337 (hash_entry_type): New typedef.
17338 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17339 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17340 copy_ctors_done and taskgroup fields.
17341 (GOMP_task): Add depend argument, handle depend clauses. If
17342 gomp_team_barrier_cancelled or if it's taskgroup has been
17343 cancelled, don't queue or start new tasks. Set copy_ctors_done
17344 field if needed. Initialize taskgroup field. If copy_ctors_done
17345 and already cancelled, don't discard the task. If taskgroup is
17346 non-NULL, enqueue the task into taskgroup queue. Increment
17347 num_children field in taskgroup. Increment task_queued_count.
17348 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17349 gomp_task_run_post_remove_taskgroup): New inline functions.
17350 (gomp_task_run_post_handle_depend_hash,
17351 gomp_task_run_post_handle_dependers,
17352 gomp_task_run_post_handle_depend): New functions.
17353 (GOMP_taskwait): Use them. If more than one new tasks
17354 have been queued, wake other threads if needed.
17355 (gomp_barrier_handle_tasks): Likewise. If
17356 gomp_team_barrier_cancelled, don't start any new tasks, just free
17357 all tasks.
17358 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17359 * omp_lib.f90.in
17360 (omp_proc_bind_kind, omp_proc_bind_false,
17361 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17362 omp_proc_bind_spread): New params.
17363 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17364 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17365 omp_get_team_num, omp_is_initial_device): New interfaces.
17366 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17367 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17368 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17369 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17370 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17371 useless use omp_lib_kinds.
17372 * omp.h.in (omp_proc_bind_t): New typedef.
17373 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17374 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17375 omp_get_team_num, omp_is_initial_device): New prototypes.
17376 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17377 through to gomp_team_start.
17378 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17379 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17380 Adjust gomp_parallel_loop_start callers.
17381 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17382 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17383 GOMP_loop_end_cancel): New functions.
17384 (GOMP_parallel_end): Add ialias_redirect.
17385 * hashtab.h: New file.
17386 * libgomp.texi (Environment Variables): Minor cleanup,
17387 update section refs to OpenMP 4.0rc2.
17388 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17389 environment variables.
17390 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17391 team->work_shares_to_free to thr->ts.work_share before calling
17392 free_work_share.
17393 (gomp_work_share_end_cancel): New function.
17394 * config/linux/proc.c: Include errno.h.
17395 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17396 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17397 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17398 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17399 gomp_cpuset_size is sizeof (cpu_set_t).
17400 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17401 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17402 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17403 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17404 contain any logical CPUs.
17405 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17406 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17407 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17408 pthread_getaffinity_np. Check gomp_places_list instead of
17409 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17410 * config/linux/bar.c (gomp_barrier_wait_end,
17411 gomp_barrier_wait_last): Use BAR_* defines.
17412 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17413 from state where needed. Set work_share_cancelled to 0 on last
17414 thread.
17415 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17416 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17417 functions.
17418 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17419 Add cpusetsize argument.
17420 (gomp_cpuset_size, gomp_cpusetp): Declare.
17421 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17422 (affinity_counter): Remove.
17423 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17424 if CPU_ALLOC_SIZE isn't defined.
17425 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17426 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17427 bind current thread to the first place.
17428 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17429 pthread_setaffinity_np to gomp_places_list[place].
17430 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17431 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17432 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17433 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17434 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17435 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17436 (gomp_barrier_t): Add awaited_final field.
17437 (gomp_barrier_init): Initialize awaited_final field.
17438 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17439 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17440 prototypes.
17441 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17442 defines.
17443 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17444 gomp_team_barrier_cancelled): New inline functions.
17445 (gomp_barrier_last_thread,
17446 gomp_team_barrier_set_task_pending,
17447 gomp_team_barrier_clear_task_pending,
17448 gomp_team_barrier_set_waiting_for_tasks,
17449 gomp_team_barrier_waiting_for_tasks,
17450 gomp_team_barrier_done): Use BAR_* defines.
17451 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17452 (gomp_barrier_wait_end): Use BAR_* defines.
17453 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17454 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17455 Use BAR_* defines.
17456 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17457 gomp_team_barrier_cancel): New functions.
17458 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17459 argument.
17460 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17461 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17462 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17463 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17464 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17465 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17466 (gomp_barrier_t): Add cancellable field.
17467 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17468 gomp_team_barrier_cancel): New prototypes.
17469 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17470 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17471 gomp_team_barrier_cancelled): New inline functions.
17472 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17473 gomp_team_barrier_set_task_pending,
17474 gomp_team_barrier_clear_task_pending,
17475 gomp_team_barrier_set_waiting_for_tasks,
17476 gomp_team_barrier_waiting_for_tasks,
17477 gomp_team_barrier_done): Use BAR_* defines.
17478 * barrier.c (GOMP_barrier_cancel): New function.
17479 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17480 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17481 omp_proc_bind_spread): New params.
17482 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17483 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17484 omp_get_team_num, omp_is_initial_device): New externals.
17485 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17486 New functions.
17487 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17488 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17489 infinity. If not nested, just return minimum of max_num_threads
17490 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17491 to the returned value. Otherwise, don't update atomically
17492 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17493 (GOMP_parallel_end): Adjust for thread_limit now being in
17494 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17495 infinity. Adjust threads_busy in the pool rather than
17496 gomp_remaining_threads_count. Remember team->nthreads and call
17497 gomp_team_end before adjusting threads_busy, if not nested
17498 afterwards, just set it to 1 non-atomically. Add ialias.
17499 (GOMP_parallel_start): Adjust gomp_team_start caller.
17500 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17501 * testsuite/libgomp.c/affinity-1.c: New test.
17502 * testsuite/libgomp.c/atomic-15.c: New test.
17503 * testsuite/libgomp.c/atomic-16.c: New test.
17504 * testsuite/libgomp.c/atomic-17.c: New test.
17505 * testsuite/libgomp.c/cancel-for-1.c: New test.
17506 * testsuite/libgomp.c/cancel-for-2.c: New test.
17507 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17508 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17509 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17510 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17511 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17512 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17513 * testsuite/libgomp.c/depend-1.c: New test.
17514 * testsuite/libgomp.c/depend-2.c: New test.
17515 * testsuite/libgomp.c/depend-3.c: New test.
17516 * testsuite/libgomp.c/depend-4.c: New test.
17517 * testsuite/libgomp.c/for-1.c: New test.
17518 * testsuite/libgomp.c/for-1.h: New file.
17519 * testsuite/libgomp.c/for-2.c: New test.
17520 * testsuite/libgomp.c/for-2.h: New file.
17521 * testsuite/libgomp.c/for-3.c: New test.
17522 * testsuite/libgomp.c/pr58392.c: New test.
17523 * testsuite/libgomp.c/simd-1.c: New test.
17524 * testsuite/libgomp.c/simd-2.c: New test.
17525 * testsuite/libgomp.c/simd-3.c: New test.
17526 * testsuite/libgomp.c/simd-4.c: New test.
17527 * testsuite/libgomp.c/simd-5.c: New test.
17528 * testsuite/libgomp.c/simd-6.c: New test.
17529 * testsuite/libgomp.c/target-1.c: New test.
17530 * testsuite/libgomp.c/target-2.c: New test.
17531 * testsuite/libgomp.c/target-3.c: New test.
17532 * testsuite/libgomp.c/target-4.c: New test.
17533 * testsuite/libgomp.c/target-5.c: New test.
17534 * testsuite/libgomp.c/target-6.c: New test.
17535 * testsuite/libgomp.c/target-7.c: New test.
17536 * testsuite/libgomp.c/taskgroup-1.c: New test.
17537 * testsuite/libgomp.c/thread-limit-1.c: New test.
17538 * testsuite/libgomp.c/thread-limit-2.c: New test.
17539 * testsuite/libgomp.c/thread-limit-3.c: New test.
17540 * testsuite/libgomp.c/udr-1.c: New test.
17541 * testsuite/libgomp.c/udr-2.c: New test.
17542 * testsuite/libgomp.c/udr-3.c: New test.
17543 * testsuite/libgomp.c++/affinity-1.C: New test.
17544 * testsuite/libgomp.c++/atomic-10.C: New test.
17545 * testsuite/libgomp.c++/atomic-11.C: New test.
17546 * testsuite/libgomp.c++/atomic-12.C: New test.
17547 * testsuite/libgomp.c++/atomic-13.C: New test.
17548 * testsuite/libgomp.c++/atomic-14.C: New test.
17549 * testsuite/libgomp.c++/atomic-15.C: New test.
17550 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17551 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17552 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17553 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17554 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17555 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17556 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17557 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17558 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17559 * testsuite/libgomp.c++/cancel-test.h: New file.
17560 * testsuite/libgomp.c++/for-9.C: New test.
17561 * testsuite/libgomp.c++/for-10.C: New test.
17562 * testsuite/libgomp.c++/for-11.C: New test.
17563 * testsuite/libgomp.c++/simd-1.C: New test.
17564 * testsuite/libgomp.c++/simd-2.C: New test.
17565 * testsuite/libgomp.c++/simd-3.C: New test.
17566 * testsuite/libgomp.c++/simd-4.C: New test.
17567 * testsuite/libgomp.c++/simd-5.C: New test.
17568 * testsuite/libgomp.c++/simd-6.C: New test.
17569 * testsuite/libgomp.c++/simd-7.C: New test.
17570 * testsuite/libgomp.c++/simd-8.C: New test.
17571 * testsuite/libgomp.c++/target-1.C: New test.
17572 * testsuite/libgomp.c++/target-2.C: New test.
17573 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17574 * testsuite/libgomp.c++/target-3.C: New test.
17575 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17576 * testsuite/libgomp.c++/udr-1.C: New test.
17577 * testsuite/libgomp.c++/udr-2.C: New test.
17578 * testsuite/libgomp.c++/udr-3.C: New test.
17579 * testsuite/libgomp.c++/udr-4.C: New test.
17580 * testsuite/libgomp.c++/udr-5.C: New test.
17581 * testsuite/libgomp.c++/udr-6.C: New test.
17582 * testsuite/libgomp.c++/udr-7.C: New test.
17583 * testsuite/libgomp.c++/udr-8.C: New test.
17584 * testsuite/libgomp.c++/udr-9.C: New test.
17585
17586 2013-09-20 Jakub Jelinek <jakub@redhat.com>
17587
17588 PR testsuite/57605
17589 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17590 ALWAYS_CFLAGS.
17591
17592 2013-09-20 Alan Modra <amodra@gmail.com>
17593
17594 * configure: Regenerate.
17595
17596 2013-09-19 Jakub Jelinek <jakub@redhat.com>
17597
17598 * testsuite/libgomp.c/sections-2.c: New test.
17599
17600 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17601
17602 * testsuite/libgomp.fortran/strassen.f90:
17603 Add dg-skip-if aarch64_tiny.
17604
17605 2013-06-20 Iain Sandoe <iain@codesourcery.com>
17606 Cesar Philippidis <cesar@codesourcery.com>
17607
17608 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17609 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17610 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17611 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17612 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17613 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17614 Use dg-runtest rather than gfortran-dg-runtest.
17615
17616 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17617
17618 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17619 Linux-based x86 systems to cover all GNU systems.
17620 * testsuite/libgomp.c/lock-3.c: Likewise.
17621 * testsuite/libgomp.c/pr48591.c: Likewise.
17622
17623 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17624
17625 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17626 GNU/Hurd, as done for Linux-based systems.
17627
17628 * config/posix/ptrlock.h: Fix comment.
17629
17630 2013-05-27 Tobias Burnus <burnus@net-b.de>
17631
17632 PR fortran/57423
17633 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17634 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17635 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17636 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17637 omp_destroy_nest_lock): Correct arguments to match the one in
17638 the OpenMP spec.
17639 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17640 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17641 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17642 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17643
17644 2013-05-16 Jakub Jelinek <jakub@redhat.com>
17645
17646 * testsuite/libgomp.c/loop-13.c: New test.
17647 * testsuite/libgomp.c/loop-14.c: New test.
17648 * testsuite/libgomp.c/loop-15.c: New test.
17649 * testsuite/libgomp.c++/loop-13.C: New test.
17650 * testsuite/libgomp.c++/loop-14.C: New test.
17651 * testsuite/libgomp.c++/loop-15.C: New test.
17652
17653 2013-02-06 Jakub Jelinek <jakub@redhat.com>
17654
17655 PR middle-end/56217
17656 * testsuite/libgomp.c++/pr56217.C: New test.
17657
17658 2013-02-01 Alan Modra <amodra@gmail.com>
17659
17660 * task.c (GOMP_task, GOMP_taskwait): Comment.
17661
17662 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17663 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17664
17665 PR libgomp/55561
17666 * config/linux/wait.h (do_spin): Use atomic load for addr.
17667 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17668 for intptr and ptrlock.
17669 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17670 for ptrlock.
17671
17672 2013-01-22 Alan Modra <amodra@gmail.com>
17673
17674 PR libgomp/51376
17675 PR libgomp/56073
17676 * task.c (GOMP_task): Revert 2011-12-09 change.
17677 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17678 barrier to read task->children..
17679 (gomp_barrier_handle_tasks): ..and matching atomic store with
17680 release barrier here when setting parent->children to NULL.
17681
17682 2013-01-16 Jakub Jelinek <jakub@redhat.com>
17683 Tobias Burnus <burnus@net-b.de>
17684
17685 PR driver/55884
17686 * testsuite/libgomp.fortran/fortran.exp: Use
17687 -fintrinsic-modules-path= instead of
17688 -fintrinsic-modules-path.
17689
17690 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17691
17692 Update copyright years.
17693
17694 2012-12-19 Tobias Burnus <burnus@net-b.de>
17695
17696 * testsuite/libgomp.fortran/fortran.exp: Set
17697 -fintrinsic-modules-path.
17698
17699 2012-12-19 Tobias Burnus <burnus@net-b.de>
17700
17701 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17702 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17703
17704 2012-11-21 Jakub Jelinek <jakub@redhat.com>
17705
17706 PR libgomp/55411
17707 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17708 if pool had any threads_used.
17709
17710 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17711
17712 * testsuite/libgomp.c++/pr24455.C: Use
17713 -Wl,-undefined,dynamic_lookup on darwin.
17714
17715 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
17716
17717 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17718
17719 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17720
17721 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17722
17723 2012-10-23 Ian Bolton <ian.bolton@arm.com>
17724 Jim MacArthur <jim.macarthur@arm.com>
17725 Marcus Shawcroft <marcus.shawcroft@arm.com>
17726 Nigel Stephens <nigel.stephens@arm.com>
17727 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17728 Richard Earnshaw <rearnsha@arm.com>
17729 Sofiane Naci <sofiane.naci@arm.com>
17730 Stephen Thomas <stephen.thomas@arm.com>
17731 Tejas Belagod <tejas.belagod@arm.com>
17732 Yufeng Zhang <yufeng.zhang@arm.com>
17733
17734 * configure.tgt: Add AArch64.
17735
17736 2012-10-04 Jason Merrill <jason@redhat.com>
17737
17738 * testsuite/libgomp.c++/tls-init1.C: New.
17739
17740 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
17741
17742 * configure: Regenerated.
17743
17744 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17745
17746 * config/linux/mips/futex.h (sys_futex0): Change to static
17747 function with noinline, nomips16 attributes under MIPS16. Adjust
17748 asm statement to place 'li v0,SYS_futex' immediately before
17749 syscall insn.
17750
17751 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17752
17753 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17754 conflict with index.html on case-insensitive file systems.
17755
17756 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
17757
17758 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17759 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17760
17761 2012-07-02 Richard Guenther <rguenther@suse.de>
17762 Michael Matz <matz@suse.de>
17763 Tobias Grosser <tobias@grosser.es>
17764 Sebastian Pop <sebpop@gmail.com>
17765
17766 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17767 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17768 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17769 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17770
17771 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17772
17773 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17774
17775 2012-06-22 Richard Guenther <rguenther@suse.de>
17776
17777 Merge from graphite branch
17778 2012-01-13 Tobias Grosser <tobias@grosser.es>
17779
17780 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17781 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17782
17783 2012-06-07 Jakub Jelinek <jakub@redhat.com>
17784
17785 PR middle-end/53580
17786 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17787 use GOMP_barrier () call instead.
17788 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17789 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17790 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17791 call GOMP_barrier instead.
17792 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17793
17794 2012-06-06 Jakub Jelinek <jakub@redhat.com>
17795
17796 PR libgomp/52993
17797 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17798 argument to memset call.
17799
17800 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17801
17802 * configure: Regenerated.
17803
17804 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17805
17806 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17807
17808 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17809
17810 PR bootstrap/52812
17811 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17812
17813 2012-03-22 Jakub Jelinek <jakub@redhat.com>
17814
17815 PR middle-end/52547
17816 * testsuite/libgomp.c/pr52547.c: New test.
17817
17818 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17819
17820 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17821
17822 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17823
17824 * configure.tgt (mips-sgi-irix6*): Remove.
17825
17826 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17827
17828 * configure.tgt (alpha*-dec-osf*): Remove.
17829
17830 * config/osf/sem.h: Remove.
17831 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17832
17833 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17834
17835 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17836
17837 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17838
17839 PR libstdc++/52188
17840 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17841 Remove ENABLE_SYMVERS_SOL2.
17842 * configure: Regenerate.
17843 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17844 (PREPROCESS): New variable.
17845 (libgomp.ver): New target.
17846 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17847 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17848 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17849 Use libgomp.ver.
17850 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17851 * Makefile.in: Regenerate.
17852
17853 2012-02-14 Walter Lee <walt@tilera.com>
17854
17855 * configure.tgt: Handle tilegx and tilepro.
17856 * config/linux/tile/futex.h: New file.
17857
17858 2012-02-08 Richard Guenther <rguenther@suse.de>
17859
17860 PR tree-optimization/46886
17861 * testsuite/libgomp.c/pr46886.c: New testcase.
17862
17863 2012-01-25 Matthias Klose <doko@ubuntu.com>
17864
17865 * config/linux/arm: Remove empty directory.
17866 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17867
17868 2011-12-09 Alan Modra <amodra@gmail.com>
17869
17870 PR libgomp/51376
17871 * task.c (GOMP_taskwait): Don't access task->children outside of
17872 task_lock mutex region.
17873 (GOMP_task): Likewise.
17874
17875 2011-12-06 Jakub Jelinek <jakub@redhat.com>
17876
17877 PR libgomp/51132
17878 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17879 to file scope.
17880 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17881 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17882 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17883 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17884 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17885
17886 2011-12-02 Alan Modra <amodra@gmail.com>
17887
17888 * config/linux/affinity.c: Use atomic rather than sync builtin.
17889 * config/linux/lock.c: Likewise.
17890 * config/linux/ptrlock.h: Likewise.
17891 * config/linux/ptrlock.c: Likewise.
17892 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17893 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17894 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17895 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17896 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17897 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17898 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17899 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17900 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17901 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17902
17903 2011-11-30 Alan Modra <amodra@gmail.com>
17904
17905 PR libgomp/51298
17906 * config/linux/bar.h: Use atomic rather than sync builtins.
17907 * config/linux/bar.c: Likewise. Add missing acquire
17908 synchronisation on generation field.
17909 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17910 double unlock.
17911
17912 2011-11-30 Alan Modra <amodra@gmail.com>
17913
17914 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17915 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17916 * config/linux/mutex.h: Use atomic rather than sync builtins.
17917 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
17918 * config/linux/omp-lock.h: Comment fix.
17919 * config/linux/arm/mutex.h: Delete.
17920 * config/linux/powerpc/mutex.h: Delete.
17921 * config/linux/ia64/mutex.h: Delete.
17922 * config/linux/mips/mutex.h: Delete.
17923
17924 2011-11-30 Alan Modra <amodra@gmail.com>
17925
17926 PR libgomp/51249
17927 * config/linux/sem.h: Rewrite.
17928 * config/linux/sem.c: Rewrite.
17929
17930 2011-11-28 Richard Henderson <rth@redhat.com>
17931
17932 * libgomp.h (enum memmodel): New.
17933
17934 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
17935
17936 * configure: Regenerate.
17937
17938 2011-10-10 Matthias Klose <doko@ubuntu.com>
17939
17940 * config/posix95: Remove empty directory.
17941
17942 2011-08-26 Jakub Jelinek <jakub@redhat.com>
17943
17944 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17945
17946 2011-08-19 Jakub Jelinek <jakub@redhat.com>
17947
17948 PR fortran/49792
17949 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17950 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17951
17952 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17953
17954 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17955
17956 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17957
17958 PR libgomp/49965
17959 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17960
17961 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
17962
17963 * config/linux/proc.h: New.
17964 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
17965 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
17966 (gomp_init_num_threads): Update call to cpuset_popcount.
17967 (get_num_procs): Ditto.
17968 * config/linux/affinity.c (gomp_init_affinity): Call
17969 gomp_cpuset_popcount.
17970
17971 2011-08-02 Jakub Jelinek <jakub@redhat.com>
17972
17973 PR fortran/42041
17974 PR fortran/46752
17975 * omp.h.in (omp_in_final): New prototype.
17976 * omp_lib.f90.in (omp_in_final): New interface.
17977 (omp_integer_kind, omp_logical_kind): Remove
17978 and replace all its uses in the module with 4.
17979 (openmp_version): Change to 201107.
17980 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17981 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17982 kind for the parameters.
17983 (omp_in_final): New external.
17984 (openmp_version): Change to 201107.
17985 * task.c (omp_in_final): New function.
17986 (gomp_init_task): Initialize final_task.
17987 (GOMP_task): Remove unused attribute from flags. Handle final
17988 tasks.
17989 (GOMP_taskyield): New function.
17990 (omp_in_final): Return true if if (false) or final (true) task
17991 or descendant of final (true).
17992 * fortran.c (omp_in_final_): New function.
17993 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17994 (GOMP_3.0): Export GOMP_taskyield.
17995 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17996 variables.
17997 (parse_unsigned_long_list): New function.
17998 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
17999 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
18000 even if parse_affinity returned false.
18001 * config/linux/affinity.c (gomp_init_affinity): Handle
18002 gomp_cpu_affinity_len == 0.
18003 * libgomp_g.h (GOMP_taskyield): New prototype.
18004 * libgomp.h (struct gomp_task): Add final_task field.
18005 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
18006 * team.c (gomp_team_start): Override new task's nthreads_var icv
18007 if list form OMP_NUM_THREADS has been used and it has value for
18008 the new nesting level.
18009
18010 * testsuite/libgomp.c/atomic-11.c: New test.
18011 * testsuite/libgomp.c/atomic-12.c: New test.
18012 * testsuite/libgomp.c/atomic-13.c: New test.
18013 * testsuite/libgomp.c/atomic-14.c: New test.
18014 * testsuite/libgomp.c/reduction-6.c: New test.
18015 * testsuite/libgomp.c/task-5.c: New test.
18016 * testsuite/libgomp.c++/atomic-2.C: New test.
18017 * testsuite/libgomp.c++/atomic-3.C: New test.
18018 * testsuite/libgomp.c++/atomic-4.C: New test.
18019 * testsuite/libgomp.c++/atomic-5.C: New test.
18020 * testsuite/libgomp.c++/atomic-6.C: New test.
18021 * testsuite/libgomp.c++/atomic-7.C: New test.
18022 * testsuite/libgomp.c++/atomic-8.C: New test.
18023 * testsuite/libgomp.c++/atomic-9.C: New test.
18024 * testsuite/libgomp.c++/task-8.C: New test.
18025 * testsuite/libgomp.c++/reduction-4.C: New test.
18026 * testsuite/libgomp.fortran/allocatable7.f90: New test.
18027 * testsuite/libgomp.fortran/allocatable8.f90: New test.
18028 * testsuite/libgomp.fortran/crayptr3.f90: New test.
18029 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
18030 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
18031 * testsuite/libgomp.fortran/pointer1.f90: New test.
18032 * testsuite/libgomp.fortran/pointer2.f90: New test.
18033 * testsuite/libgomp.fortran/task4.f90: New test.
18034
18035 2011-08-02 Tobias Burnus <burnus@net-b.de>
18036
18037 * libgomp.texi: Update OpenMP spec references to 3.1.
18038 (omp_in_final,OMP_PROC_BIND): New sections.
18039 (OMP_NUM_THREADS): Document that the value can be now a list.
18040 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
18041
18042 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
18043
18044 * config/linux/x86/futex.h: Check __x86_64__ instead of
18045 __LP64__.
18046
18047 2011-07-29 Jakub Jelinek <jakub@redhat.com>
18048
18049 PR middle-end/49897
18050 PR middle-end/49898
18051 * testsuite/libgomp.c/pr49897-1.c: New test.
18052 * testsuite/libgomp.c/pr49897-2.c: New test.
18053 * testsuite/libgomp.c/pr49898-1.c: New test.
18054 * testsuite/libgomp.c/pr49898-2.c: New test.
18055
18056 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
18057
18058 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
18059 for ia32 instead of ilp32.
18060
18061 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
18062 * testsuite/libgomp.c/atomic-6.c: Likewise.
18063
18064 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
18065
18066 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
18067 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
18068
18069 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18070
18071 PR libgomp/45351
18072 * config/osf/sem.h: New file.
18073 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
18074
18075 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18076
18077 PR target/49541
18078 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
18079 ldflags.
18080
18081 2011-07-15 Jakub Jelinek <jakub@redhat.com>
18082
18083 * config/linux/wait.h (do_spin): New inline, largely copied
18084 from do_wait, just don't do futex_wait here, instead return true if
18085 it should be done.
18086 (do_wait): Implement using do_spin.
18087 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
18088 to prototype.
18089 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18090 __sync_bool_compare_and_swap, pass the oldval to
18091 gomp_mutex_lock_slow.
18092 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
18093 If all mutex contenders are just spinning and not sleeping, don't
18094 change state to 2 unnecessarily. Optimize the loop when state has
18095 already become 2 to use just one atomic operation per loop instead
18096 of two.
18097 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
18098 to prototype.
18099 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18100 __sync_bool_compare_and_swap, pass the oldval to
18101 gomp_mutex_lock_slow.
18102
18103 2011-06-22 Jakub Jelinek <jakub@redhat.com>
18104
18105 PR libgomp/49490
18106 * iter.c (gomp_iter_static_next): For chunk size 0
18107 only use n ceil/ nthreads size for the first
18108 n % nthreads threads in the team instead of
18109 all threads except for the last few ones which
18110 get less work or none at all.
18111 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
18112 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
18113 chunk argument, set run_sched_modifier to 0 for static
18114 resp. 1 for other kinds. If chunk argument is 0
18115 and not static, set value to 1.
18116
18117 2011-05-19 Jakub Jelinek <jakub@redhat.com>
18118
18119 PR c++/49043
18120 * testsuite/libgomp.c++/pr49043.C: New test.
18121
18122 PR c++/48869
18123 * testsuite/libgomp.c++/pr48869.C: New test.
18124
18125 2011-05-06 Jakub Jelinek <jakub@redhat.com>
18126
18127 PR fortran/48894
18128 * fortran.c: Include limits.h.
18129 (TO_INT): Define.
18130 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
18131 *set.
18132 (omp_set_num_threads_8_, omp_set_schedule_8_,
18133 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18134 omp_get_team_size_8_): Use TO_INT macro.
18135 * testsuite/libgomp.fortran/pr48894.f90: New test.
18136
18137 2011-04-13 Jakub Jelinek <jakub@redhat.com>
18138
18139 PR middle-end/48591
18140 * testsuite/libgomp.c/pr48591.c: New test.
18141
18142 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18143
18144 PR bootstrap/48135
18145 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18146 * configure: Regenerate.
18147
18148 2011-02-27 Jakub Jelinek <jakub@redhat.com>
18149
18150 PR fortran/47886
18151 * testsuite/libgomp.fortran/task3.f90: New test.
18152
18153 2011-02-24 Tobias Burnus <burnus@net-b.de>
18154
18155 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18156
18157 2011-02-23 Jakub Jelinek <jakub@redhat.com>
18158
18159 PR libgomp/47854
18160 * libgomp.texi (omp_get_wtime): Don't say time in the past
18161 must be Unix Epoch.
18162
18163 2011-02-18 Jakub Jelinek <jakub@redhat.com>
18164
18165 PR libgomp/47804
18166 * testsuite/libgomp.fortran/fortran.exp: Check for both
18167 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
18168 but $blddir != "", still append ${blddir}/${lang_library_path}
18169 to ld_library_path.
18170
18171 2011-02-16 Tobias Burnus <burnus@net-b.de>
18172
18173 PR libgomp/47758
18174 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18175 of libquadmath.a before adding its libpath to ldflags.
18176
18177 2011-02-14 Jakub Jelinek <jakub@redhat.com>
18178
18179 PR libgomp/47731
18180 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18181 to FUTEX_WAIT futex syscall.
18182 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18183
18184 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18185
18186 * configure: Regenerate.
18187
18188 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
18189
18190 PR libstdc++/36104
18191 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18192
18193 2011-01-16 Gerald Pfeifer
18194
18195 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18196
18197 2010-12-14 Jakub Jelinek <jakub@redhat.com>
18198
18199 PR fortran/46874
18200 * libgomp.fortran/allocatable6.f90: New test.
18201
18202 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18203
18204 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18205 * configure: Regenerate.
18206
18207 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
18208
18209 PR target/40125
18210 PR lto/46695
18211 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18212 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18213 * aclocal.m4: Regenerate.
18214 * configure: Regenerate.
18215 * Makefile.in: Regenerate.
18216 * testsuite/Makefile.in: Regenerate.
18217
18218 2010-12-02 Jakub Jelinek <jakub@redhat.com>
18219
18220 PR fortran/46753
18221 * libgomp.fortran/pr46753.f90: New test.
18222
18223 PR libgomp/43706
18224 * env.c (initialize_env): Default to spin count 300000
18225 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18226 is specified.
18227
18228 PR libgomp/45240
18229 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18230 at the end if sync builtins aren't supported.
18231
18232 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18233
18234 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18235
18236 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18237
18238 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18239
18240 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18241
18242 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18243
18244 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18245 Tobias Burnus <burnus@net-b.de>
18246
18247 PR fortran/32049
18248 * configure.ac:
18249 * configure: Regenerate.
18250
18251 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18252
18253 * config/linux/futex.h: New.
18254 * config/linux/arm/mutex.h: New.
18255 * configure.tgt (arm*-*-linux*): Add config path.
18256
18257 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18258
18259 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18260
18261 2010-09-23 Tobias Burnus <burnus@net-b.de>
18262
18263 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18264 Change Fortran datatype to LOGICAL.
18265 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18266 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18267
18268 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18269
18270 * configure: Regenerate.
18271
18272 2010-07-26 Jakub Jelinek <jakub@redhat.com>
18273
18274 * libgomp.texi: Add function keyword to a couple of Fortran
18275 interfaces, use integer instead of int for Fortran.
18276
18277 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
18278
18279 * libgomp.texi: Fix spelling and pasto problems throughout.
18280 Adjust prototypes to match code.
18281
18282 2010-07-24 Tobias Burnus <burnus@net-b.de>
18283
18284 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18285 silence -fwhole-file warning.
18286
18287 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18288
18289 * configure.tgt (*-*-solaris2.[56]*): Removed.
18290
18291 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18292
18293 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18294 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18295 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18296 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18297 targetting solaris2*.
18298 * configure: Regenerate.
18299 * config.h.in: Regenerate.
18300
18301 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18302 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18303 Add libgomp_version_dep.
18304 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18305 versioning.
18306 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18307 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18308 * Makefile.in: Regenerate.
18309
18310 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18311 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18312 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18313 to common block, protected by
18314 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18315
18316 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18317
18318 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18319
18320 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18321
18322 PR bootstrap/43170
18323 * configure: Regenerate.
18324
18325 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18326
18327 PR other/43620
18328 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18329 * configure: Regenerate.
18330 * Makefile.in: Regenerate.
18331 * testsuite/Makefile.in: Regenerate.
18332
18333 2010-04-26 Jakub Jelinek <jakub@redhat.com>
18334
18335 PR c/43893
18336 * testsuite/libgomp.c/pr43893.c: New test.
18337 * testsuite/libgomp.c++/pr43893.C: New test.
18338
18339 2010-04-21 Jakub Jelinek <jakub@redhat.com>
18340
18341 PR middle-end/43570
18342 * testsuite/libgomp.fortran/vla8.f90: New test.
18343
18344 2010-04-20 Jakub Jelinek <jakub@redhat.com>
18345
18346 PR libgomp/43706
18347 * config/linux/affinity.c (gomp_init_affinity): Decrease
18348 gomp_available_cpus if affinity mask confines the process to fewer
18349 CPUs.
18350 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18351 non-NULL, just return gomp_available_cpus.
18352
18353 PR libgomp/43569
18354 * sections.c (gomp_sections_init): Initialize ws->mode.
18355
18356 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
18357
18358 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18359 not unused bar variable.
18360 * configure: Regenerate.
18361
18362 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18363
18364 * Makefile.in: Regenerate.
18365 * aclocal.m4: Regenerate.
18366 * testsuite/Makefile.in: Regenerate.
18367
18368 2010-03-22 Jakub Jelinek <jakub@redhat.com>
18369
18370 PR libgomp/42942
18371 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18372 (initialize_env): Adjust callers.
18373 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18374 when the argument is 0.
18375
18376 * testsuite/libgomp.c/pr42942.c: New test.
18377
18378 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18379
18380 PR middle-end/42644
18381 PR middle-end/42130
18382 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18383 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18384
18385 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18386
18387 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18388 * testsuite/libgomp.c++/task-6.C: Likewise.
18389
18390 2010-01-28 Steve Ellcey <sje@cup.hp.com>
18391
18392 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18393
18394 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
18395
18396 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18397 * configure: Regenerate.
18398
18399 2010-01-26 Jakub Jelinek <jakub@redhat.com>
18400
18401 PR fortran/42866
18402 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18403
18404 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
18405
18406 * configure.ac: Test for executability of GFORTRAN.
18407 * configure: Regenerate.
18408
18409 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18410
18411 * configure: Regenerate.
18412
18413 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18414
18415 PR libgomp/42602
18416 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18417
18418 2010-01-03 Richard Guenther <rguenther@suse.de>
18419
18420 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18421
18422 2009-12-23 Sebastian Pop <sebpop@gmail.com>
18423
18424 * testsuite/libgomp.graphite/pr4118.c: New.
18425
18426 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18427
18428 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18429 for darwin, protect the test with require-effective-target tls_runtime.
18430 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18431
18432 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18433
18434 PR target/41605
18435 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18436 link spec %s substitutions for static libraries.
18437
18438 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18439
18440 PR testsuite/42135
18441 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18442
18443 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18444
18445 * Makefile.in: Regenerate.
18446 * configure: Regenerate.
18447 * testsuite/Makefile.in: Regenerate.
18448
18449 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18450
18451 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18452 settings for LC_ALL and LANG.
18453
18454 2009-11-25 Jakub Jelinek <jakub@redhat.com>
18455
18456 PR fortran/42162
18457 * testsuite/libgomp.fortran/pr42162.f90: New test.
18458
18459 2009-11-13 Jakub Jelinek <jakub@redhat.com>
18460
18461 PR middle-end/42029
18462 * testsuite/libgomp.c/pr42029.c: New test.
18463
18464 2009-10-26 Jakub Jelinek <jakub@redhat.com>
18465
18466 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18467 *s. Accept ld version without text in ()s.
18468 * configure: Regenerated.
18469
18470 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
18471
18472 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18473
18474 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18475
18476 PR libgomp/41418
18477 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18478 or a hyphen (happens with fortran language disabled).
18479 * configure: Regenerate.
18480
18481 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18482
18483 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18484 use sed script portable to Solaris /bin/sed for extracting ld
18485 version.
18486 * configure: Regenerate.
18487
18488 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
18489
18490 * testsuite/libgomp.graphite/bounds.c: New test.
18491
18492 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18493
18494 * Makefile.am (libgomp_la_LINK): New.
18495 * Makefile.in: Regenerate.
18496
18497 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18498
18499 * configure.ac (AC_PREREQ): Bump to 2.64.
18500
18501 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18502
18503 * Makefile.am (install-html, install-pdf): Remove.
18504 * Makefile.in: Regenerate.
18505
18506 * Makefile.in: Regenerate.
18507 * aclocal.m4: Regenerate.
18508 * config.h.in: Regenerate.
18509 * configure: Regenerate.
18510 * testsuite/Makefile.in: Regenerate.
18511
18512 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18513
18514 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18515 * Makefile.in: Regenerate.
18516
18517 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18518
18519 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18520 * Makefile.in: Regenerate.
18521
18522 2009-08-19 Tobias Burnus <burnus@net-b.de>
18523
18524 PR fortran/41102
18525 omp_lib.h.in: Fix -std=f95 errors.
18526
18527 2009-08-14 David Edelsohn <edelsohn@gnu.org>
18528
18529 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18530 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18531 * testsuite/libgomp.graphite/graphite.exp: New.
18532
18533 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18534
18535 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18536 only build.
18537
18538 2009-08-04 David Daney <ddaney@caviumnetworks.com>
18539
18540 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18541 needed memory barrier semantics.
18542 * config/linux/mips/mutex.h: New file.
18543
18544 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18545
18546 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18547
18548 2009-07-16 Joseph Myers <joseph@codesourcery.com>
18549
18550 * configure: Regenerate.
18551
18552 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18553
18554 PR testsuite/40699
18555 PR testsuite/40707
18556 PR testsuite/40709
18557 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18558 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18559 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18560
18561 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18562
18563 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18564 options when choosing a multilib.
18565
18566 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18567
18568 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18569 ld_library_path. Use add_path. Add just find_libgcc_s to
18570 ld_library_path, not every libgcc multilib directory.
18571 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18572 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18573 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18574 Use add_path.
18575 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18576
18577 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
18578
18579 * Makefile.am (LTLDFLAGS): Define.
18580 (LINK): Define.
18581 * Makefile.in: Regenerate.
18582
18583 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
18584
18585 PR fortran/39718
18586 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18587 libgfortranbegin, check existence of libgfortran.a instead of
18588 libgfortranbegin.a.
18589
18590 2009-05-20 Jakub Jelinek <jakub@redhat.com>
18591
18592 PR libgomp/40174
18593 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18594 (gomp_free_pool_helper): Likewise.
18595
18596 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18597 Jakub Jelinek <jakub@redhat.com>
18598
18599 PR fortran/35423
18600 * testsuite/libgomp.fortran/workshare2.f90: New test.
18601
18602 2009-04-09 Nick Clifton <nickc@redhat.com>
18603
18604 * iter.c: Change copyright header to refer to version 3 of the
18605 GNU General Public License with version 3.1 of the GCC Runtime
18606 Library Exception and to point readers at the COPYING3 and
18607 COPYING3.RUNTIME files and the FSF's license web page.
18608 * alloc.c: Likewise.
18609 * barrier.c: Likewise.
18610 * config/bsd/proc.c: Likewise.
18611 * config/linux/affinity.c: Likewise.
18612 * config/linux/alpha/futex.h: Likewise.
18613 * config/linux/bar.c: Likewise.
18614 * config/linux/bar.h: Likewise.
18615 * config/linux/ia64/futex.h: Likewise.
18616 * config/linux/ia64/mutex.h: Likewise.
18617 * config/linux/lock.c: Likewise.
18618 * config/linux/mips/futex.h: Likewise.
18619 * config/linux/mutex.c: Likewise.
18620 * config/linux/mutex.h: Likewise.
18621 * config/linux/powerpc/futex.h: Likewise.
18622 * config/linux/proc.c: Likewise.
18623 * config/linux/ptrlock.c: Likewise.
18624 * config/linux/ptrlock.h: Likewise.
18625 * config/linux/s390/futex.h: Likewise.
18626 * config/linux/sem.c: Likewise.
18627 * config/linux/sem.h: Likewise.
18628 * config/linux/sparc/futex.h: Likewise.
18629 * config/linux/wait.h: Likewise.
18630 * config/linux/x86/futex.h: Likewise.
18631 * config/mingw32/proc.c: Likewise.
18632 * config/mingw32/time.c: Likewise.
18633 * config/posix/affinity.c: Likewise.
18634 * config/posix/bar.c: Likewise.
18635 * config/posix/bar.h: Likewise.
18636 * config/posix/lock.c: Likewise.
18637 * config/posix/mutex.h: Likewise.
18638 * config/posix/proc.c: Likewise.
18639 * config/posix/ptrlock.h: Likewise.
18640 * config/posix/sem.c: Likewise.
18641 * config/posix/sem.h: Likewise.
18642 * config/posix/time.c: Likewise.
18643 * config/posix95/lock.c: Likewise.
18644 * critical.c: Likewise.
18645 * env.c: Likewise.
18646 * error.c: Likewise.
18647 * fortran.c: Likewise.
18648 * iter_ull.c: Likewise.
18649 * libgomp.h: Likewise.
18650 * libgomp_f.h.in: Likewise.
18651 * libgomp_g.h: Likewise.
18652 * loop.c: Likewise.
18653 * loop_ull.c: Likewise.
18654 * omp.h.in: Likewise.
18655 * omp_lib.f90.in: Likewise.
18656 * omp_lib.h.in: Likewise.
18657 * ordered.c: Likewise.
18658 * parallel.c: Likewise.
18659 * sections.c: Likewise.
18660 * single.c: Likewise.
18661 * task.c: Likewise.
18662 * team.c: Likewise.
18663 * work.c: Likewise.
18664
18665 2009-04-09 Jakub Jelinek <jakub@redhat.com>
18666
18667 * testsuite/config/default.exp: Change copyright header to refer to
18668 version 3 of the GNU General Public License and to point readers
18669 at the COPYING3 file and the FSF's license web page.
18670
18671 2009-04-08 Jakub Jelinek <jakub@redhat.com>
18672
18673 PR middle-end/39573
18674 * libgomp.c++/pr39573.C: New test.
18675
18676 2009-04-01 Jakub Jelinek <jakub@redhat.com>
18677
18678 PR other/39591
18679 * testsuite/libgomp.c/pr39591-1.c: New test.
18680 * testsuite/libgomp.c/pr39591-2.c: New test.
18681 * testsuite/libgomp.c/pr39591-3.c: New test.
18682
18683 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
18684
18685 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18686 * testsuite/libgomp.c/atomic-6.c: Ditto.
18687
18688 2009-03-23 Jakub Jelinek <jakub@redhat.com>
18689
18690 PR c/39495
18691 * testsuite/libgomp.c/loop-12.c: New test.
18692 * testsuite/libgomp.c/loop-11.c: New test.
18693 * testsuite/libgomp.c++/loop-11.C: New test.
18694 * testsuite/libgomp.c++/loop-12.C: New test.
18695 * testsuite/libgomp.c++/for-8.C: New test.
18696
18697 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18698
18699 * configure: Regenerate.
18700
18701 2009-02-11 Jakub Jelinek <jakub@redhat.com>
18702
18703 PR middle-end/39154
18704 * testsuite/libgomp.c/pr39154.c: New test.
18705
18706 2009-01-30 Ian Lance Taylor <iant@google.com>
18707
18708 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18709 libgomp_ld_is_gold. Get gold version number.
18710 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18711 * configure: Rebuild.
18712
18713 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18714
18715 * testsuite/lib/libgomp.exp: Add -B option for targets that
18716 use libgfortran.a%s in their specs.
18717
18718 2009-01-07 Jakub Jelinek <jakub@redhat.com>
18719
18720 PR libgomp/38086
18721 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18722 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18723 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18724 * configure: Regenerated.
18725 * config.h.in: Likewise.
18726
18727 2008-12-28 Jakub Jelinek <jakub@redhat.com>
18728
18729 PR c++/38650
18730 * testsuite/libgomp.c/pr38650.c: New test.
18731 * testsuite/libgomp.c++/pr38650.C: New test.
18732
18733 2008-12-27 Jakub Jelinek <jakub@redhat.com>
18734
18735 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18736
18737 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
18738
18739 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18740
18741 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18742
18743 * configure: Regenerate.
18744
18745 2008-12-08 Jakub Jelinek <jakub@redhat.com>
18746
18747 PR middle-end/36802
18748 * testsuite/libgomp.c/pr36802-1.c: New test.
18749 * testsuite/libgomp.c/pr36802-2.c: New test.
18750 * testsuite/libgomp.c/pr36802-3.c: New test.
18751
18752 2008-12-01 Janis Johnson <janis187@us.ibm.com>
18753
18754 PR libgomp/38270
18755 * config/linux/powerpc/mutex.h: New.
18756
18757 2008-12-01 Jakub Jelinek <jakub@redhat.com>
18758
18759 PR c++/38257
18760 * testsuite/libgomp.c++/for-7.C: New test.
18761
18762 PR c++/38348
18763 * testsuite/libgomp.c++/for-6.C: New test.
18764
18765 2008-11-26 Janis Johnson <janis187@us.ibm.com>
18766
18767 PR testsuite/28870
18768 * testsuite/lib/libgomp.exp: Include new timeout library files.
18769 (libgomp_target_compile): Set timeout value from new proc.
18770
18771 2008-11-13 Steve Ellcey <sje@cup.hp.com>
18772
18773 PR libgomp/37938
18774 * config/linux/ia64/mutex.h: New.
18775
18776 2008-11-04 Tobias Burnus <burnus@net-b.de>
18777
18778 PR libgomp/37935
18779 * libgomp.texi (Runtime library routines, environment variables):
18780 Update for OpenMP version 3.0.
18781
18782 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18783 Steve Ellcey <sje@cup.hp.com>
18784
18785 * configure: Regenerate for new libtool.
18786 * Makefile.in: Ditto.
18787 * testsuite/Makefile.in: Ditto.
18788
18789 2008-09-19 Jakub Jelinek <jakub@redhat.com>
18790 Andreas Tobler <a.tobler@schweiz.org>
18791
18792 * config/bsd/proc.c: New file.
18793 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
18794 * configure.ac: Check for header <sys/sysctl.h>
18795 * configure: Regenerate.
18796 * config.h.in: Likewise.
18797
18798 2008-09-05 Janis Johnson <janis187@us.ibm.com>
18799
18800 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18801
18802 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18803
18804 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18805 * Makefile.in: Regenerated.
18806 * testsuite/Makefile.in: Regenerated.
18807
18808 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
18809
18810 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
18811 depend on blddir if blddir exists.
18812 (libgomp_target_compile): Likewise.
18813 * testsuite/libgomp.c++/c++.exp: Likewise.
18814 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18815
18816 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18817
18818 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18819 Do not list GPL as Invariant Section.
18820
18821 2008-07-28 Ilie Garbacea <ilie@mips.com>
18822 Chao-ying Fu <fu@mips.com>
18823
18824 * configure.tgt: Enable futex for MIPS.
18825 * config/linux/mips/futex.h: New file.
18826
18827 2008-07-16 Jakub Jelinek <jakub@redhat.com>
18828
18829 * team.c (gomp_team_end): Free team immediately if it has
18830 just one thread.
18831
18832 2008-07-08 David Edelsohn <edelsohn@gnu.org>
18833
18834 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18835 * testsuite/libgomp.fortran/fortran.exp: Same.
18836 * testsuite/libgomp.c/c.exp: Same.
18837 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18838 directory to library path first.
18839
18840 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18841
18842 * env.c (parse_stacksize): Add cast to avoid warning.
18843 (parse_spincount): Likewise.
18844
18845 2008-06-27 Jakub Jelinek <jakub@redhat.com>
18846
18847 * testsuite/libgomp.c/loop-10.c: New test.
18848 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18849 * libgomp.c++/loop-6.C (main): Likewise.
18850
18851 PR debug/36617
18852 * testsuite/libgomp.c/debug-1.c: New test.
18853
18854 2008-06-19 Jakub Jelinek <jakub@redhat.com>
18855
18856 * testsuite/libgomp.c/nqueens-1.c: New test.
18857
18858 PR c++/36523
18859 * testsuite/libgomp.c++/task-7.C: New function.
18860
18861 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18862
18863 * configure: Regenerate.
18864
18865 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18866
18867 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18868 mutex when HAVE_SYNC_BUILTINS isn't defined.
18869
18870 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18871
18872 * libgomp.texi (omp_test_lock): Fix typo.
18873
18874 2008-06-12 Tobias Burnus <burnus@net-b.de>
18875
18876 * omp_lib.f90.in: Add "implicit none".
18877
18878 2008-06-12 Jakub Jelinek <jakub@redhat.com>
18879
18880 PR middle-end/36506
18881 * testsuite/libgomp.c/reduction-5.c: New test.
18882
18883 2008-06-11 Jakub Jelinek <jakub@redhat.com>
18884
18885 * libgomp.h (struct gomp_task): Add in_tied_task field.
18886 * task.c (gomp_init_task): Initialize it.
18887 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
18888 unconditionally. Don't call gomp_team_barrier_wake if
18889 current task is implicit or if(0) from implicit and number of
18890 running tasks is equal to nthreads - 1.
18891
18892 PR libgomp/36471
18893 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18894 omp_get_team_size_8): Fix pastos.
18895
18896 PR libgomp/36469
18897 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18898 * configure: Regenerated.
18899 * config.h.in: Regenerated.
18900 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18901 defined.
18902
18903 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
18904
18905 PR bootstrap/36452
18906 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18907 (GOMP_loop_ull_dynamic_start): Likewise.
18908 (GOMP_loop_ull_guided_start): Likewise.
18909 (GOMP_loop_ull_ordered_static_start): Likewise.
18910 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18911 (GOMP_loop_ull_ordered_guided_start): Likewise.
18912
18913 2008-06-06 Jakub Jelinek <jakub@redhat.com>
18914 Richard Henderson <rth@redhat.com>
18915 Ulrich Drepper <drepper@redhat.com>
18916 Jakob Blomer <jakob.blomer@ira.uka.de>
18917
18918 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18919 Substitute also OMP_*LOCK_25*.
18920 * configure: Regenerated.
18921 * config.h.in: Regenerated.
18922 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18923 ptrlock.c and task.c.
18924 * Makefile.in: Regenerated.
18925 * testsuite/Makefile.in: Regenerated.
18926 * task.c: New file.
18927 * loop_ull.c: New file.
18928 * iter_ull.c: New file.
18929 * libgomp.h: Include ptrlock.h.
18930 (enum gomp_task_kind): New type.
18931 (struct gomp_team): Add task_lock, task_queue, task_count,
18932 task_running_count, single_count fields. Add
18933 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18934 Remove work_share_lock, generation_mask,
18935 oldest_live_gen, num_live_gen and init_work_shares fields, add
18936 work work_share_list_alloc, work_share_list_free and work_share_chunk
18937 fields. Change work_shares from pointer to pointers into an array.
18938 Change ordered_release field into gomp_sem_t ** from flexible array
18939 member. Add implicit_task and initial_work_shares fields.
18940 Move close to the end of the struct.
18941 (struct gomp_team_state): Add single_count, last_work_share,
18942 active_level and level fields, remove work_share_generation.
18943 (gomp_barrier_handle_tasks): New prototype.
18944 (gomp_finish_task): New inline function.
18945 (struct gomp_work_share): Move chunk_size, end, incr into
18946 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18947 next_ll fields. Reshuffle fields. Add next_alloc,
18948 next_ws, next_free and inline_ordered_team_ids fields, change
18949 ordered_team_ids into pointer from flexible array member.
18950 Add mode field. Put lock and next into a different cache line
18951 from most of the write-once fields.
18952 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18953 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18954 gomp_iter_ull_guided_next): New prototypes.
18955 (gomp_new_icv): New prototype.
18956 (struct gomp_thread): Add thread_pool and task fields.
18957 (struct gomp_thread_pool): New type.
18958 (gomp_new_team): New prototype.
18959 (gomp_team_start): Change type of last argument.
18960 (gomp_new_work_share): Removed.
18961 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18962 (gomp_work_share_init_done): New static inline.
18963 (gomp_throttled_spin_count_var, gomp_available_cpus,
18964 gomp_managed_threads): New extern decls.
18965 (gomp_init_task): New prototype.
18966 (gomp_spin_count_var): New extern var decl.
18967 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18968 or no alias support, or if not PIC.
18969 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18970 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18971 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18972 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18973 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18974 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18975 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18976 gomp_test_nest_lock_25): New prototypes.
18977 (omp_lock_symver, strong_alias): Define.
18978 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18979 decls.
18980 (gomp_end_task): New.
18981 (struct gomp_task_icv, gomp_global_icv): New.
18982 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18983 (struct gomp_task): New.
18984 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18985 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18986 (gomp_icv): New.
18987 (gomp_schedule_type): Reorder enum to match
18988 omp_sched_t.
18989 * team.c (struct gomp_thread_start_data): Add thread_pool and task
18990 fields.
18991 (gomp_thread_start): Add gomp_team_barrier_wait call.
18992 For non-nested case remove clearing of docked thread thr fields.
18993 Use pool fields instead of global gomp_* variables. Use
18994 gomp_barrier_wait_last when needed. Initialize ts.active_level.
18995 Create tasks for each member thread.
18996 (free_team): Only destroy team barrier, task_lock here and free it.
18997 (gomp_free_thread): Free last_team if non-NULL.
18998 (gomp_team_end): Call gomp_team_barrier_wait instead of
18999 gomp_barrier_wait. For nested case call one extra
19000 gomp_barrier_wait. Move here some destruction from free_team.
19001 Call free_team on pool->last_team if any, rather than freeing
19002 current team. Destroy work_share_list_free_lock ifndef
19003 HAVE_SYNC_BUILTINS.
19004 (gomp_new_icv): New function.
19005 (gomp_threads, gomp_threads_size, gomp_threads_used,
19006 gomp_threads_dock): Removed.
19007 (gomp_thread_destructor): New variable.
19008 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
19009 functions.
19010 (gomp_team_start): Create new pool if current thread doesn't have
19011 one. Use pool fields instead of global gomp_* variables.
19012 Initialize thread_pool field for new threads. Clear single_count.
19013 Change last argument from ws to team, don't create
19014 new team, set ts.work_share to &team->work_shares[0] and clear
19015 ts.last_work_share. Don't clear ts.work_share_generation.
19016 If number of threads changed, adjust atomically gomp_managed_threads.
19017 Use gomp_init_task instead of gomp_new_task,
19018 set thr->task to the corresponding implicit_task array entry.
19019 Create tasks for each member thread. Initialize ts.level.
19020 (initialize_team): Call pthread_key_create on
19021 gomp_thread_destructor.
19022 (team_destructor): New function.
19023 (new_team): Removed.
19024 (gomp_new_team): New function.
19025 (free_team): Free gomp_work_share blocks chained through next_alloc,
19026 instead of freeing work_shares and destroying work_share_lock.
19027 (gomp_team_end): Call gomp_fini_work_share. If number of threads
19028 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
19029 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
19030 of gomp_barrier_wait.
19031 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
19032 instead of gomp_barrier_wait. Call gomp_work_share_init_done
19033 if gomp_work_share_start returned true. Don't unlock ws->lock.
19034 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
19035 of gomp_barrier_wait.
19036 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
19037 gomp_work_share_init_done if gomp_work_share_start returned true.
19038 Don't unlock ws->lock.
19039 * work.c: Include stddef.h.
19040 (free_work_share): Use work_share_list_free_lock instead
19041 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
19042 Call gomp_fini_work_share and then either free ws if orphaned, or
19043 put it into work_share_list_free list of the current team.
19044 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
19045 functions.
19046 (gomp_work_share_start, gomp_work_share_end,
19047 gomp_work_share_end_nowait): Rewritten.
19048 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
19049 (openmp_version): Set to 200805.
19050 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19051 omp_sched_guided, omp_sched_auto): New parameters.
19052 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19053 omp_set_max_active_levels, omp_get_max_active_levels,
19054 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19055 omp_get_active_level): New interfaces.
19056 * omp_lib.h.in (openmp_version): Set to 200805.
19057 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19058 omp_sched_guided, omp_sched_auto): New parameters.
19059 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19060 omp_set_max_active_levels, omp_get_max_active_levels,
19061 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19062 omp_get_active_level): New externals.
19063 * loop.c: Include limits.h.
19064 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
19065 GFS_AUTO.
19066 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
19067 Likewise. Use gomp_icv.
19068 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
19069 ts.static_trip here.
19070 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
19071 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
19072 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
19073 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
19074 don't unlock ws->lock, otherwise lock it.
19075 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
19076 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
19077 (gomp_parallel_loop_start): Call gomp_new_team instead of
19078 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
19079 Adjust gomp_team_start caller. Pass 0 as second argument to
19080 gomp_resolve_num_threads.
19081 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
19082 If adding ws->chunk_size nthreads + 1 times after end won't
19083 overflow, set ws->mode to 1.
19084 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
19085 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
19086 GOMP_loop_ull_ordered_static_start,
19087 GOMP_loop_ull_ordered_dynamic_start,
19088 GOMP_loop_ull_ordered_guided_start,
19089 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
19090 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
19091 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
19092 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
19093 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
19094 prototypes.
19095 * libgomp.map: Export lock routines also @@OMP_2.0.
19096 (GOMP_loop_ordered_dynamic_first,
19097 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
19098 GOMP_loop_ordered_static_first): Remove.
19099 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
19100 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
19101 GOMP_loop_ull_ordered_dynamic_next,
19102 GOMP_loop_ull_ordered_dynamic_start,
19103 GOMP_loop_ull_ordered_guided_next,
19104 GOMP_loop_ull_ordered_guided_start,
19105 GOMP_loop_ull_ordered_runtime_next,
19106 GOMP_loop_ull_ordered_runtime_start,
19107 GOMP_loop_ull_ordered_static_next,
19108 GOMP_loop_ull_ordered_static_start,
19109 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
19110 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
19111 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
19112 (omp_set_schedule, omp_get_schedule,
19113 omp_get_thread_limit, omp_set_max_active_levels,
19114 omp_get_max_active_levels, omp_get_level,
19115 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
19116 omp_set_schedule_, omp_set_schedule_8_,
19117 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19118 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19119 omp_get_max_active_levels_, omp_get_level_,
19120 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19121 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19122 New exports @@OMP_3.0.
19123 * omp.h.in (omp_sched_t): New type.
19124 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19125 omp_set_max_active_levels, omp_get_max_active_levels,
19126 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19127 omp_get_active_level): New prototypes.
19128 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
19129 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
19130 gomp_thread_limit_var, gomp_remaining_threads_count,
19131 gomp_remaining_threads_lock): New variables.
19132 (parse_spincount): New function.
19133 (initialize_env): Call gomp_init_num_threads unconditionally.
19134 Initialize gomp_available_cpus. Call parse_spincount,
19135 initialize gomp_{,throttled_}spin_count_var
19136 depending on presence and value of OMP_WAIT_POLICY and
19137 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
19138 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19139 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
19140 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
19141 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
19142 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19143 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19144 (gomp_global_icv): New.
19145 (parse_schedule): Use it. Parse "auto".
19146 (omp_set_num_threads): Use gomp_icv.
19147 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19148 Likewise.
19149 (omp_get_max_threads): Move from parallel.c.
19150 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19151 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19152 add ialias.
19153 (parse_stacksize, parse_wait_policy): New functions.
19154 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19155 both wrappers for compatibility and new locks.
19156 (omp_set_schedule, omp_get_schedule,
19157 omp_get_thread_limit, omp_set_max_active_levels,
19158 omp_get_max_active_levels, omp_get_level,
19159 omp_get_ancestor_thread_num, omp_get_team_size,
19160 omp_get_active_level): New ialias_redirect.
19161 (omp_set_schedule_, omp_set_schedule_8_,
19162 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19163 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19164 omp_get_max_active_levels_, omp_get_level_,
19165 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19166 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19167 New functions.
19168 * parallel.c: Include limits.h.
19169 (gomp_resolve_num_threads): Add count argument. Rewritten.
19170 (GOMP_parallel_start): Call gomp_new_team and pass that as last
19171 argument to gomp_team_start. Pass 0 as second argument to
19172 gomp_resolve_num_threads.
19173 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19174 if gomp_thread_limit_var != ULONG_MAX.
19175 (omp_in_parallel): Implement using ts.active_level.
19176 (omp_get_max_threads): Move to env.c.
19177 (omp_get_level, omp_get_ancestor_thread_num,
19178 omp_get_team_size, omp_get_active_level): New functions,
19179 add ialias.
19180 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19181 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
19182 gomp_iter_dynamic_next instead of the _locked variant and don't take
19183 lock around it, otherwise acquire it before calling
19184 gomp_iter_dynamic_next_locked.
19185 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19186 gomp_iter_dynamic_next instead of the _locked variant and don't take
19187 lock around it.
19188 (GOMP_parallel_sections_start): Call gomp_new_team instead of
19189 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
19190 Adjust gomp_team_start caller. Pass count as second argument to
19191 gomp_resolve_num_threads, don't adjust num_threads after the call.
19192 Use gomp_icv.
19193 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19194 ws->chunk_size by incr.
19195 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
19196 code.
19197 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19198 types.
19199 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19200 (omp_check_defines): Check even the compat defines.
19201 * config/linux/ptrlock.c: New file.
19202 * config/linux/ptrlock.h: New file.
19203 * config/linux/wait.h: New file.
19204 * config/posix/ptrlock.c: New file.
19205 * config/posix/ptrlock.h: New file.
19206 * config/linux/bar.h (gomp_team_barrier_wait,
19207 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19208 (gomp_team_barrier_set_task_pending,
19209 gomp_team_barrier_clear_task_pending,
19210 gomp_team_barrier_set_waiting_for_tasks,
19211 gomp_team_barrier_waiting_for_tasks,
19212 gomp_team_barrier_done): New inlines.
19213 (gomp_barrier_t): Rewritten.
19214 (gomp_barrier_state_t): New typedef.
19215 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19216 gomp_barrier_wait_start): Rewritten.
19217 (gomp_barrier_wait_end): Change second argument to
19218 gomp_barrier_state_t.
19219 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19220 inlines.
19221 * config/linux/bar.c: Include wait.h instead of libgomp.h and
19222 futex.h.
19223 (gomp_barrier_wait_end): Rewritten.
19224 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19225 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19226 * config/posix/bar.h (gomp_barrier_t): Add generation field.
19227 (gomp_barrier_state_t): New typedef.
19228 (gomp_team_barrier_wait,
19229 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19230 (gomp_barrier_wait_start): Or all but low 2 bits from generation
19231 into the return value. Return gomp_barrier_state_t.
19232 (gomp_team_barrier_set_task_pending,
19233 gomp_team_barrier_clear_task_pending,
19234 gomp_team_barrier_set_waiting_for_tasks,
19235 gomp_team_barrier_waiting_for_tasks,
19236 gomp_team_barrier_done): New inlines.
19237 (gomp_barrier_wait_end): Change second argument to
19238 gomp_barrier_state_t.
19239 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19240 inlines.
19241 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19242 (gomp_barrier_wait_end): Change second argument to
19243 gomp_barrier_state_t.
19244 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19245 gomp_team_barrier_wake): New functions.
19246 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19247 futex.h.
19248 (gomp_futex_wake, gomp_futex_wait): New variables.
19249 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19250 * config/linux/lock.c: Rewrite to make locks task owned,
19251 for backwards compatibility provide the old entrypoints
19252 if symbol versioning. Include wait.h instead of libgomp.h and
19253 futex.h.
19254 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19255 * config/posix95/lock.c: Rewrite to make locks task owned,
19256 for backwards compatibility provide the old entrypoints
19257 if symbol versioning.
19258 * config/posix/lock.c: Rewrite to make locks task owned,
19259 for backwards compatibility provide the old entrypoints
19260 if symbol versioning.
19261 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19262 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19263 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19264 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19265 (sys_futex0): Return error code.
19266 (futex_wake, futex_wait): If ENOSYS was returned, clear
19267 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19268 (cpu_relax, atomic_write_barrier): New static inlines.
19269 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19270 (futex_wake, futex_wait): If ENOSYS was returned, clear
19271 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19272 (cpu_relax, atomic_write_barrier): New static inlines.
19273 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19274 (sys_futex0): Return error code.
19275 (futex_wake, futex_wait): If ENOSYS was returned, clear
19276 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19277 (cpu_relax, atomic_write_barrier): New static inlines.
19278 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19279 (sys_futex0): Return error code.
19280 (futex_wake, futex_wait): If ENOSYS was returned, clear
19281 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19282 (cpu_relax, atomic_write_barrier): New static inlines.
19283 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19284 (sys_futex0): Return error code.
19285 (futex_wake, futex_wait): If ENOSYS was returned, clear
19286 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19287 (cpu_relax, atomic_write_barrier): New static inlines.
19288 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19289 (sys_futex0): Return error code.
19290 (futex_wake, futex_wait): If ENOSYS was returned, clear
19291 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19292 (cpu_relax, atomic_write_barrier): New static inlines.
19293 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19294 futex.h.
19295 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19296 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19297 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19298 types.
19299 (omp_nest_lock_t): Change owner into void *, add lock field.
19300 * config/posix95/omp-lock.h: Include semaphore.h.
19301 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19302 (omp_lock_t): Use sem_t instead of mutex if semaphores
19303 aren't broken.
19304 (omp_nest_lock_t): Likewise. Change owner to void *.
19305 * config/posix/omp-lock.h: Include semaphore.h.
19306 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19307 (omp_lock_t): Use sem_t instead of mutex if semaphores
19308 aren't broken.
19309 (omp_nest_lock_t): Likewise. Add owner field.
19310
19311 2008-06-06 Jakub Jelinek <jakub@redhat.com>
19312
19313 * testsuite/libgomp.c/collapse-1.c: New test.
19314 * testsuite/libgomp.c/collapse-2.c: New test.
19315 * testsuite/libgomp.c/collapse-3.c: New test.
19316 * testsuite/libgomp.c/icv-1.c: New test.
19317 * testsuite/libgomp.c/icv-2.c: New test.
19318 * testsuite/libgomp.c/lib-2.c: New test.
19319 * testsuite/libgomp.c/lock-1.c: New test.
19320 * testsuite/libgomp.c/lock-2.c: New test.
19321 * testsuite/libgomp.c/lock-3.c: New test.
19322 * testsuite/libgomp.c/loop-4.c: New test.
19323 * testsuite/libgomp.c/loop-5.c: New test.
19324 * testsuite/libgomp.c/loop-6.c: New test.
19325 * testsuite/libgomp.c/loop-7.c: New test.
19326 * testsuite/libgomp.c/loop-8.c: New test.
19327 * testsuite/libgomp.c/loop-9.c: New test.
19328 * testsuite/libgomp.c/nested-3.c: New test.
19329 * testsuite/libgomp.c/nestedfn-6.c: New test.
19330 * testsuite/libgomp.c/sort-1.c: New test.
19331 * testsuite/libgomp.c/task-1.c: New test.
19332 * testsuite/libgomp.c/task-2.c: New test.
19333 * testsuite/libgomp.c/task-3.c: New test.
19334 * testsuite/libgomp.c/task-4.c: New test.
19335 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19336 to C++ testsuite default compiler options.
19337 * testsuite/libgomp.c++/collapse-1.C: New test.
19338 * testsuite/libgomp.c++/collapse-2.C: New test.
19339 * testsuite/libgomp.c++/ctor-10.C: New test.
19340 * testsuite/libgomp.c++/for-1.C: New test.
19341 * testsuite/libgomp.c++/for-2.C: New test.
19342 * testsuite/libgomp.c++/for-3.C: New test.
19343 * testsuite/libgomp.c++/for-4.C: New test.
19344 * testsuite/libgomp.c++/for-5.C: New test.
19345 * testsuite/libgomp.c++/loop-8.C: New test.
19346 * testsuite/libgomp.c++/loop-9.C: New test.
19347 * testsuite/libgomp.c++/loop-10.C: New test.
19348 * testsuite/libgomp.c++/task-1.C: New test.
19349 * testsuite/libgomp.c++/task-2.C: New test.
19350 * testsuite/libgomp.c++/task-3.C: New test.
19351 * testsuite/libgomp.c++/task-4.C: New test.
19352 * testsuite/libgomp.c++/task-5.C: New test.
19353 * testsuite/libgomp.c++/task-6.C: New test.
19354 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19355 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19356 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19357 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19358 * testsuite/libgomp.fortran/collapse1.f90: New test.
19359 * testsuite/libgomp.fortran/collapse2.f90: New test.
19360 * testsuite/libgomp.fortran/collapse3.f90: New test.
19361 * testsuite/libgomp.fortran/collapse4.f90: New test.
19362 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19363 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19364 * testsuite/libgomp.fortran/lib4.f90: New test.
19365 * testsuite/libgomp.fortran/lock-1.f90: New test.
19366 * testsuite/libgomp.fortran/lock-2.f90: New test.
19367 * testsuite/libgomp.fortran/nested1.f90: New test.
19368 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19369 * testsuite/libgomp.fortran/strassen.f90: New test.
19370 * testsuite/libgomp.fortran/tabs1.f90: New test.
19371 * testsuite/libgomp.fortran/tabs2.f: New test.
19372 * testsuite/libgomp.fortran/task1.f90: New test.
19373 * testsuite/libgomp.fortran/task2.f90: New test.
19374 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19375 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19376 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19377 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19378 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19379
19380 2008-05-23 Jakub Jelinek <jakub@redhat.com>
19381
19382 PR c++/36308
19383 * testsuite/libgomp.c++/ctor-11.C: New test.
19384 * testsuite/libgomp.c++/ctor-12.C: New test.
19385
19386 2008-05-15 Janis Johnson <janis187@us.ibm.com>
19387
19388 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19389
19390 2008-05-07 Jakub Jelinek <jakub@redhat.com>
19391
19392 PR middle-end/36106
19393 * testsuite/libgomp.c/atomic-5.c: New test.
19394 * testsuite/libgomp.c/atomic-6.c: New test.
19395 * testsuite/libgomp.c/autopar-1.c: New test.
19396
19397 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19398
19399 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19400 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19401 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19402 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19403 * configure: Regenerate.
19404 * Makefile.in, testsuite/Makefile.in: Likewise.
19405
19406 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
19407
19408 PR bootstrap/35457
19409 * aclocal.m4: Regenerate.
19410 * configure: Regenerate.
19411
19412 2008-03-18 Jakub Jelinek <jakub@redhat.com>
19413
19414 PR middle-end/35611
19415 * testsuite/libgomp.c/atomic-4.c: New test.
19416
19417 PR libgomp/35625
19418 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19419 (gomp_iter_guided_next): Likewise.
19420 * testsuite/libgomp.c/pr35625.c: New test.
19421
19422 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19423
19424 * aclocal.m4: Regenerate.
19425 * configure: Likewise.
19426 * Makefile.in: Likewise.
19427 * testsuite/Makefile.in: Likewise.
19428
19429 2008-03-13 Jakub Jelinek <jakub@redhat.com>
19430
19431 PR middle-end/35185
19432 * testsuite/libgomp.c++/pr35185.C: New test.
19433
19434 2008-03-12 Jakub Jelinek <jakub@redhat.com>
19435
19436 PR middle-end/35549
19437 * testsuite/libgomp.c/pr35549.c: New test.
19438
19439 2008-03-06 Jakub Jelinek <jakub@redhat.com>
19440
19441 * testsuite/libgomp.c/atomic-3.c: New test.
19442
19443 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19444
19445 PR fortran/33197
19446 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
19447 .F08 file suffixes.
19448
19449 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19450
19451 PR libgomp/33131
19452 * configure.ac: Add ACX_HEADER_STRING.
19453 * env.c: Include strings.h.
19454 * aclocal.m4: Regenerate.
19455 * config.h.in: Regenerate.
19456 * configure: Regenerate.
19457 * Makefile.in: Regenerate.
19458 * testsuite/Makefile.in: Regenerate.
19459
19460 2008-02-15 Jakub Jelinek <jakub@redhat.com>
19461
19462 PR middle-end/35196
19463 * testsuite/libgomp.c/pr35196.c: New test.
19464
19465 PR middle-end/35130
19466 * testsuite/libgomp.fortran/pr35130.f90: New test.
19467 * testsuite/libgomp.c/pr35130.c: New test.
19468
19469 2008-01-25 Jakub Jelinek <jakub@redhat.com>
19470
19471 PR middle-end/33880
19472 * testsuite/libgomp.c/pr33880.c: New test.
19473 * testsuite/libgomp.fortran/pr33880.f90: New test.
19474
19475 2008-01-24 David Edelsohn <edelsohn@gnu.org>
19476
19477 * configure: Regenerate.
19478
19479 2008-01-08 Jakub Jelinek <jakub@redhat.com>
19480
19481 * configure.ac: Move futex checking into ../config/futex.m4.
19482 * configure: Rebuilt.
19483 * aclocal.m4: Rebuilt.
19484 * Makefile.in: Rebuilt.
19485
19486 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19487 2007-10-15 ../config/tls.m4 change.
19488
19489 2007-12-19 Jakub Jelinek <jakub@redhat.com>
19490
19491 PR c++/34513
19492 * testsuite/libgomp.c/pr34513.c: New test.
19493 * testsuite/libgomp.c++/pr34513.C: New test.
19494
19495 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19496
19497 PR target/32765
19498 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19499
19500 2007-12-04 Jakub Jelinek <jakub@redhat.com>
19501
19502 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19503
19504 2007-12-03 Jakub Jelinek <jakub@redhat.com>
19505
19506 * testsuite/libgomp.c/private-1.c: New test.
19507
19508 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19509 Paolo Bonzini <bonzini@gnu.org>
19510
19511 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19512 instead of 'VPATH ='.
19513 * Makefile.in: Regenerate.
19514
19515 2007-11-23 Matthias Klose <doko@ubuntu.com>
19516
19517 * configure.ac: Adjust makeinfo version check.
19518 * configure: Regenerate.
19519
19520 2007-11-10 Jakub Jelinek <jakub@redhat.com>
19521
19522 PR fortran/34020
19523 * testsuite/libgomp.fortran/pr34020.f90: New test.
19524
19525 2007-11-06 Jakub Jelinek <jakub@redhat.com>
19526
19527 PR c++/33894
19528 * testsuite/libgomp.c++/atomic-1.C: New test.
19529
19530 2007-10-25 Jakub Jelinek <jakub@redhat.com>
19531
19532 PR libgomp/33275
19533 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19534 Make x and y integers rather than (implicit) reals. Add private (j)
19535 clause to the last omp parallel.
19536
19537 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19538
19539 * configure: Regenerate following changes to ../config/tls.m4.
19540
19541 2007-09-28 Jakub Jelinek <jakub@redhat.com>
19542
19543 * testsuite/libgomp.fortran/stack.f90: New test.
19544
19545 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19546
19547 * config/mingw32/proc.c: New file.
19548
19549 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
19550
19551 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19552 (main): Use __get_cpuid to get i386 target fetaures.
19553 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19554 (main): Use __get_cpuid to get x86_64 target fetaures.
19555
19556 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19557
19558 PR target/32765
19559 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19560 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19561
19562 2007-07-12 Jakub Jelinek <jakub@redhat.com>
19563
19564 PR fortran/32550
19565 * testsuite/libgomp.fortran/pr32550.f90: New test.
19566 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19567
19568 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19569
19570 * aclocal.m4: Regenerated.
19571
19572 2007-07-05 Tobias Burnus <burnus@net-b.de>
19573
19574 PR fortran/32359
19575 * testsuite/libgomp.fortran/pr32359.f90: New.
19576
19577 2007-07-02 Jakub Jelinek <jakub@redhat.com>
19578
19579 PR libgomp/32468
19580 * sections.c (GOMP_parallel_sections_start): Only decrease
19581 number of threads to COUNT if dyn_var is true.
19582 * testsuite/libgomp.c/pr32468.c: New test.
19583
19584 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19585
19586 PR libgomp/26308
19587 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19588
19589 2007-06-21 Jakub Jelinek <jakub@redhat.com>
19590
19591 PR middle-end/32362
19592 * testsuite/libgomp.c/pr32362-1.c: New test.
19593 * testsuite/libgomp.c/pr32362-2.c: New test.
19594 * testsuite/libgomp.c/pr32362-3.c: New test.
19595
19596 2007-06-07 Jakub Jelinek <jakub@redhat.com>
19597
19598 * team.c (gomp_team_start): Fix setting up thread_attr
19599 stack size.
19600
19601 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
19602
19603 * configure: Regenerate.
19604
19605 2007-05-23 Steve Ellcey <sje@cup.hp.com>
19606
19607 * Makefile.in: Regenerate.
19608 * configure: Regenerate.
19609 * aclocal.m4: Regenerate.
19610 * testsuite/Makefile.in: Regenerate.
19611
19612 2007-05-04 Jakub Jelinek <jakub@redhat.com>
19613
19614 * config/linux/proc.c: New file.
19615
19616 PR libgomp/28482
19617 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19618
19619 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
19620
19621 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19622
19623 2007-04-16 Matthias Klose <doko@debian.org>
19624
19625 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19626 flags if not building with -m64.
19627 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19628 flag for i?86-*-* targets, if current target matches -m64.
19629
19630 2007-04-14 Steve Ellcey <sje@cup.hp.com>
19631
19632 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19633 * Makefile.in: Regenerate.
19634
19635 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19636
19637 PR testsuite/31369
19638 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19639 ld_library_path.
19640 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19641
19642 2007-04-04 Jakub Jelinek <jakub@redhat.com>
19643
19644 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19645 decls.
19646 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19647 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19648 (parse_affinity): New function.
19649 (initialize_env): Call it and gomp_init_affinity.
19650 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19651 create new pthread_attr_t and call gomp_init_thread_affinity
19652 on it for each thread before passing the attribute to pthread_create.
19653 * config/linux/affinity.c: New file.
19654 * config/posix/affinity.c: New file.
19655 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19656 * configure: Rebuilt.
19657 * config.h.in: Rebuilt.
19658 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19659 * Makefile.in: Rebuilt.
19660
19661 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19662
19663 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19664 *-*-darwin*.
19665 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19666 and use it if found.
19667
19668 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
19669
19670 * testsuite/config/default.exp: New file.
19671 * testsuite/lib/libgomp.exp: New file.
19672 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19673 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19674 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19675 (libgomp_load): Remove.
19676 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19677 always_ld_library_path, not ld_library_path. Set additional_flags
19678 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19679 (target_compile): Do not call libgomp_init. Append lang_library_path
19680 and lang_link_flags to options.
19681 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19682 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19683 here.
19684 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19685 always_ld_library_path. Set LD_LIBRARY_PATH here.
19686 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19687 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19688 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19689 CX8 flag.
19690 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19691 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19692 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19693 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19694 * testsuite/libgomp.c/atomic-10.c: Ditto.
19695
19696 2007-03-21 Jakub Jelinek <jakub@redhat.com>
19697
19698 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19699 dg-final cleanup-modules line.
19700 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19701 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19702 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19703 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19704 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19705 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19706 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19707
19708 2007-03-18 Andreas Schwab <schwab@suse.de>
19709
19710 * acinclude.m4: Adjust regular expression for ld version
19711 extraction.
19712 * configure: Regenerate.
19713
19714 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19715
19716 * Makefile.am: Add install-pdf target as copied from
19717 automake v1.10 rules.
19718 * Makefile.in: Regenerate
19719
19720 2007-02-07 Jakub Jelinek <jakub@redhat.com>
19721
19722 PR libgomp/28486
19723 * configure: Regenerate.
19724
19725 PR c++/30703
19726 * testsuite/libgomp.c++/pr30703.C: New test.
19727
19728 2007-02-02 Jakub Jelinek <jakub@redhat.com>
19729
19730 Revert:
19731 2006-07-05 Eric Christopher <echristo@apple.com>
19732 * configure.ac: Depend addition of -pthread on host OS.
19733 * configure: Regenerate.
19734
19735 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19736
19737 * libgomp.texi: Fix spacing after abbreviations.
19738
19739 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
19740
19741 PR libgomp/30546
19742 * configure.ac: Add check for makeinfo
19743 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
19744 if an appropriate version of makeinfo is found.
19745 * aclocal.m4: Regenerated.
19746 * configure: Regenerated.
19747 * Makefile.in: Regenerated.
19748 * testsuite/Makefile.in: Regenerated.
19749
19750 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
19751
19752 PR libgomp/30540
19753 * libgomp.texi: More about implementation-dependent settings.
19754
19755 2007-01-26 Tobias Burnus <burnus@net-b.de>
19756
19757 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19758
19759 2007-01-24 Jakub Jelinek <jakub@redhat.com>
19760
19761 PR middle-end/30494
19762 * testsuite/libgomp.c/pr30494.c: New test.
19763
19764 2007-01-15 Tom Tromey <tromey@redhat.com>
19765
19766 * configure: Rebuilt.
19767 * configure.ac: Fixed comment.
19768
19769 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
19770
19771 * libgomp.texi: Document implementation specific default values of
19772 environment variables.
19773
19774 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
19775
19776 PR libgomp/28209
19777 * libgomp.texi: New file.
19778 * configure.ac: Add --enable-generated-files-in-srcdir option.
19779 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19780 files to srcdir.
19781 * Makefile.in: Regenerated.
19782 * config.h.in: Regenerated.
19783 * testsuite/Makefile.in: Regenerated.
19784 * NOTES: Removed.
19785
19786 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
19787
19788 PR libgomp/29949
19789 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19790
19791 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19792
19793 * configure: Regenerate.
19794
19795 2006-12-04 Jakub Jelinek <jakub@redhat.com>
19796
19797 PR libgomp/29947
19798 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19799 start if there shouldn't be any loop iterations.
19800 (gomp_loop_ordered_static_start): Remove start == end test.
19801 * testsuite/libgomp.c/pr29947-1.c: New test.
19802 * testsuite/libgomp.c/pr29947-2.c: New test.
19803
19804 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19805
19806 * configure.tgt: Force initial-exec TLS model on Linux only.
19807
19808 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19809
19810 * configure: Regenerated.
19811
19812 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
19813
19814 * env.c (parse_schedule): Reject out of range values.
19815 (parse_unsigned_long): Reject out of range, negative or zero values.
19816
19817 2006-10-29 Jakub Jelinek <jakub@redhat.com>
19818
19819 PR fortran/29629
19820 * testsuite/libgomp.fortran/pr29629.f90: New test.
19821
19822 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19823
19824 PR libgomp/29494
19825 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19826 * config/posix95: New directory.
19827 * config/posix95/omp-lock.h: New file.
19828 * config/posix95/lock.c: Likewise.
19829
19830 2006-10-14 Geoffrey Keating <geoffk@apple.com>
19831
19832 * aclocal.m4: Regenerate.
19833 * configure: Regenerate.
19834
19835 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19836
19837 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19838 '<' to '<='.
19839
19840 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19841
19842 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19843 test.
19844 * configure: Regenerate.
19845 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19846
19847 2006-09-26 Jakub Jelinek <jakub@redhat.com>
19848
19849 PR middle-end/25261
19850 PR middle-end/28790
19851 * testsuite/libgomp.c/nestedfn-4.c: New test.
19852 * testsuite/libgomp.c/nestedfn-5.c: New test.
19853 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19854
19855 PR fortran/29097
19856 * testsuite/libgomp.fortran/condinc1.f: New test.
19857 * testsuite/libgomp.fortran/condinc2.f: New test.
19858 * testsuite/libgomp.fortran/condinc3.f90: New test.
19859 * testsuite/libgomp.fortran/condinc4.f90: New test.
19860 * testsuite/libgomp.fortran/condinc1.inc: New file.
19861
19862 2006-09-18 Tom Tromey <tromey@redhat.com>
19863
19864 * configure: Rebuilt.
19865
19866 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19867
19868 PR c/28768
19869 PR preprocessor/14634
19870 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19871 to AC_DEFINE.
19872 * configure: Regenerate.
19873
19874 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19875
19876 * testsuite/libgomp.fortran/reduction3.f90: Change
19877 -2147483648 to -huge(i)-1 to avoid overflow.
19878 * testsuite/libgomp.fortran/reduction4.f90: Change
19879 Z'ffffffff' to not(0) to avoid overflow.
19880
19881 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
19882
19883 PR libgomp/25938
19884 * Makefile.am (libsubincludedir): New.
19885 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19886 * Makefile.in: Regenerate.
19887
19888 2006-08-17 Jakub Jelinek <jakub@redhat.com>
19889
19890 PR libgomp/28725
19891 * env.c: Include ctype.h.
19892 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19893 leading and/or trailing whitespace and compare strings case
19894 insensitively.
19895
19896 2006-07-16 Jakub Jelinek <jakub@redhat.com>
19897
19898 PR fortran/28390
19899 * testsuite/libgomp.fortran/pr28390.f: New test.
19900
19901 2006-07-05 Eric Christopher <echristo@apple.com>
19902
19903 * configure.ac: Depend addition of -pthread on host OS.
19904 * configure: Regenerate.
19905
19906 2006-06-21 Jakub Jelinek <jakub@redhat.com>
19907
19908 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19909 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19910 defined.
19911
19912 2006-06-20 Jakub Jelinek <jakub@redhat.com>
19913
19914 PR libgomp/26175
19915 PR libgomp/26477
19916 * configure.ac: If neither --enable-linux-futex nor
19917 --disable-linux-futex is passed, determine the default by checking
19918 for compiling and/or running against NPTL. With --enable-linux-futex,
19919 check if SYS_gettid and SYS_futex are defined.
19920 * configure: Rebuilt.
19921
19922 2006-06-14 Richard Henderson <rth@redhat.com>
19923
19924 PR libgomp/28008
19925 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19926 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19927
19928 2006-06-09 Richard Henderson <rth@redhat.com>
19929
19930 * env.c (gomp_nthreads_var): Change to unsigned long.
19931 (gomp_run_sched_chunk): Likewise.
19932 (parse_unsigned_long): Rename from parse_num_threads and generalize.
19933 (initialize_env): Initialize gomp_thread_attr.
19934 * libgomp.h (gomp_nthreads_var): Update decl.
19935 (gomp_run_sched_chunk): Likewise.
19936 (gomp_thread_attr): Declare.
19937 * team.c (gomp_thread_attr): Export.
19938 (initialize_team): Don't initialize it.
19939
19940 2006-06-09 Jakub Jelinek <jakub@redhat.com>
19941
19942 PR fortran/27916
19943 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19944 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19945
19946 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19947
19948 * config/mingw32/time.c: New file.
19949 * configure.tgt: Use it.
19950
19951 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
19952
19953 * Makefile.am: Add install-html target. Add install-html to .PHONY
19954 * Makefile.in: Regenerate.
19955
19956 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19957
19958 PR libgomp/27612
19959 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19960 * testsuite/libgomp.c/critical-1.c: Likewise.
19961 * testsuite/libgomp.c/loop-1.c: Likewise.
19962 * testsuite/libgomp.c/loop-2.c: Likewise.
19963 * testsuite/libgomp.c/single-1.c: Likewise.
19964 * testsuite/libgomp.c/ordered-1.c: Likewise.
19965 * testsuite/libgomp.c/ordered-2.c: Likewise.
19966
19967 2006-05-15 Jakub Jelinek <jakub@redhat.com>
19968
19969 PR middle-end/27416
19970 * libgomp.fortran/pr27416-1.f90: New test.
19971
19972 2006-05-03 Jakub Jelinek <jakub@redhat.com>
19973
19974 PR fortran/27395
19975 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19976 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19977
19978 2006-05-02 Jakub Jelinek <jakub@redhat.com>
19979
19980 PR c++/26943
19981 * testsuite/libgomp.c/pr26943-1.c: New test.
19982 * testsuite/libgomp.c/pr26943-2.c: New test.
19983 * testsuite/libgomp.c/pr26943-3.c: New test.
19984 * testsuite/libgomp.c/pr26943-4.c: New test.
19985 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19986 * testsuite/libgomp.c++/pr26943.C: New test.
19987
19988 2006-05-02 Jakub Jelinek <jakub@redhat.com>
19989
19990 PR middle-end/27337
19991 * testsuite/libgomp.c++/pr27337.C: New test.
19992
19993 2006-04-26 Jakub Jelinek <jakub@redhat.com>
19994
19995 PR c/26171
19996 * testsuite/libgomp.c/pr26171.c: New test.
19997
19998 2006-04-25 Richard Henderson <rth@redhat.com>
19999
20000 PR libgomp/25865
20001 * configure.ac: Use GCC_CHECK_TLS.
20002 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
20003 * Makefile.in, aclocal.m4, configure: Regenerate.
20004
20005 2006-04-10 Matthias Klose <doko@debian.org>
20006
20007 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
20008 directory names containing underscores.
20009
20010 2006-03-21 Jakub Jelinek <jakub@redhat.com>
20011
20012 PR c++/26691
20013 * testsuite/libgomp.c++/pr26691.C: New test.
20014
20015 2006-03-13 Jakub Jelinek <jakub@redhat.com>
20016
20017 * testsuite/libgomp.fortran/retval2.f90: New test.
20018
20019 2006-03-09 Diego Novillo <dnovillo@redhat.com>
20020
20021 * testsuite/libgomp.c++: New directory.
20022
20023 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
20024
20025 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
20026 * config/posix/sem.c: Implement the above.
20027
20028 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
20029
20030 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
20031 define HAVE_BROKEN_POSIX_SEMAPHORES.
20032 * configure: Rebuilt.
20033 * config.h.in: Rebuilt.
20034
20035 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
20036
20037 PR bootstrap/26161
20038 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
20039 for the other pthread check.
20040 * configure: Regenerate.
20041 * config.h.in: Regenerate.
20042
20043 2006-02-15 Jakub Jelinek <jakub@redhat.com>
20044
20045 PR libgomp/25938
20046 PR libgomp/25984
20047 * Makefile.am (fincludedir): New variable.
20048 (nodist_include_HEADERS): Remove Fortran files.
20049 (nodist_finclude_HEADERS): New variable.
20050 * Makefile.in: Regenerated.
20051
20052 2006-02-13 Jakub Jelinek <jakub@redhat.com>
20053
20054 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
20055 Remove tests for returning assumed character length arrays.
20056
20057 2006-02-12 Roger Sayle <roger@eyesopen.com>
20058 John David Anglin <dave@hiauly1.hia.nrc.ca>
20059
20060 PR libgomp/25936
20061 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
20062
20063 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
20064
20065 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
20066
20067 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
20068
20069 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
20070 part of LD_LIBRARY_PATH manually.
20071
20072 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
20073
20074 PR libgomp/25852
20075 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
20076 libgomp_init.
20077
20078 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
20079
20080 PR libgomp/25884
20081 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
20082 * configure.ac (PERL): Don't set.
20083 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
20084 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
20085 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
20086 * omp.h.in: Wrap the new configure substitutions with @ characters.
20087 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
20088 * aclocal.m4, configure, Makefile.in: Regenerate.
20089 * mkomp_h.pl: Delete.
20090
20091 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
20092
20093 PR libgomp/25259
20094 * configure.ac: Use GCC_HEADER_STDINT.
20095 * libgomp.h: Include gstdint.h.
20096 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
20097 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
20098
20099 2006-01-24 Richard Henderson <rth@redhat.com>
20100
20101 PR libgomp/25942
20102 * configure.ac: Add AM_MAINTAINER_MODE.
20103 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
20104
20105 2006-01-24 Diego Novillo <dnovillo@redhat.com>
20106
20107 * Makefile.in: Regenerate.
20108 * testsuite/Makefile.in: Regenerate.
20109 * aclocal.m4: Regenerate.
20110
20111 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
20112
20113 * config/posix/proc.c: Conditional include of sys/loadavg.h for
20114 Solaris.
20115 * configure.ac: Add check for loadavg.h.
20116 (link_gomp): Adjust comment.
20117 * configure: Regenerate.
20118 * config.h.in: Regenerate.
20119
20120 2006-01-21 Steve Ellcey <sje@cup.hp.com>
20121
20122 PR libgomp/25877
20123 * configure.ac: Remove check for alloca.h.
20124 * configure: Regenerate.
20125 * config.h.in: Regenerate.
20126 * libgomp.h: define gomp_alloca to be __builtin_alloca.
20127 * team.c: Remove use of alloca.h.
20128 Call gomp_alloca instead of alloca.
20129
20130 2006-01-20 Steve Ellcey <sje@cup.hp.com>
20131
20132 PR libgomp/25877
20133 * team.c: Add include of alloca.h.
20134 * configure.ac: Add check for alloca.h.
20135 * configure: Regenerate.
20136 * config.h.in: Regenerate.
20137
20138 2006-01-17 Jakub Jelinek <jakub@redhat.com>
20139
20140 PR fortran/25219
20141 * testsuite/libgomp.fortran/pr25219.f90: New test.
20142
20143 2005-12-05 Uros Bizjak <uros@kss-loka.si>
20144
20145 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20146 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20147 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20148 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20149 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20150 testsuite/libgomp.fortran/threadprivate1.f90,
20151 testsuite/libgomp.fortran/threadprivate2.f90,
20152 testsuite/libgomp.fortran/threadprivate3.f90,
20153 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20154 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20155 testsuite/libgomp.fortran/omp_parse3.f90: Change required
20156 effective-target to TLS runtime.
20157
20158 * testsuite/libgomp.fortran/pr25162.f: Require
20159 effective-target TLS runtime.
20160
20161 2005-12-01 Jakub Jelinek <jakub@redhat.com>
20162
20163 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20164 * testsuite/libgomp.c/nestedfn-3.c: New test.
20165
20166 2005-11-30 Jakub Jelinek <jakub@redhat.com>
20167
20168 PR fortran/25162
20169 * testsuite/libgomp.fortran/pr25162.f: New test.
20170
20171 2005-11-28 Jakub Jelinek <jakub@redhat.com>
20172
20173 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20174 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20175
20176 2005-11-25 Jakub Jelinek <jakub@redhat.com>
20177
20178 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20179 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20180 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20181 single.c, team.c, work.c, config/linux/alpha/futex.h,
20182 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20183 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20184 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20185 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20186 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20187 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20188 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20189 FSF address.
20190
20191 2005-11-18 Jakub Jelinek <jakub@redhat.com>
20192
20193 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20194 to nodist_noinst_HEADERS.
20195 * Makefile.in: Rebuilt.
20196
20197 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20198 add integer count field.
20199 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20200 omp_nest_lock_t type change.
20201 (omp_init_nest_lock): Likewise. Initialize count to 0.
20202 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20203 Increment count.
20204 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20205 Decrement count.
20206 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20207 Increment count if successful and return the new nesting level.
20208 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20209 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20210 * testsuite/libgomp.c/lib-1.c: New test.
20211 * testsuite/libgomp.fortran/lib1.f90: New test.
20212 * testsuite/libgomp.fortran/lib2.f: New test.
20213 * testsuite/libgomp.fortran/lib3.f: New test.
20214
20215 2005-11-17 Richard Henderson <rth@redhat.com>
20216
20217 PR 24845
20218 * Makefile.am (nodist_toolexeclib_HEADERS): New.
20219 * configure.ac (link_gomp): New. Substitute it.
20220 (AC_CONFIG_FILES): Add libgomp.spec.
20221 * libgomp.spec.in: New file.
20222 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20223 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20224
20225 2005-11-18 Jakub Jelinek <jakub@redhat.com>
20226
20227 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20228 reduction(-:var) behaving the same as reduction(+:var).
20229 * testsuite/libgomp.c/reduction-4.c: New test.
20230
20231 2005-11-15 Uros Bizjak <uros@kss-loka.si>
20232
20233 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20234 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20235 testsuite/libgomp.c/copyin-3.c,
20236 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20237 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20238 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20239 testsuite/libgomp.c++/pr24455.C,
20240 testsuite/libgomp.fortran/threadprivate1.f90,
20241 testsuite/libgomp.fortran/threadprivate2.f90,
20242 testsuite/libgomp.fortran/threadprivate3.f90,
20243 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20244 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20245 testsuite/libgomp.fortran/omp_parse3.f90: Require
20246 effective-target TLS.
20247
20248 2005-11-14 Diego Novillo <dnovillo@redhat.com>
20249
20250 * HEADER: Remove.
20251
20252 2005-11-13 Jakub Jelinek <jakub@redhat.com>
20253
20254 PR libgomp/24797
20255 * team.c (initialize_team): Pass NULL rather than free as
20256 pthread_key_create destructor. Initialize thread specific data
20257 pointer in initial thread to a static local variable rather than
20258 malloced memory.
20259
20260 2005-11-11 Uros Bizjak <uros@kss-loka.si>
20261
20262 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20263 its location to ld_library_path.
20264
20265 2005-11-10 Diego Novillo <dnovillo@redhat.com>
20266
20267 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20268
20269 2005-11-10 Diego Novillo <dnovillo@redhat.com>
20270
20271 * testsuite/libgomp.c: Rename from libgomp.dg.
20272
20273 2005-11-09 Diego Novillo <dnovillo@redhat.com>
20274
20275 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20276 threadprivate variable 'i'.
20277
20278 2005-11-09 Jakub Jelinek <jakub@redhat.com>
20279
20280 * config/linux/s390/futex.h: New file.
20281 * configure.tgt: Use it.
20282
20283 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20284 before the parallel.
20285
20286 2005-11-08 Jakub Jelinek <jakub@redhat.com>
20287
20288 PR c++/24734
20289 * testsuite/libgomp.c++/master-1.C: New test.
20290
20291 2005-11-07 Jakub Jelinek <jakub@redhat.com>
20292
20293 * testsuite/libgomp.dg/copyin-3.c: New test.
20294
20295 2005-11-07 Jakub Jelinek <jakub@redhat.com>
20296
20297 * testsuite/libgomp.fortran/retval1.f90: New test.
20298 * testsuite/libgomp.fortran/vla7.f90: New test.
20299
20300 2005-11-06 Jakub Jelinek <jakub@redhat.com>
20301
20302 * testsuite/libgomp.fortran/vla2.f90: New test.
20303 * testsuite/libgomp.fortran/vla3.f90: New test.
20304 * testsuite/libgomp.fortran/vla4.f90: New test.
20305 * testsuite/libgomp.fortran/vla5.f90: New test.
20306 * testsuite/libgomp.fortran/vla6.f90: New test.
20307
20308 2005-11-01 Jakub Jelinek <jakub@redhat.com>
20309
20310 * config/linux/sparc/futex.h: New file.
20311 * configure.tgt: Use it.
20312 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20313
20314 * critical.c: Include stdlib.h.
20315 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20316 ignoring return value.
20317 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20318 LIBGOMP_CHECK_SYNC_BUILTINS check.
20319 * configure: Rebuilt.
20320
20321 2005-10-31 Jakub Jelinek <jakub@redhat.com>
20322
20323 * testsuite/libgomp.fortran/vla1.f90: New test.
20324
20325 2005-10-31 Richard Henderson <rth@redhat.com>
20326
20327 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20328 setting 's' in different threads.
20329
20330 2005-10-31 Jakub Jelinek <jakub@redhat.com>
20331
20332 * libgomp.h (attribute_hidden, ialias): Define.
20333 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20334 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20335 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20336 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20337 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20338 omp_test_lock, omp_test_nest_lock): Likewise.
20339 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20340 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20341 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20342 omp_test_lock, omp_test_nest_lock): Likewise.
20343 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20344 omp_get_dynamic, omp_get_nested): Likewise.
20345 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20346 omp_get_thread_num, omp_in_parallel): Likewise.
20347 * fortran.c (ialias_redirect): Define.
20348 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20349 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20350 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20351 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20352 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20353 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20354 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20355 omp_get_wtime): Add ialias_redirect.
20356
20357 2005-10-30 Jakub Jelinek <jakub@redhat.com>
20358
20359 * fortran.c: Include stdlib.h.
20360
20361 2005-10-29 Jakub Jelinek <jakub@redhat.com>
20362
20363 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20364 * Makefile.in: Regenerated.
20365
20366 2005-10-28 Jakub Jelinek <jakub@redhat.com>
20367
20368 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20369 * libgomp_f.h.in (omp_check_defines): New function.
20370 * env.c: Include libgomp_f.h.
20371 (initialize_env): Call omp_check_defines.
20372
20373 * testsuite/libgomp.dg/copyin-2.c: New test.
20374 * testsuite/libgomp.c++/copyin-2.C: New test.
20375 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20376
20377 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20378 * testsuite/libgomp.fortran/sharing2.f90: New test.
20379
20380 * testsuite/libgomp.dg/copyin-1.c: New test.
20381 * testsuite/libgomp.c++/copyin-1.C: New test.
20382
20383 2005-10-26 Jakub Jelinek <jakub@redhat.com>
20384
20385 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20386
20387 * testsuite/libgomp.fortran/workshare1.f90: New test.
20388
20389 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20390 only test.
20391 * libgomp.fortran/sharing1.f90: New test.
20392
20393 2005-10-24 Jakub Jelinek <jakub@redhat.com>
20394
20395 PR c++/24502
20396 * testsuite/libgomp.c++/loop-7.C: New test.
20397
20398 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20399
20400 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20401 * testsuite/libgomp.fortran/reduction6.f90: New test.
20402 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20403
20404 2005-10-23 Richard Henderson <rth@redhat.com>
20405
20406 * testsuite/libgomp.c++/ctor-1.C: New.
20407 * testsuite/libgomp.c++/ctor-2.C: New.
20408 * testsuite/libgomp.c++/ctor-3.C: New.
20409 * testsuite/libgomp.c++/ctor-4.C: New.
20410 * testsuite/libgomp.c++/ctor-5.C: New.
20411 * testsuite/libgomp.c++/ctor-6.C: New.
20412 * testsuite/libgomp.c++/ctor-7.C: New.
20413 * testsuite/libgomp.c++/ctor-8.C: New.
20414 * testsuite/libgomp.c++/ctor-9.C: New.
20415
20416 2005-10-21 Diego Novillo <dnovillo@redhat.com>
20417
20418 PR 24455
20419 * testsuite/libgomp.c++/pr24455-1.C: New test.
20420 * testsuite/libgomp.c++/pr24455.C: New test.
20421 * testsuite/libgomp.dg/pr24455-1.c: New test.
20422 * testsuite/libgomp.dg/pr24455.c: New test.
20423
20424 2005-10-20 Richard Henderson <rth@redhat.com>
20425
20426 * testsuite/libgomp.c++/loop-6.C: New.
20427 * testsuite/libgomp.dg/loop-3.c: New.
20428
20429 2005-10-20 Jakub Jelinek <jakub@redhat.com>
20430
20431 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20432 explicitly private.
20433 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20434 explicitly shared.
20435
20436 2005-10-19 Diego Novillo <dnovillo@redhat.com>
20437
20438 * testsuite/libgomp.fortran/jacobi.f: New test.
20439
20440 2005-10-19 Richard Henderson <rth@redhat.com>
20441
20442 * configure.tgt (i?86-linux): Default to with_arch instead of
20443 CFLAGS. Add -mtune to match target_cpu.
20444 (x86_64-linux): Tune to i686.
20445
20446 * fortran.c (omp_test_nest_lock_): Fix typo.
20447
20448 2005-10-19 Jakub Jelinek <jakub@redhat.com>
20449
20450 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20451 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20452 * testsuite/libgomp.dg/ordered-3.c: New test.
20453
20454 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20455 Remove volatile keyword.
20456
20457 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20458 in COMMON block to avoid warnings on 64-bit targets.
20459
20460 2005-10-18 Diego Novillo <dnovillo@redhat.com>
20461
20462 * testsuite/libgomp.dg/shared-3.c: New test.
20463
20464 2005-10-18 Jakub Jelinek <jakub@redhat.com>
20465
20466 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20467 * testsuite/libgomp.fortran/reduction5.f90: New test.
20468
20469 2005-10-18 Jakub Jelinek <jakub@redhat.com>
20470
20471 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20472 dg-options.
20473 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20474 flush loop now that __sync_synchronize has proper memory barrier.
20475 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20476 Add -ffixed-form to dg-options.
20477
20478 2005-10-17 Diego Novillo <dnovillo@redhat.com>
20479
20480 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20481 from subdirectories.
20482 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20483 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20484 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20485 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20486 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20487 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20488 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20489 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20490 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20491 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20492 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20493 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20494 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20495 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20496 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20497 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20498 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20499 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20500 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20501 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20502 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20503 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20504 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20505 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20506 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20507
20508 2005-10-17 Jakub Jelinek <jakub@redhat.com>
20509
20510 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20511 lang_library_path exists. Use find instead of glob to gather tests.
20512 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20513
20514 2005-10-17 Diego Novillo <dnovillo@redhat.com>
20515
20516 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20517 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20518 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20519 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20520 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20521 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20522 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20523 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20524 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20525 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20526 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20527 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20528 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20529
20530 2005-10-15 Jakub Jelinek <jakub@redhat.com>
20531
20532 * testsuite/libgomp.dg/vla-1.c: New test.
20533
20534 * testsuite/libgomp.fortran/reference2.f90: New test.
20535
20536 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20537 declaration of omp_get_thread_num.
20538 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20539 use omp_lib.
20540
20541 * testsuite/libgomp.fortran/reduction1.f90: New test.
20542 * testsuite/libgomp.fortran/reduction2.f90: New test.
20543 * testsuite/libgomp.fortran/reduction3.f90: New test.
20544 * testsuite/libgomp.fortran/reduction4.f90: New test.
20545
20546 2005-10-13 Richard Henderson <rth@redhat.com>
20547
20548 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20549 * Makefile.in: Regenerate.
20550 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20551 * libgomp.h: Include bar.h.
20552 (struct gomp_barrier): Remove.
20553 (struct gomp_team): Add barrier. Replace master_barrier with
20554 master_release. Replace threads with ordered_release.
20555 (struct gomp_thread): Replace barrier with release.
20556 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20557 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20558 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20559 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20560 (GOMP_single_copy_end): Likewise.
20561 * team.c (gomp_threads_dock): New.
20562 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20563 (gomp_thread_start): Use gomp_barrier_wait.
20564 (new_team, free_team): Update for gomp_team changes.
20565 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20566 (gomp_team_end): Use gomp_barrier_wait.
20567 (initialize_team): Update for gomp_thread changes.
20568 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20569 (gomp_work_share_end_nowait): Use atomic ops when available.
20570 * config/linux/bar.c, config/linux/bar.h: New files.
20571 * config/posix/bar.c, config/posix/bar.h: New files.
20572
20573 2005-10-13 Jakub Jelinek <jakub@redhat.com>
20574
20575 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20576 * testsuite/libgomp.dg/single-2.c: New test.
20577
20578 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20579 lang_link_flags): Unset, so that they aren't inherited from previously
20580 sourced *.exp.
20581
20582 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20583
20584 2005-10-12 Richard Henderson <rth@redhat.com>
20585
20586 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20587 (libgomp_init): Use lang_test_file, lang_library_path, and
20588 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20589
20590 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20591 (lang_test_file, lang_link_flags): New.
20592 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20593
20594 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20595 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20596 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20597 testsuite/libgomp.c++/parallel-1.C,
20598 testsuite/libgomp.c++/reduction-1.C,
20599 testsuite/libgomp.c++/reduction-2.C,
20600 testsuite/libgomp.c++/reduction-3.C,
20601 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20602 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20603 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20604 New files, largely cribbed from the C testsuite.
20605
20606 2005-10-12 Jakub Jelinek <jakub@redhat.com>
20607
20608 * testsuite/libgomp.fortran/character1.f90: New test.
20609 * testsuite/libgomp.fortran/character2.f90: New test.
20610
20611 * testsuite/libgomp.dg/nested-1.c: New test.
20612 * testsuite/libgomp.dg/nested-2.c: New test.
20613 * testsuite/libgomp.fortran/do1.f90: New test.
20614 * testsuite/libgomp.fortran/do2.f90: New test.
20615
20616 * testsuite/libgomp.fortran/reference1.f90: New test.
20617
20618 2005-10-11 Jakub Jelinek <jakub@redhat.com>
20619
20620 * testsuite/libgomp.dg/reduction-1.c: New test.
20621 * testsuite/libgomp.dg/reduction-2.c: New test.
20622 * testsuite/libgomp.dg/reduction-3.c: New test.
20623
20624 2005-10-10 Jakub Jelinek <jakub@redhat.com>
20625
20626 * testsuite/libgomp.dg/atomic-1.c: New test.
20627 * testsuite/libgomp.dg/atomic-2.c: New test.
20628
20629 2005-10-09 Richard Henderson <rth@redhat.com>
20630
20631 * critical.c (atomic_lock): New.
20632 (initialize_critical): Initialize it.
20633 (GOMP_atomic_start, GOMP_atomic_end): New.
20634 * libgomp.map: Export them.
20635 * libgomp_g.h: Declare them.
20636
20637 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20638
20639 2005-10-02 Richard Henderson <rth@redhat.com>
20640
20641 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20642 to XCFLAGS instead of CFLAGS.
20643
20644 2005-09-30 Richard Henderson <rth@redhat.com>
20645
20646 * configure.ac: Determine whether -pthread or -lpthread is needed.
20647 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
20648 * Makefile.in, configure: Rebuild.
20649
20650 2005-09-28 Richard Henderson <rth@redhat.com>
20651
20652 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20653 * testsuite/libgomp.dg/omp-single-3.c: New test.
20654
20655 2005-09-28 Diego Novillo <dnovillo@redhat.com>
20656
20657 * testsuite/libgomp.dg/omp-single-2.c: New test.
20658 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20659
20660 2005-09-27 Richard Henderson <rth@redhat.com>
20661
20662 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20663 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20664
20665 2005-09-27 Jakub Jelinek <jakub@redhat.com>
20666
20667 * testsuite/libgomp.dg/omp-loop03.c: New test.
20668
20669 2005-09-27 Diego Novillo <dnovillo@redhat.com>
20670
20671 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20672
20673 2005-09-27 Diego Novillo <dnovillo@redhat.com>
20674
20675 * testsuite/libgomp.dg/omp-single-1.c: New test.
20676 * testsuite/libgomp.dg/shared-1.c: Return 0.
20677 Add prototype for abort.
20678 * testsuite/libgomp.dg/shared-2.c: Likewise.
20679
20680 2005-09-26 Jakub Jelinek <jakub@redhat.com>
20681
20682 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20683 constructs.
20684
20685 2005-09-26 Diego Novillo <dnovillo@redhat.com>
20686
20687 * testsuite/libgomp.dg/shared-1.c: New test.
20688 * testsuite/libgomp.dg/shared-2.c: New test.
20689
20690 2005-09-24 Richard Henderson <rth@redhat.com>
20691
20692 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20693
20694 2005-09-24 Richard Henderson <rth@redhat.com>
20695
20696 * iter.c (gomp_iter_static_next): Round up when computing number
20697 of iterations. Don't bother distributing a remainder equally.
20698
20699 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20700 Don't call srand. Zero b before testing.
20701 (main): New.
20702
20703 2005-09-24 Jakub Jelinek <jakub@redhat.com>
20704
20705 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20706 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20707
20708 2005-09-23 Jakub Jelinek <jakub@redhat.com>
20709
20710 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20711 without !$omp end do, followed immediately by subroutine end.
20712
20713 2005-09-23 Diego Novillo <dnovillo@redhat.com>
20714
20715 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20716
20717 2005-09-22 Richard Henderson <rth@redhat.com>
20718
20719 * critical.c (GOMP_critical_name_start): Change argument to void**.
20720 Reuse the pointer space if the mutex fits.
20721 (GOMP_critical_name_end): Likewise.
20722 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20723 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20724 (GOMP_critical_name_end): Likewise.
20725 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20726 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20727
20728 2005-09-20 Richard Henderson <rth@redhat.com>
20729
20730 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20731 (create_lock_lock): New.
20732 (initialize_critical): Initialize it.
20733 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20734 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20735
20736 2005-09-20 Diego Novillo <dnovillo@redhat.com>
20737
20738 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20739
20740 2005-09-20 Diego Novillo <dnovillo@redhat.com>
20741
20742 * testsuite/libgomp.dg/omp-loop01.c: New test.
20743 * testsuite/libgomp.dg/omp-loop02.c: New test.
20744
20745 2005-09-20 Jakub Jelinek <jakub@redhat.com>
20746
20747 * configure.ac (AC_PROG_FC): Add.
20748 (USE_FORTRAN): New automake conditional.
20749 * configure: Rebuilt.
20750 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20751 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20752 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20753 Add rules to build them.
20754 * Makefile.in: Rebuilt.
20755 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20756 OMP_NEST_LOCK_KIND.
20757 * libgomp.map: Add Fortran wrappers.
20758 * libgomp_f.h.in: New file.
20759 * omp_lib.h.in: New file.
20760 * omp_lib.f90.in: New file.
20761 * fortran.c: New file.
20762 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20763 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20764 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20765 libgfortran has been built.
20766 * testsuite/libgomp.fortran/fortran.exp: New file.
20767 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20768 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20769 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20770 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20771 * testsuite/libgomp.fortran/omp_hello.f: New test.
20772 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20773 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20774 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20775 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20776 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20777 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20778 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20779 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20780
20781 2005-08-30 Richard Henderson <rth@redhat.com>
20782
20783 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20784 function for when aliases are not usable.
20785 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20786 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20787 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20788 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20789 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20790 GOMP_loop_ordered_guided_next): Likewise.
20791 * ordered.c (GOMP_ordered_start): Likewise.
20792
20793 2005-08-01 Diego Novillo <dnovillo@redhat.com>
20794
20795 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20796 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20797 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20798 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20799 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20800 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20801 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20802 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20803 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20804
20805 2005-07-07 Eric Christopher <echristo@redhat.com>
20806 Diego Novillo <dnovillo@redhat.com>
20807
20808 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20809 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20810 up code.
20811 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20812 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20813 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20814 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20815 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20816 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20817 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20818
20819 2005-06-13 Diego Novillo <dnovillo@redhat.com>
20820
20821 * TOPLEVEL.patch: Remove.
20822
20823 2005-05-16 Richard Henderson <rth@redhat.com>
20824
20825 * configure.ac: Test for clock_gettime.
20826 * config.h.in, configure: Rebuild.
20827 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20828 (omp_get_wtime): Use clock_gettime if available.
20829 (omp_get_wtick): Use clock_getres if available.
20830
20831 2005-05-11 Richard Henderson <rth@redhat.com>
20832
20833 * config/linux/ia64/futex.h: New file.
20834 * configure.tgt: Use it.
20835
20836 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20837
20838 2005-05-07 Richard Henderson <rth@redhat.com>
20839
20840 * config/linux/powerpc/futex.h: New file.
20841 * configure.tgt: Use it.
20842
20843 * config/linux/i486/futex.h: Merge ...
20844 * config/linux/x86_64/futex.h: ... into ...
20845 * config/linux/x86/futex.h: ... here.
20846 * configure.tgt: Update to match.
20847
20848 2005-05-06 Richard Henderson <rth@redhat.com>
20849
20850 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20851 * config/linux/i486/futex.h: Likewise.
20852 * config/linux/x86_64/futex.h: Likewise.
20853
20854 * config/linux/lock.c: New file.
20855 * config/linux/omp-lock.h: New file.
20856
20857 * critical.c, env.h: Don't include omp.h
20858 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20859 * config/posix/time.c: Likewise.
20860 * config/posix/omp-lock.h: New file.
20861 * libgomp.h: Include omp-lock.h and omp.h.
20862 * Makefile.am (nodist_include_HEADERS): New.
20863 (omp.h): New rule.
20864 * configure.ac (PERL): New.
20865 * mkomp_h.pl: New file.
20866 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20867 with templates.
20868 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20869
20870 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20871 build directory. Re-add -march=i486 hack.
20872
20873 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20874 (libgomp_link_flags): Remove.
20875 (libgomp_initialized): Remove.
20876 (libgomp_init): Don't protect from reinitialization. Copy code
20877 from libstdc++ for getting the multilib set correctly.
20878
20879 2005-05-05 Richard Henderson <rth@redhat.com>
20880
20881 * config/linux/alpha/futex.h: New file.
20882 * configure.tgt (alpha*-*-linux*): Use it.
20883
20884 * config/posix/mutex.c: New file.
20885 * config/posix/sem.c: Use libgomp.h.
20886
20887 * configure.tgt (x86_64-linux): Also test CC for -m32.
20888 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20889
20890 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
20891 after $gccpath.
20892
20893 * Makefile.am (SUBDIRS): New.
20894 (libgomp_la_LDFLAGS): Add -lpthread.
20895 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20896 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20897
20898 * libgomp_g.h: New file.
20899 * libgomp.h: Split out all public declarations to libgomp_g.h.
20900 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20901 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20902 * config/linux/sem.h: Likewise.
20903 * config/posix/sem.h: Likewise.
20904
20905 * Makefile.am (AM_LDFLAGS): New.
20906 (libgomp_version_script): Split out from ...
20907 (libgomp_la_LDFLAGS): ... here.
20908 (libgomp_version_info): New.
20909 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20910 (LIBGOMP_ENABLE): New.
20911 (LIBGOMP_CHECK_LINKER_FEATURES): New.
20912 (LIBGOMP_ENABLE_SYMVERS): New.
20913 * configure.ac (AC_INIT): Version 1.0.
20914 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20915 (enable-linux-futex): Likewise. Rename from enable-futex.
20916 (libtool_VERSION): New.
20917 (LIBGOMP_ENABLE_SYMVERS): Use it.
20918 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20919 * Makefile.in, aclocal.m4, configure: Rebuild.
20920
20921 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20922 (gomp_mutex_unlock_slow): Fix typo.
20923 * config/linux/sem.c: Similarly.
20924 (gomp_sem_post_slow): Fix typo.
20925 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20926 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20927 [__PIC__] (sys_futex0): Don't use tmp output in asm.
20928
20929 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20930 (libgomp_la_LDFLAGS): Add top_srcdir to path.
20931 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20932 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
20933 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20934 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20935 LDFLAGS. Pull enable_futex check to top-level.
20936 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
20937 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20938
20939 First attempt at real configury.
20940 * Makefile, config.h: Remove file.
20941 * Makefile.am, Makefile.in: New file.
20942 * acinclude.m4 aclocal.m4: New file.
20943 * configure.ac, configure.tgt, configure: New file.
20944
20945 * config/posix/lock.c: Rename from sys-lock.c.
20946 * config/posix/mutex.h: Rename from sys-mutex.h.
20947 * config/posix/sem.c: Rename from sys-sem.c.
20948 * config/posix/sem.h: Rename from sys-sem.h.
20949 * config/posix/proc.c: Rename from sys-proc.c.
20950 * config/posix/time.c: Rename from sys-proc.c.
20951
20952 * config/linux/mutex.c: New file.
20953 * config/linux/mutex.h: New file.
20954 * config/linux/sem.c: New file.
20955 * config/linux/sem.h: New file.
20956 * config/linux/i486/futex.h: New file.
20957 * config/linux/x86_64/futex.h: New file.
20958
20959 2005-05-04 Richard Henderson <rth@redhat.com>
20960
20961 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20962 * libgomp.h: Declare them.
20963 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20964 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20965
20966 2005-05-04 Richard Henderson <rth@redhat.com>
20967
20968 * libgomp-1 code drop
20969
20970 2005-05-04 Richard Henderson <rth@redhat.com>
20971
20972 * iter.c (gomp_iter_static_next): Return tri-state on 0.
20973 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20974 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20975 (gomp_iter_static_next): Update.
20976 (gomp_ordered_static_next): Update.
20977 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20978 (gomp_loop_ordered_static_start): Likewise. Exit early for a
20979 totally empty range.
20980 (gomp_loop_ordered_static_next): Refine test for calling
20981 gomp_ordered_static_next.
20982 * testsuite/ordered-1.c: Add case for more threads than iterations.
20983
20984 * iter.c (gomp_iter_runtime_next_locked): Remove.
20985 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
20986 gomp_loop_guided_start, gomp_loop_ordered_static_start,
20987 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20988 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20989 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20990 gomp_loop_ordered_guided_next): Downcase name, make static, add
20991 an external alias with the old name.
20992 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20993 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20994 switch and call one of the above static functions.
20995 * libgomp.h: Update.
20996
20997 * work.c (gomp_work_share_start): Lock the mutex for !first too.
20998 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20999 GOMP_loop_guided_start, GOMP_loop_runtime_start,
21000 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
21001 GOMP_loop_ordered_guided_start): Update to match.
21002 * sections.c (GOMP_sections_start): Likewise.
21003 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
21004
21005 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
21006 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
21007 Use bounds check instead of modulus.
21008 (gomp_ordered_sync): Split out of GOMP_ordered_start.
21009 (gomp_ordered_last): Don't sync with ordered_owner here.
21010 (gomp_ordered_next): Likewise.
21011 (gomp_ordered_static_loop_next): Likewise.
21012 * loop.c, libgomp.h: Update to match.
21013
21014 * libgomp.h (GOMP_barrier): Declare.
21015
21016 * testsuite/barrier-1.c: New file.
21017 * testsuite/critical-1.c: New file.
21018 * testsuite/ordered-2.c: New file.
21019 * testsuite/ordered-1.c: New file.
21020 * testsuite/sections-1.c: New file.
21021 * testsuite/single-1.c: New file.
21022 * testsuite/Makefile (TESTS): Add them.
21023
21024 2005-05-04 Richard Henderson <rth@redhat.com>
21025
21026 * libgomp.h (struct gomp_work_share): Add ordered_owner.
21027 * loop.c (GOMP_loop_static_start): If not the startup thread,
21028 acquire the mutex to wait for initialization complete.
21029 (GOMP_loop_ordered_static_start): Likewise.
21030 (GOMP_loop_ordered_runtime_start): Likewise.
21031 (GOMP_loop_ordered_static_first): Remove.
21032 (GOMP_loop_ordered_dynamic_first): Remove.
21033 (GOMP_loop_ordered_guided_first): Remove.
21034 (GOMP_loop_ordered_runtime_first): Remove.
21035 * ordered.c (gomp_ordered_loop_first): Post to own release when
21036 we're the first thread.
21037 (gomp_ordered_loop_last): Wait on release if not owner.
21038 (gomp_ordered_loop_next): Likewise.
21039 (gomp_ordered_static_loop_init): New.
21040 (gomp_ordered_static_loop_next): Use ordered_owner.
21041 (GOMP_ordered_start): Likewise.
21042 * work.c (gomp_new_work_share): Initialize ordered_owner.
21043
21044 2005-05-03 Richard Henderson <rth@redhat.com>
21045
21046 * Makefile (OPT): New.
21047 (CFLAGS): Use it.
21048
21049 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
21050 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
21051 * libgomp.h, libgomp.map, NOTES: Update to match.
21052
21053 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
21054 Add initialized and thr members.
21055 (gomp_thread_start): Pause when initially spawned to wait for
21056 the whole team to be created.
21057 (gomp_team_start): Release team members at the end.
21058
21059 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
21060 (f_foo_1): Use GOMP_loop_end.
21061 (f_foo_2): Use GOMP_loop_end_nowait.
21062
21063 * testsuite/loop-2.c: New file.
21064 * testsuite/Makefile (TESTS): Add it.
21065
21066 2005-05-03 Richard Henderson <rth@redhat.com>
21067
21068 * iter.c (gomp_iter_static_next): Fix overflow check typo.
21069 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
21070 * team.c (new_team): Initialize oldest_live_gen to 1 if no
21071 initial work_share.
21072
21073 * testsuite/Makefile: New file.
21074 * testsuite/loop-1.c: New file.
21075
21076 2005-05-03 Richard Henderson <rth@redhat.com>
21077
21078 Initial implementation and checkin.
21079 \f
21080 Copyright (C) 2005-2024 Free Software Foundation, Inc.
21081
21082 Copying and distribution of this file, with or without modification,
21083 are permitted in any medium without royalty provided the copyright
21084 notice and this notice are preserved.