1 2024-08-09 Thomas Schwinge <tschwinge@baylibre.com>
3 * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C:
4 Fix effective-target keyword.
5 * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C:
7 * testsuite/libgomp.c-c++-common/target-is-initial-host-2.c:
9 * testsuite/libgomp.c-c++-common/target-is-initial-host.c:
11 * testsuite/libgomp.fortran/target-is-initial-host-2.f90:
13 * testsuite/libgomp.fortran/target-is-initial-host.f: Likewise.
14 * testsuite/libgomp.fortran/target-is-initial-host.f90: Likewise.
16 2024-08-08 Tobias Burnus <tburnus@baylibre.com>
18 * libgomp.texi (OpenMP Technical Report 13): Renamed from
19 'OpenMP Technical Report 12'; updated for TR13 changes.
21 2024-08-08 Tobias Burnus <tburnus@baylibre.com>
23 * libgomp.texi (omp_is_initial_device): Mention
24 -fno-builtin-omp_is_initial_device and folding by default.
26 2024-08-08 Tobias Burnus <tburnus@baylibre.com>
28 * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C: Split
29 scan-tree-dump into with and without target offload_target_any.
30 * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C:
33 2024-08-07 Julian Brown <julian@codesourcery.com>
34 Tobias Burnus <tobias@baylibre.com>
36 * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C: New test.
37 * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C: New test.
38 * testsuite/libgomp.c++/static-aggr-constructor-destructor-3.C: New test.
39 * testsuite/libgomp.c-c++-common/target-is-initial-host.c: New test.
40 * testsuite/libgomp.c-c++-common/target-is-initial-host-2.c: New test.
41 * testsuite/libgomp.fortran/target-is-initial-host.f: New test.
42 * testsuite/libgomp.fortran/target-is-initial-host.f90: New test.
43 * testsuite/libgomp.fortran/target-is-initial-host-2.f90: New test.
45 2024-08-07 Tobias Burnus <tburnus@baylibre.com>
47 * testsuite/libgomp.c-c++-common/target-link-2.c: Reset variable
48 value to handle multi-device tests.
50 2024-08-06 Tobias Burnus <tburnus@baylibre.com>
52 * target.c (gomp_load_image_to_device): Extend fatal-error message;
55 2024-08-05 Tobias Burnus <tburnus@baylibre.com>
57 * libgomp.texi (OpenMP Runtime Library Routines): Add TR13 routines
58 to @menu (commented out).
60 2024-08-01 Tobias Burnus <tburnus@baylibre.com>
61 Richard Biener <rguenther@suse.de
64 * testsuite/libgomp.fortran/declare-target-link.f90: Uncomment
67 2024-07-31 Sam James <sam@gentoo.org>
69 * testsuite/libgomp.c++/pr24455.C: Fix dg-require-effective-target directive order.
70 * testsuite/libgomp.c/pr24455.c: Likewise.
72 2024-07-31 Sam James <sam@gentoo.org>
74 * testsuite/libgomp.c++/declare-target-indirect-1.C: Fix 'dg-run' typo.
76 2024-07-29 Tobias Burnus <tburnus@baylibre.com>
78 * libgomp.texi (OpenMP Runtime Library Routines): Add missing
79 title to some commented still undocumented items.
80 (Device Information Routines): Update.
82 2024-07-29 Tobias Burnus <tburnus@baylibre.com>
85 * testsuite/libgomp.fortran/declare-target-link.f90: New test.
87 2024-07-29 Tobias Burnus <tburnus@baylibre.com>
90 * target.c (gomp_map_vars_internal): Honor array mapping offsets
91 with declare-target 'link' variables.
92 * testsuite/libgomp.c-c++-common/target-link-2.c: New test.
94 2024-07-19 Thomas Schwinge <tschwinge@baylibre.com>
96 * config/gcn/target.c (GOMP_teams4): Document.
97 * config/nvptx/target.c (GOMP_teams4): Likewise.
98 * target.c (GOMP_teams4): Likewise.
100 2024-07-19 Thomas Schwinge <tschwinge@baylibre.com>
102 * config/gcn/libgomp-gcn.h (GOMP_TEAM_NUM): Inject.
103 * config/gcn/target.c (GOMP_teams4): Handle.
104 * config/gcn/team.c (gomp_gcn_enter_kernel): Initialize.
105 * config/gcn/teams.c (omp_get_team_num): Adjust.
107 2024-07-19 Paul Thomas <pault@gcc.gnu.org>
109 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Cut
110 dg-note about 'a' and remove bogus warnings about its array
111 descriptor components being used uninitialized.
113 2024-07-01 Andrew Stubbs <ams@baylibre.com>
114 Thomas Schwinge <thomas@codesourcery.com>
116 * allocator.c (ompx_gnu_min_predefined_alloc): New.
117 (ompx_gnu_max_predefined_alloc): New.
118 (predefined_alloc_mapping): Rename to ...
119 (predefined_omp_alloc_mapping): ... this.
120 (predefined_ompx_gnu_alloc_mapping): New.
121 (_Static_assert): Adjust for the new name, and add a new assert for the
123 (predefined_allocator_p): New.
124 (predefined_alloc_mapping): New.
125 (omp_aligned_alloc): Support ompx_gnu_pinned_mem_alloc.
126 Use predefined_allocator_p and predefined_alloc_mapping.
127 (omp_free): Likewise.
128 (omp_alligned_calloc): Likewise.
129 (omp_realloc): Likewise.
130 * env.c (parse_allocator): Add ompx_gnu_pinned_mem_alloc.
131 * libgomp.texi: Document ompx_gnu_pinned_mem_alloc.
132 * omp.h.in (omp_allocator_handle_t): Add ompx_gnu_pinned_mem_alloc.
133 * omp_lib.f90.in: Add ompx_gnu_pinned_mem_alloc.
134 * omp_lib.h.in: Add ompx_gnu_pinned_mem_alloc.
135 * testsuite/libgomp.c/alloc-pinned-5.c: New test.
136 * testsuite/libgomp.c/alloc-pinned-6.c: New test.
137 * testsuite/libgomp.fortran/alloc-pinned-1.f90: New test.
139 2024-07-01 Andrew Stubbs <ams@baylibre.com>
141 * testsuite/libgomp.c/alloc-pinned-1.c: Change dg-xfail-run-if to
143 Correct spelling mistake.
144 Abort on insufficient lockable memory.
145 Use #error on non-linux hosts.
146 * testsuite/libgomp.c/alloc-pinned-2.c: Likewise.
148 2024-06-06 Tobias Burnus <tburnus@baylibre.com>
150 * libgomp.texi (nvptx): Add missing preposition.
152 2024-06-06 Thomas Schwinge <tschwinge@baylibre.com>
153 Andrew Stubbs <ams@gcc.gnu.org>
155 * libgomp.texi (nvptx): Update.
156 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: Remove.
157 * testsuite/libgomp.fortran/target-print-1.f90: Adjust.
158 * testsuite/libgomp.oacc-fortran/error_stop-2-nvptx.f: New.
159 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Adjust.
160 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Adjust.
161 * testsuite/libgomp.oacc-fortran/print-1.f90: Adjust.
162 * testsuite/libgomp.oacc-fortran/stop-2-nvptx.f: New.
163 * testsuite/libgomp.oacc-fortran/stop-2.f: Adjust.
165 2024-06-06 Thomas Schwinge <tschwinge@baylibre.com>
169 * plugin/cuda-lib.def (cuCtxSetLimit): Add.
170 * plugin/plugin-nvptx.c (nvptx_open_device): Handle
171 'GOMP_NVPTX_NATIVE_GPU_THREAD_STACK_SIZE' environment variable.
173 2024-06-06 Thomas Schwinge <tschwinge@baylibre.com>
175 * plugin/plugin-nvptx.c (nvptx_do_global_cdtors): New.
176 (nvptx_close_device, GOMP_OFFLOAD_load_image)
177 (GOMP_OFFLOAD_unload_image): Call it.
179 2024-06-06 Thomas Schwinge <tschwinge@baylibre.com>
182 * config/nvptx/error.c (exit): Don't override.
183 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Update.
184 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
185 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
186 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
187 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
188 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
190 2024-06-06 Jakub Jelinek <jakub@redhat.com>
192 * libgomp.texi (OpenMP 5.1 status): Mark Loop transformation constructs
195 2024-06-05 Jakub Jelinek <jakub@redhat.com>
196 Frederik Harwath <frederik@codesourcery.com>
197 Sandra Loosemore <sandra@codesourcery.com>
199 * testsuite/libgomp.c-c++-common/imperfect-transform-1.c: New test.
200 * testsuite/libgomp.c-c++-common/imperfect-transform-2.c: New test.
201 * testsuite/libgomp.c-c++-common/matrix-1.h: New test.
202 * testsuite/libgomp.c-c++-common/matrix-constant-iter.h: New test.
203 * testsuite/libgomp.c-c++-common/matrix-helper.h: New test.
204 * testsuite/libgomp.c-c++-common/matrix-no-directive-1.c: New test.
205 * testsuite/libgomp.c-c++-common/matrix-no-directive-unroll-full-1.c:
207 * testsuite/libgomp.c-c++-common/matrix-omp-distribute-parallel-for-1.c:
209 * testsuite/libgomp.c-c++-common/matrix-omp-for-1.c: New test.
210 * testsuite/libgomp.c-c++-common/matrix-omp-parallel-for-1.c: New test.
211 * testsuite/libgomp.c-c++-common/matrix-omp-parallel-masked-taskloop-1.c:
213 * testsuite/libgomp.c-c++-common/matrix-omp-parallel-masked-taskloop-simd-1.c:
215 * testsuite/libgomp.c-c++-common/matrix-omp-target-parallel-for-1.c:
217 * testsuite/libgomp.c-c++-common/matrix-omp-target-teams-distribute-parallel-for-1.c:
219 * testsuite/libgomp.c-c++-common/matrix-omp-taskloop-1.c: New test.
220 * testsuite/libgomp.c-c++-common/matrix-omp-teams-distribute-parallel-for-1.c:
222 * testsuite/libgomp.c-c++-common/matrix-simd-1.c: New test.
223 * testsuite/libgomp.c-c++-common/matrix-transform-variants-1.h:
225 * testsuite/libgomp.c-c++-common/target-imperfect-transform-1.c:
227 * testsuite/libgomp.c-c++-common/target-imperfect-transform-2.c:
229 * testsuite/libgomp.c-c++-common/unroll-1.c: New test.
230 * testsuite/libgomp.c-c++-common/unroll-non-rect-1.c: New test.
231 * testsuite/libgomp.c++/matrix-no-directive-unroll-full-1.C: New test.
232 * testsuite/libgomp.c++/tile-2.C: New test.
233 * testsuite/libgomp.c++/tile-3.C: New test.
234 * testsuite/libgomp.c++/unroll-1.C: New test.
235 * testsuite/libgomp.c++/unroll-2.C: New test.
236 * testsuite/libgomp.c++/unroll-full-tile.C: New test.
237 * testsuite/libgomp.fortran/imperfect-transform-1.f90: New test.
238 * testsuite/libgomp.fortran/imperfect-transform-2.f90: New test.
239 * testsuite/libgomp.fortran/inner-1.f90: New test.
240 * testsuite/libgomp.fortran/nested-fn.f90: New test.
241 * testsuite/libgomp.fortran/target-imperfect-transform-1.f90: New test.
242 * testsuite/libgomp.fortran/target-imperfect-transform-2.f90: New test.
243 * testsuite/libgomp.fortran/tile-1.f90: New test.
244 * testsuite/libgomp.fortran/tile-2.f90: New test.
245 * testsuite/libgomp.fortran/tile-unroll-1.f90: New test.
246 * testsuite/libgomp.fortran/tile-unroll-2.f90: New test.
247 * testsuite/libgomp.fortran/tile-unroll-3.f90: New test.
248 * testsuite/libgomp.fortran/tile-unroll-4.f90: New test.
249 * testsuite/libgomp.fortran/unroll-1.f90: New test.
250 * testsuite/libgomp.fortran/unroll-2.f90: New test.
251 * testsuite/libgomp.fortran/unroll-3.f90: New test.
252 * testsuite/libgomp.fortran/unroll-4.f90: New test.
253 * testsuite/libgomp.fortran/unroll-5.f90: New test.
254 * testsuite/libgomp.fortran/unroll-6.f90: New test.
255 * testsuite/libgomp.fortran/unroll-7a.f90: New test.
256 * testsuite/libgomp.fortran/unroll-7b.f90: New test.
257 * testsuite/libgomp.fortran/unroll-7c.f90: New test.
258 * testsuite/libgomp.fortran/unroll-7.f90: New test.
259 * testsuite/libgomp.fortran/unroll-8.f90: New test.
260 * testsuite/libgomp.fortran/unroll-simd-1.f90: New test.
261 * testsuite/libgomp.fortran/unroll-tile-1.f90: New test.
262 * testsuite/libgomp.fortran/unroll-tile-2.f90: New test.
264 2024-05-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
267 * testsuite/lib/libgomp.exp (libgomp_target_compile): Pass new
268 dg-additional-files-options args.
270 2024-05-30 Tobias Burnus <tburnus@baylibre.com>
272 * libgomp.texi (OpenMP 5.0 status): Mark 'requires' as done and
273 link to 'Offload-Target Specifics'.
274 (OpenMP 5.2 status): Add item about additional map-type modifiers
277 2024-05-29 Tobias Burnus <tburnus@baylibre.com>
279 * libgomp.texi (gcn): Update USM handling
280 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Handle
281 USM if HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT is true.
283 2024-05-29 Tobias Burnus <tburnus@baylibre.com>
285 * libgomp.texi (nvptx): Update USM description.
286 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices):
287 Claim support when requesting USM and all devices support
288 CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS.
289 * target.c (gomp_copy_back_icvs): Fix device ptr lookup.
290 (gomp_target_init): Set GOMP_OFFLOAD_CAP_SHARED_MEM is the
291 devices supports USM.
293 2024-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
295 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]
296 (libgomp.ver-sun): Pass $(libgomp_la_OBJECTS),
297 $(libgomp_la_LIBADD) to make_sunver.pl unmodified.
298 * Makefile.in: Regenerate.
300 2024-05-02 Jakub Jelinek <jakub@redhat.com>
302 * testsuite/libgomp.c/declare-variant-4.h (gfx90c, gfx1036, gfx1103):
304 (f): Add #pragma omp declare variant directives for those.
305 * testsuite/libgomp.c/declare-variant-4-gfx90c.c: New test.
306 * testsuite/libgomp.c/declare-variant-4-gfx1036.c: New test.
307 * testsuite/libgomp.c/declare-variant-4-gfx1103.c: New test.
309 2024-04-26 Frederik Harwath <frederik@harwath.name>
311 * plugin/plugin-gcn.c (isa_hsa_name): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c.
312 (isa_code): Handle gfx90c.
313 (max_isa_vgprs): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c.
315 2024-04-16 Chung-Lin Tang <cltang@baylibre.com>
317 * libgomp.h (REFCOUNT_ACC_MAP_DATA): Define as (REFCOUNT_SPECIAL | 2).
318 * oacc-mem.c (acc_map_data): Adjust to use REFCOUNT_ACC_MAP_DATA,
319 initialize dynamic_refcount as 1.
320 (acc_unmap_data): Adjust to use REFCOUNT_ACC_MAP_DATA,
321 (goacc_map_var_existing): Add REFCOUNT_ACC_MAP_DATA case.
322 (goacc_exit_datum_1): Add REFCOUNT_ACC_MAP_DATA case, respect
323 REFCOUNT_ACC_MAP_DATA when decrementing/finalizing. Force lowest
324 dynamic_refcount to be 1 for REFCOUNT_ACC_MAP_DATA.
325 (goacc_enter_data_internal): Add REFCOUNT_ACC_MAP_DATA case.
326 * target.c (gomp_increment_refcount): Return early for
327 REFCOUNT_ACC_MAP_DATA case.
328 (gomp_decrement_refcount): Likewise.
329 * testsuite/libgomp.oacc-c-c++-common/lib-96.c: New testcase.
330 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: Adjust
331 testcase error output scan test.
333 2024-04-08 Thomas Schwinge <tschwinge@baylibre.com>
335 * plugin/plugin-gcn.c (init_hsa_context): Add and handle
336 'bool probe' parameter. Adjust all users; errors during device
338 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Aside from
339 'CUDA_ERROR_NO_DEVICE', errors during device probing are fatal.
341 2024-04-05 Thomas Schwinge <tschwinge@baylibre.com>
343 * testsuite/libgomp.c/reverse-offload-sm30.c: Set 'GCC_COLORS' to the empty string.
345 2024-04-05 Jakub Jelinek <jakub@redhat.com>
348 * testsuite/libgomp.c++/pr114572.C: New test.
350 2024-04-04 Tobias Burnus <tburnus@baylibre.com>
352 * libgomp.texi (TR12): Honor post-TR12 directive name change; add
353 item about curly braces/BLOCK permitted in canonical loop nests.
355 2024-04-02 Jakub Jelinek <jakub@redhat.com>
357 * libgomp.texi (OpenMP 5.2): Fix duplicated words; with with ->
359 (omp_target_associate_ptr): Fix duplicated words; either either ->
361 (omp_init_allocator): Fix duplicated words; be be -> be.
362 (omp_realloc): Fix duplicated words; is is -> is.
363 (OMP_ALLOCATOR): Fix duplicated words; other other -> other.
364 * priority_queue.h (priority_queue_multi_p): Fix duplicated words;
367 2024-03-25 Richard Biener <rguenther@suse.de>
369 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1036.
370 (gcn_gfx1103_s): New.
371 (isa_hsa_name): Handle gfx1036.
372 (isa_code): Likewise.
373 (max_isa_vgprs): Likewise.
375 2024-03-22 Kwok Cheung Yeung <kcyeung@baylibre.com>
377 * config/accel/target-indirect.c: Include string.h and hashtab.h.
378 Remove include of splay-tree.h. Update comments.
379 (splay_tree_prefix, splay_tree_c): Delete.
380 (struct indirect_map_t): New.
381 (hash_entry_type, htab_alloc, htab_free, htab_hash, htab_eq): New.
382 (GOMP_INDIRECT_ADD_MAP): Remove volatile qualifier.
383 (USE_SPLAY_TREE_LOOKUP): Rename to...
384 (USE_HASHTAB_LOOKUP): ..this.
385 (indirect_map, indirect_array): Delete.
386 (indirect_htab): New.
387 (build_indirect_map): Remove locking. Build indirect map using
389 (GOMP_target_map_indirect_ptr): Use indirect_htab to lookup target
391 (GOMP_target_map_indirect_ptr): Remove volatile qualifier.
392 * config/gcn/team.c (gomp_gcn_enter_kernel): Call build_indirect_map
393 from first thread of first team only.
394 * config/nvptx/team.c (gomp_nvptx_main): Likewise.
395 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c (main):
396 Add missing break statements.
397 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: Remove
400 2024-03-22 Andrew Stubbs <ams@baylibre.com>
402 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1103.
403 (gcn_gfx1103_s): New.
404 (isa_hsa_name): Handle gfx1103.
405 (isa_code): Likewise.
406 (max_isa_vgprs): Likewise.
408 2024-03-14 Thomas Schwinge <tschwinge@baylibre.com>
410 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: Fix 'char'
411 initialization, copy, check.
413 2024-03-13 Tobias Burnus <tburnus@baylibre.com>
416 * testsuite/libgomp.fortran/declare-target-indirect-4.f90: New test.
418 2024-03-12 Tobias Burnus <tburnus@baylibre.com>
420 * libgomp.texi (Device Memory Routines): Swap item order to match
421 the order of the '@node's of the '@subsection's.
423 2024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
425 * plugin/plugin-gcn.c (GOMP_OFFLOAD_can_run): Don't consider
426 'GCN_SUPPRESS_HOST_FALLBACK' anymore (assume always-'true').
427 (init_hsa_context): Adjust 'GCN_SUPPRESS_HOST_FALLBACK' error
430 2024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
432 * plugin/plugin-nvptx.c (nvptx_get_num_devices):
433 'cuDeviceGetCount' failure is fatal.
435 2024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
437 * plugin/plugin-gcn.c (init_hsa_runtime_functions): Fatal error
439 * plugin/plugin-nvptx.c (init_cuda_lib): Likewise.
441 2024-03-06 John David Anglin <danglin@gcc.gnu.org>
444 2024-02-01 John David Anglin <danglin@gcc.gnu.org>
446 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
448 * testsuite/libgomp.c/omp-loop03.c: Likewise.
450 2024-03-04 Jakub Jelinek <jakub@redhat.com>
453 * target.c (gomp_target_rev): Change host_fn type and corresponding
454 cast from void (*)() to void (*) (void *).
456 2024-03-01 Jakub Jelinek <jakub@redhat.com>
457 Tobias Burnus <tburnus@baylibre.com>
460 * testsuite/libgomp.c++/target-lambda-3.C: Moved from
461 gcc/testsuite/g++.dg/gomp/ and fixed is-mapped handling.
462 * testsuite/libgomp.c++/target-lambda-1.C: Modify to also
463 also work without offloading.
464 * testsuite/libgomp.c++/firstprivate-1.C: New test.
465 * testsuite/libgomp.c++/firstprivate-2.C: New test.
466 * testsuite/libgomp.c++/private-1.C: New test.
467 * testsuite/libgomp.c++/private-2.C: New test.
468 * testsuite/libgomp.c++/target-lambda-4.C: New test.
469 * testsuite/libgomp.c++/use_device_ptr-1.C: New test.
471 2024-02-27 Tobias Burnus <tburnus@baylibre.com>
473 * libgomp.texi (OpenACC Runtime Library Routines): Document new 3.3
474 routines that simply map to their C counterpart.
475 * openacc.f90 (openacc): Add them.
476 * openacc_lib.h: Likewise.
477 * testsuite/libgomp.oacc-fortran/acc_host_device_ptr.f90: New test.
478 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: New test.
479 * testsuite/libgomp.oacc-fortran/acc-memcpy-2.f90: New test.
480 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Crossref to f90 test.
481 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
482 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
484 2024-02-21 Tobias Burnus <tburnus@baylibre.com>
486 * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional
487 'arch' value for nvptx.
489 2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
491 * libgomp.texi (OpenMP 5.1): Mark indirect call support as fully
494 2024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
496 * testsuite/libgomp.fortran/declare-target-indirect-1.f90: New.
497 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: New.
498 * testsuite/libgomp.fortran/declare-target-indirect-3.f90: New.
500 2024-02-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
503 * testsuite/libgomp.c/alloc-pinned-1.c [!__linux__] (CHECK_SIZE):
505 * testsuite/libgomp.c/alloc-pinned-2.c [!__linux__] (CHECK_SIZE):
508 2024-02-11 John David Anglin <danglin@gcc.gnu.org>
511 * configure.tgt (hppa*-*-linux*): Define config_path.
513 2024-02-01 John David Anglin <danglin@gcc.gnu.org>
515 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
517 * testsuite/libgomp.c/omp-loop03.c: Likewise.
519 2024-01-29 Tobias Burnus <tburnus@baylibre.com>
521 * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030
522 function not gfx90a for gfx1100/gfx1030 context selector.
524 2024-01-26 Richard Biener <rguenther@suse.de>
526 * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out
527 agents with unsupported ISA.
529 2024-01-26 Richard Biener <rguenther@suse.de>
531 * plugin/plugin-gcn.c
532 (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add.
533 (isa_code): Return that instead of -1.
534 (GOMP_OFFLOAD_init_device): Adjust.
536 2024-01-26 Tobias Burnus <tburnus@baylibre.com>
538 * testsuite/libgomp.c/declare-variant-4.h: Add variant functions
539 for gfx1030 and gfx1100.
540 * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test.
541 * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test.
543 2024-01-26 Andrew Stubbs <ams@baylibre.com>
545 * config/gcn/time.c (RTC_TICKS): Configure RDNA3.
546 (omp_get_wtime): Add RDNA3-compatible variant.
547 * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100.
549 2024-01-24 Tobias Burnus <tburnus@baylibre.com>
550 Sandra Loosemore <sandra@codesourcery.com>
552 * libgomp.texi (Runtime Library Routines): Document
553 omp_pause_resource, omp_pause_resource_all and
554 omp_target_memcpy{,_rect}{,_async}.
556 2024-01-22 Tobias Burnus <tburnus@baylibre.com>
558 * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
559 support is no longer enabled by default.
560 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
562 2024-01-20 John David Anglin <danglin@gcc.gnu.org>
564 * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
565 timeout by 2 on hppa*-*-*.
567 2024-01-20 John David Anglin <danglin@gcc.gnu.org>
569 * testsuite/libgomp.c/simd-math-1.c: Don't run on
572 2024-01-17 Jakub Jelinek <jakub@redhat.com>
575 * testsuite/libgomp.c/bitint-1.c: New test.
577 2024-01-11 Julian Brown <julian@codesourcery.com>
579 * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
580 * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
581 * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
583 2024-01-10 Jakub Jelinek <jakub@redhat.com>
586 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
587 instead of \$(abs_top_srcdir)/testsuite/flock.
588 * configure: Regenerated.
590 2024-01-09 Julian Brown <julian@codesourcery.com>
592 * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
594 * testsuite/libgomp.c++/baseptrs-6.C: New test.
595 * testsuite/libgomp.c++/ind-base-1.C: New test.
596 * testsuite/libgomp.c++/ind-base-2.C: New test.
597 * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
598 * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
599 * testsuite/libgomp.c++/map-comma-1.C: New test.
600 * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
601 * testsuite/libgomp.c++/struct-ref-1.C: New test.
602 * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
603 * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
604 * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
606 2024-01-09 Jakub Jelinek <jakub@redhat.com>
609 * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
610 rather than $srcdir/testsuite/flock.
611 * configure: Regenerated.
613 2024-01-08 Thomas Schwinge <thomas@codesourcery.com>
615 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
616 'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
618 2024-01-08 Julian Brown <julian@codesourcery.com>
620 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
621 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
622 hsa_amd_memory_async_copy_rect_fn function pointers.
623 (init_hsa_runtime_functions): Add above functions, with
625 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
627 2024-01-08 Tobias Burnus <tobias@codesourcery.com>
629 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
630 (gcn_isa_name_len): Fix length.
631 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
633 2024-01-06 Tobias Burnus <tobias@codesourcery.com>
635 * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
636 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
637 omp_target_is_accessible.
638 (Environment Display Routine): Uncomment and add
639 omp_display_env description.
640 (OMP_DISPLAY_ENV): Update wording, add 'see also'.
642 2024-01-06 Mark Wielaard <mark@klomp.org>
644 * configure: Regenerate.
646 2024-01-03 Jakub Jelinek <jakub@redhat.com>
648 * libgomp.texi: Bump @copying's copyright year.
650 2023-12-21 Julian Brown <julian@codesourcery.com>
652 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
654 2023-12-20 Julian Brown <julian@codesourcery.com>
656 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
657 avoid out-of-bounds array checks in CUDA runtime.
658 (GOMP_OFFLOAD_memcpy3d): Likewise.
659 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
661 2023-12-18 Jakub Jelinek <jakub@redhat.com>
663 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
664 drop because of that unneeded target selector from other directives
665 and remove the aarch64 specific ones.
667 2023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
669 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
670 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
672 2023-12-15 Thomas Schwinge <thomas@codesourcery.com>
674 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
675 'dg-output's to 'target offload_device_nonshared_as'.
677 2023-12-15 Julian Brown <julian@codesourcery.com>
679 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
680 goacc_exit_data_internal, GOACC_enter_exit_data): Add
681 GOMP_MAP_STRUCT_UNORD support.
682 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
683 Detect incorrect use of variable indexing of arrays of structs.
684 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
685 GOMP_MAP_STRUCT_UNORD support.
686 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
687 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
688 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
689 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
691 2023-12-13 Julian Brown <julian@codesourcery.com>
693 * testsuite/libgomp.fortran/map-subarray.f90: New test.
694 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
695 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
696 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
697 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
698 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
699 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
700 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
701 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
702 descriptor-mapping changes. Remove XFAIL.
704 2023-12-13 Julian Brown <julian@codesourcery.com>
706 * target.c (gomp_map_pointer): Modify zero-length array section
708 (gomp_attach_pointer): Likewise.
709 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
710 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
711 "unassociated" pointers).
712 (gomp_map_vars_internal): Handle zero-sized struct members. Add
713 diagnostic for unmapped struct pointer members.
714 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
715 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
716 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
717 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
718 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
719 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
721 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
722 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
723 * testsuite/libgomp.c++/class-array-1.C: New test.
724 * testsuite/libgomp.c++/baseptrs-3.C: New test.
725 * testsuite/libgomp.c++/baseptrs-4.C: New test.
726 * testsuite/libgomp.c++/baseptrs-5.C: New test.
727 * testsuite/libgomp.c++/baseptrs-8.C: New test.
728 * testsuite/libgomp.c++/baseptrs-9.C: New test.
729 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
730 * testsuite/libgomp.c++/target-48.C: New test.
731 * testsuite/libgomp.c++/target-49.C: New test.
732 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
733 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
735 * testsuite/libgomp.c++/target-this-3.C: Likewise.
736 * testsuite/libgomp.c++/target-this-4.C: Likewise.
737 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
738 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
740 2023-12-13 Thomas Schwinge <thomas@codesourcery.com>
742 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
743 vs. '%ld' format string mismatch.
745 2023-12-13 Andrew Stubbs <ams@codesourcery.com>
746 Thomas Schwinge <thomas@codesourcery.com>
748 * allocator.c (MEMSPACE_ALLOC): Add PIN.
749 (MEMSPACE_CALLOC): Add PIN.
750 (MEMSPACE_REALLOC): Add PIN.
751 (MEMSPACE_FREE): Add PIN.
752 (MEMSPACE_VALIDATE): Add PIN.
753 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
754 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
755 (omp_aligned_calloc): Likewise.
756 (omp_realloc): Likewise.
757 (omp_free): Likewise.
758 * config/linux/allocator.c: New file.
759 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
760 (MEMSPACE_CALLOC): Add PIN.
761 (MEMSPACE_REALLOC): Add PIN.
762 (MEMSPACE_FREE): Add PIN.
763 (MEMSPACE_VALIDATE): Add PIN.
764 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
765 (MEMSPACE_CALLOC): Add PIN.
766 (MEMSPACE_REALLOC): Add PIN.
767 (MEMSPACE_FREE): Add PIN.
768 * libgomp.texi: Switch pinned trait to supported.
769 (MEMSPACE_VALIDATE): Add PIN.
770 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
771 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
772 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
773 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
775 2023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
777 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
778 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
779 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
781 2023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
783 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
784 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
786 2023-12-11 Tobias Burnus <tobias@codesourcery.com>
788 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
790 2023-12-08 Tobias Burnus <tobias@codesourcery.com>
792 * allocator.c (struct fort_alloc_splay_tree_key_s,
793 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
794 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
795 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
796 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
797 (GOMP_5.1.1): ... here.
798 * libgomp.texi (Impl. Status, Memory management): Update for
799 allocators/allocate directives.
800 * splay-tree.c: Handle splay_tree_static define to declare all
802 (splay_tree_lookup_node): New.
803 * splay-tree.h: Handle splay_tree_decl_only define.
804 (splay_tree_lookup_node): New prototype.
805 * target.c: Define splay_tree_static for 'reverse'.
806 * testsuite/libgomp.fortran/allocators-1.f90: New test.
807 * testsuite/libgomp.fortran/allocators-2.f90: New test.
808 * testsuite/libgomp.fortran/allocators-3.f90: New test.
809 * testsuite/libgomp.fortran/allocators-4.f90: New test.
810 * testsuite/libgomp.fortran/allocators-5.f90: New test.
812 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
814 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
815 (TEAM_ARENA_FREE): Likewise.
816 (TEAM_ARENA_END): Likewise.
817 (GCN_LOWLAT_HEAP): New.
818 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
819 (__gcn_lowlat_init): New prototype.
820 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
821 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
822 (TEAM_ARENA_FREE): Likewise.
823 (TEAM_ARENA_END): Likewise.
824 * plugin/plugin-gcn.c (lowlat_size): New variable.
825 (print_kernel_dispatch): Label the group_segment_size purpose.
826 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
827 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
828 (run_kernel): Use shadow; don't assume values.
829 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
830 * config/gcn/allocator.c: New file.
831 * libgomp.texi: Document low-latency implementation details.
833 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
835 * allocator.c (MEMSPACE_VALIDATE): New macro.
836 (omp_init_allocator): Use MEMSPACE_VALIDATE.
837 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
838 (omp_aligned_calloc): Likewise.
839 (omp_realloc): Likewise.
840 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
841 (MEMSPACE_VALIDATE): New macro.
842 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
843 * libgomp.texi: Document low-latency implementation details.
844 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
845 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
846 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
847 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
848 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
849 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
850 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
852 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
853 Kwok Cheung Yeung <kcy@codesourcery.com>
854 Thomas Schwinge <thomas@codesourcery.com>
856 * allocator.c (MEMSPACE_ALLOC): New macro.
857 (MEMSPACE_CALLOC): New macro.
858 (MEMSPACE_REALLOC): New macro.
859 (MEMSPACE_FREE): New macro.
860 (predefined_alloc_mapping): New array. Add _Static_assert to match.
861 (ARRAY_SIZE): New macro.
862 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
863 Implement fall-backs for predefined allocators. Simplify existing
865 (omp_free): Use MEMSPACE_FREE.
866 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
867 predefined allocators. Simplify existing fall-backs.
868 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
869 Implement fall-backs for predefined allocators. Simplify existing
871 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
872 (__nvptx_lowlat_init): New prototype.
873 (gomp_nvptx_main): Call __nvptx_lowlat_init.
874 * libgomp.texi: Update memory space table.
875 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
876 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
877 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
878 * basic-allocator.c: New file.
879 * config/nvptx/allocator.c: New file.
880 * testsuite/libgomp.c/omp_alloc-1.c: New test.
881 * testsuite/libgomp.c/omp_alloc-2.c: New test.
882 * testsuite/libgomp.c/omp_alloc-3.c: New test.
883 * testsuite/libgomp.c/omp_alloc-4.c: New test.
884 * testsuite/libgomp.c/omp_alloc-5.c: New test.
885 * testsuite/libgomp.c/omp_alloc-6.c: New test.
887 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
889 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
890 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
891 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
892 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
893 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
894 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
895 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
896 * testsuite/libgomp.c/declare-variant-4.c: New.
898 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
900 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
902 * testsuite/libgomp.c/declare-variant-3.c: New.
903 * testsuite/libgomp.c/declare-variant-3.h: Extend.
905 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
907 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
908 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
909 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
910 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
911 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
912 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
913 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
914 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
915 'scan-offload-tree-dump' to
916 'only_for_offload_target amdgcn-amdhsa'.
917 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
918 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
919 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
920 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
921 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
923 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
925 * testsuite/libgomp.c/declare-variant-3-sm30.c:
926 'dg-additional-options -foffload=nvptx-none'.
927 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
928 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
929 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
930 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
931 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
933 2023-11-29 Thomas Schwinge <thomas@codesourcery.com>
935 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
936 'scan-offload-ipa-dump's to
937 'only_for_offload_target amdgcn-amdhsa'.
938 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
939 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
941 2023-11-24 Tobias Burnus <tobias@codesourcery.com>
943 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
946 2023-11-22 Thomas Schwinge <thomas@codesourcery.com>
948 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
949 (f75, f80, f): Add '__attribute__ ((noipa))'.
950 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
951 (gfx908, gfx90a, f): Likewise.
953 2023-11-15 Andrew Stubbs <ams@codesourcery.com>
954 Andrew Jenner <andrew@codesourcery.com>
956 * plugin/plugin-gcn.c (max_isa_vgprs): New.
957 (run_kernel): CDNA2 devices have more VGPRs.
959 2023-11-10 Tobias Burnus <tobias@codesourcery.com>
961 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
962 renamed section from TR11.
964 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
966 * config/linux/target-indirect.c: Move to...
967 * target-indirect.c: ...here.
969 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
971 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
972 * Makefile.in: Regenerate.
973 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
974 (GOMP_OFFLOAD_load_image): Add extra argument.
975 * libgomp.h (struct indirect_splay_tree_key_s): New.
976 (indirect_splay_tree_node, indirect_splay_tree,
977 indirect_splay_tree_key): New.
978 (indirect_splay_compare): New.
979 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
980 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
981 calls in target region and on indirect clause.
982 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
983 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
984 * oacc-host.c (host_load_image): Add extra argument.
985 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
986 enough, read host indirect functions table and pass to
988 * config/accel/target-indirect.c: New.
989 * config/linux/target-indirect.c: New.
990 * config/gcn/team.c (build_indirect_map): Add prototype.
991 (gomp_gcn_enter_kernel): Initialize support for indirect
992 function calls on GCN target.
993 * config/nvptx/team.c (build_indirect_map): Add prototype.
994 (gomp_nvptx_main): Initialize support for indirect function
995 calls on NVPTX target.
996 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
997 indirect functions count.
998 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
999 is high enough, build address translation table and copy it to target
1001 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
1003 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
1004 is high enough, Build address translation table and copy it to target
1006 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
1007 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
1008 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
1010 2023-11-05 Jakub Jelinek <jakub@redhat.com>
1012 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
1013 supported also in C.
1015 2023-10-31 Thomas Schwinge <thomas@codesourcery.com>
1017 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
1018 'acc_map_data' variant.
1020 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
1022 * oacc-parallel.c (GOACC_data_start): Handle
1023 'GOACC_FLAG_LOCAL_DEVICE'.
1024 (GOACC_parallel_keyed): Simplify accordingly.
1025 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
1027 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
1029 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
1030 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
1031 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1032 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
1033 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
1035 2023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
1037 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
1038 GOACC_FLAG_LOCAL_DEVICE case.
1039 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
1041 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
1043 * Makefile.am: Handle Darwin rpaths.
1044 * Makefile.in: Regenerate.
1045 * configure: Regenerate.
1046 * configure.ac: Handle Darwin rpaths
1048 2023-10-20 Andrew Stubbs <ams@codesourcery.com>
1050 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
1051 (isa_hsa_name): Recognise gfx1030.
1052 (isa_code): Likewise.
1053 * team.c (defined): Remove s_endpgm.
1055 2023-10-20 Tobias Burnus <tobias@codesourcery.com>
1057 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
1060 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
1062 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
1063 improve wording especially for Fortran; mention -fopenmp-simd.
1064 (Enabling OpenACC): Minor cleanup; remove conditional compilation
1067 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
1069 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
1070 Actually document what the function does.
1071 (GCC_ACC_NOTIFY): Remove unused env var.
1073 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
1075 * libgomp.texi: Replace most future tense by present tense.
1077 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
1079 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
1080 dg-additional-options "-fdump-tree-gimple"; fix scan.
1082 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
1084 * libgomp.texi: Fix some typos.
1085 (Memory Management Routines): Document remaining 5.x routines.
1086 (Memory allocation): Make clear when the section applies.
1088 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
1090 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
1091 supports the allocate directive for stack variables.
1092 * testsuite/libgomp.fortran/allocate-5.f90: New test.
1093 * testsuite/libgomp.fortran/allocate-6.f90: New test.
1094 * testsuite/libgomp.fortran/allocate-7.f90: New test.
1095 * testsuite/libgomp.fortran/allocate-8.f90: New test.
1097 2023-10-12 Tobias Burnus <tobias@codesourcery.com>
1099 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
1101 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
1102 clarify MANDATORY behavior.
1104 2023-10-12 Zhang, Jun <jun.zhang@intel.com>
1106 * env.c (initialize_env): Use do_adjust_default_spincount.
1107 * config/linux/x86/spincount.h: New file.
1109 2023-10-08 Tobias Burnus <tobias@codesourcery.com>
1111 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
1113 2023-10-06 Tobias Burnus <tobias@codesourcery.com>
1115 * libgomp.texi (Device Memory Routines): New.
1117 2023-10-04 Tobias Burnus <tobias@codesourcery.com>
1119 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
1120 and that other target archs have no 'arch'/'isa' traits implemented.
1122 2023-09-20 Tobias Burnus <tobias@codesourcery.com>
1124 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
1125 implemented for C only.
1126 * testsuite/libgomp.c/allocate-4.c: New test.
1127 * testsuite/libgomp.c/allocate-5.c: New test.
1128 * testsuite/libgomp.c/allocate-6.c: New test.
1130 2023-09-20 Jakub Jelinek <jakub@redhat.com>
1133 * libgomp.texi: Mark decl attribute was added to the C++ attribute
1134 syntax as implemented.
1136 2023-09-19 Jakub Jelinek <jakub@redhat.com>
1139 * env.c (initialize_env): Don't dereference environ if it is NULL.
1142 2023-09-18 Richard Biener <rguenther@suse.de>
1144 PR tree-optimization/111294
1145 * team.c (gomp_team_start): Assert alloca size to avoid false
1146 positive alloc-size diagnostic.
1148 2023-09-12 Thomas Schwinge <thomas@codesourcery.com>
1149 Chung-Lin Tang <cltang@codesourcery.com>
1153 * configure.ac: Revert earlier changes, instead
1154 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
1155 * Makefile.in: Regenerate.
1156 * configure: Likewise.
1157 * testsuite/Makefile.in: Likewise.
1158 * testsuite/lib/libgomp.exp (libgomp_init): Remove
1159 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
1160 If '--with-build-sysroot=[...]' was specified, use it for
1162 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
1163 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
1164 (SYSROOT_CFLAGS_FOR_TARGET): Set.
1165 * testsuite/libgomp.c++/c++.exp (lang_source_re)
1166 (lang_include_flags): Set for build-tree testing.
1167 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
1168 (lang_include_flags): Likewise.
1170 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
1172 * libgomp.texi (Memory Management Routines): New; add documentation for
1173 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
1174 omp_get_default_allocator.
1175 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
1177 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
1179 * target.c (gomp_unload_device): Remove tailing whitespace.
1181 2023-09-04 Tobias Burnus <tobias@codesourcery.com>
1182 Thomas Schwinge <thomas@codesourcery.com>
1184 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
1186 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
1188 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
1190 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
1192 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
1193 * testsuite/libgomp.fortran/imperfect1.f90: New.
1194 * testsuite/libgomp.fortran/imperfect2.f90: New.
1195 * testsuite/libgomp.fortran/imperfect3.f90: New.
1196 * testsuite/libgomp.fortran/imperfect4.f90: New.
1197 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
1198 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
1199 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
1200 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
1202 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
1204 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
1205 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
1206 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
1207 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
1208 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
1209 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
1210 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
1211 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
1212 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
1213 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
1215 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
1217 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
1218 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
1219 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
1220 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
1221 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
1222 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
1223 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
1224 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
1225 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
1226 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
1227 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
1228 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
1229 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
1231 2023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
1233 * testsuite/lib/libgomp.exp: Add effective target.
1234 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
1237 2023-08-22 Tobias Burnus <tobias@codesourcery.com>
1239 * libgomp.texi (OpenMP 5.2 status): Add depobj with
1240 destroy-var argument as 'N'. Mark defaultmap with
1241 'all' category as 'Y'.
1243 2023-08-19 Tobias Burnus <tobias@codesourcery.com>
1245 PR middle-end/111017
1246 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
1248 2023-08-17 Tobias Burnus <tobias@codesourcery.com>
1251 * allocator.c (gomp_init_libnuma): Call numa_available; if
1252 not available or not returning 0, disable libnuma usage.
1254 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
1256 * configure: Regenerate.
1258 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
1260 * configure: Regenerate.
1262 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
1264 * configure: Regenerate.
1266 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
1268 * configure: Regenerate.
1270 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
1272 * configure: Regenerate.
1274 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
1276 * configure: Regenerate.
1278 2023-07-29 Tobias Burnus <tobias@codesourcery.com>
1280 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
1281 GOMP_OFFLOAD_CAP_SHARED_MEM.
1282 (omp_target_memcpy_rect_copy): Likewise for lock condition.
1283 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
1285 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
1286 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
1287 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
1289 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
1291 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
1292 GOMP_OFFLOAD_memcpy3d): New prototypes.
1293 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
1295 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
1296 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
1297 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
1298 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
1299 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
1300 GOMP_OFFLOAD_memcpy3d): New.
1301 * target.c (omp_target_memcpy_rect_worker):
1302 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
1303 Permit all device-to-device copyies; invoke new plugins for
1304 2D and 3D copying when available.
1305 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
1306 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
1307 * testsuite/libgomp.fortran/target-12.f90: Likewise.
1308 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
1310 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
1312 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
1313 (Tasking Routines): Document omp_in_explicit_task.
1314 (Implementation-defined ICV Initialization): Use @ref not @code.
1316 2023-07-20 Tobias Burnus <tobias@codesourcery.com>
1318 * libgomp.texi (OpenMP Runtime Library Routines):
1319 Split long list by adding sections and moving routines there.
1320 (OMP_ALLOCATORS): Fix typo.
1322 2023-07-19 Tobias Burnus <tobias@codesourcery.com>
1325 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
1326 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
1328 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
1329 test file; tests are in non-rectangular-loop-1.f90.
1330 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
1331 testcase to use a non-constant step to retain the 'sorry' test.
1332 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
1334 2023-07-17 Tobias Burnus <tobias@codesoucery.com>
1335 Chung-Lin Tang <cltang@codesourcery.com>
1337 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
1338 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
1340 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
1342 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
1343 the traits. Add crossref to 'Memory allocation'.
1344 (Memory allocation): Refer to OMP_ALLOCATOR for the available
1345 traits and allocators/mem spaces; document the default value
1346 for the pool_size trait.
1348 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
1350 * allocator.c (omp_init_allocator): Check whether symbol from
1351 dlopened libnuma is available before using libnuma for
1354 2023-07-13 David Edelsohn <dje.gcc@gmail.com>
1356 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
1357 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
1358 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
1360 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
1362 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
1363 'Memory allocation' section which contains the full status.
1364 (TR11): Remove differently worded duplicated entry.
1366 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
1368 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
1369 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
1370 add GOMP_MEMKIND_LIBNUMA.
1371 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
1372 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
1373 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
1374 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
1376 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
1377 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
1378 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
1379 updated for libnuma usage.
1380 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
1381 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
1383 2023-07-11 Tobias Burnus <tobias@codesourcery.com>
1385 * allocator.c (omp_init_allocator): Use malloc for
1386 omp_high_bw_mem_space when the memkind lib is unavailable
1387 instead of returning omp_null_allocator.
1388 * libgomp.texi (OpenMP 5.0): Fix typo.
1389 (Memory allocation with libmemkind): Document implementation
1392 2023-06-22 Tobias Burnus <tobias@codesourcery.com>
1394 * libgomp.texi: Use @var for ICV vars.
1395 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
1396 document which ICV is set and which scope the ICV has; extend/cleanup
1398 (Implementation-defined ICV Initialization): New.
1399 (nvptx): Document the implementation-defined used per-warp stack size.
1401 2023-06-19 Thomas Schwinge <thomas@codesourcery.com>
1403 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
1406 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
1408 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
1409 as expected dg-output.
1411 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
1413 PR middle-end/110270
1414 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
1415 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
1416 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
1417 * testsuite/libgomp.c/target-19.c: Update expected value.
1418 * testsuite/libgomp.c++/target-18.C: Likewise.
1419 * testsuite/libgomp.c++/target-19.C: Likewise.
1420 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
1421 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
1422 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
1424 2023-06-16 Tobias Burnus <tobias@codesourcery.com>
1426 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
1427 gomp_init_targets_once was called before using default-device-var.
1428 * testsuite/libgomp.c/target-55.c: New test.
1429 * testsuite/libgomp.c/target-55a.c: New test.
1431 2023-06-15 Tobias Burnus <tobias@codesourcery.com>
1433 * env.c (gomp_def_allocator_envvar): New var.
1434 (parse_allocator): Handle OpenMP 5.1 syntax.
1436 (omp_display_env): Output gomp_def_allocator_envvar
1437 for an allocator with traits.
1438 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
1439 OMP_DISPLAY_AFFINITY): New.
1440 * testsuite/libgomp.c/allocator-1.c: New test.
1441 * testsuite/libgomp.c/allocator-2.c: New test.
1442 * testsuite/libgomp.c/allocator-3.c: New test.
1443 * testsuite/libgomp.c/allocator-4.c: New test.
1444 * testsuite/libgomp.c/allocator-5.c: New test.
1445 * testsuite/libgomp.c/allocator-6.c: New test.
1447 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1449 * target.c (resolve_device): Align a
1450 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
1451 * testsuite/libgomp.c/target-51.c: Adjust.
1453 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1455 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
1457 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
1459 * testsuite/libgomp.c/simd-math-1.c: Remove
1460 '-foffload-options=-lm'.
1461 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
1463 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1466 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1468 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
1469 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1472 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1474 * testsuite/libgomp.c/target-51.c: Fix typo.
1476 2023-06-14 Tobias Burnus <tobias@codesourcery.com>
1478 * env.c (gomp_default_icv_values): Init default_device_var to
1479 an nonconforming value - INT_MIN.
1480 (initialize_env): After env-var parsing, set default_device_var to
1481 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
1482 (omp_display_env): If default_device_var is INT_MIN, call
1483 gomp_init_targets_once.
1484 * icv-device.c (omp_get_default_device): Likewise.
1485 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
1486 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
1487 * target.c (resolve_device): Improve error message device-num < 0
1488 with 'mandatory' and no no-host devices available.
1489 (gomp_target_init): Set default-device-var if INT_MIN.
1490 * testsuite/libgomp.c/target-48.c: New test.
1491 * testsuite/libgomp.c/target-49.c: New test.
1492 * testsuite/libgomp.c/target-50.c: New test.
1493 * testsuite/libgomp.c/target-50a.c: New test.
1494 * testsuite/libgomp.c/target-51.c: New test.
1495 * testsuite/libgomp.c/target-52.c: New test.
1496 * testsuite/libgomp.c/target-53.c: New test.
1497 * testsuite/libgomp.c/target-54.c: New test.
1499 2023-06-13 Tobias Burnus <tobias@codesourcery.com>
1502 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
1503 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
1505 2023-06-12 Tobias Burnus <tobias@codesourcery.com>
1507 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
1508 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
1509 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
1511 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
1512 changed error message.
1513 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1514 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
1515 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1516 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
1517 extend testcase to check that data is copied when needed.
1518 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1519 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1521 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
1522 Tobias Burnus <tobias@codesourcery.com>
1524 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
1525 also for non-offload_device targets; check that it runs
1526 successfully for those and for all until a checkpoint for all
1527 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
1528 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1529 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1530 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1531 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
1532 add missing vars to map clause.
1534 2023-06-06 Tobias Burnus <tobias@codesourcery.com>
1536 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
1537 unified_address requirement as supported.
1538 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
1539 'unified_address' from the not-supported requirements.
1541 2023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1542 Tobias Burnus <tobias@codesourcery.com>
1544 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
1545 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
1546 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
1548 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
1549 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
1550 Emit runtime error if memory region not present.
1551 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
1552 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
1553 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
1554 * testsuite/libgomp.fortran/target-present-1.f90: New test.
1555 * testsuite/libgomp.fortran/target-present-2.f90: New test.
1556 * testsuite/libgomp.fortran/target-present-3.f90: New test.
1558 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1561 * testsuite/lib/libgomp.exp: 'flock' through stdout.
1562 * testsuite/flock: New.
1563 * configure.ac (FLOCK): Point to that if no 'flock' available, but
1565 * configure: Regenerate.
1567 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1569 * configure.ac (PERL): Remove.
1570 * configure: Regenerate.
1571 * Makefile.in: Likewise.
1572 * testsuite/Makefile.in: Likewise.
1574 2023-06-01 Tobias Burnus <tobias@codesourcery.com>
1576 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1578 2023-05-26 Tobias Burnus <tobias@codesourcery.com>
1580 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1582 2023-05-21 Tobias Burnus <tobias@codesourcery.com>
1585 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1586 * config/nvptx/target.c (GOMP_teams4): Likewise.
1587 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1588 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1589 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1590 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1592 2023-05-19 Jakub Jelinek <jakub@redhat.com>
1595 * configure.ac (link_gomp): Include also $DL_LIBS.
1596 * configure: Regenerated.
1598 2023-05-17 Tobias Burnus <tobias@codesourcery.com>
1600 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1602 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1603 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1604 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1605 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1607 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1610 * configure.ac: Look for 'flock'.
1611 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1612 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1613 * testsuite/lib/libgomp.exp: ... but here, instead.
1614 (libgomp_load): Override for parallel testing.
1615 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1616 * configure: Regenerate.
1617 * Makefile.in: Regenerate.
1618 * testsuite/Makefile.in: Regenerate.
1620 2023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1621 Thomas Schwinge <thomas@codesourcery.com>
1624 * testsuite/Makefile.am (PWD_COMMAND): New variable.
1625 (%/site.exp): New target.
1626 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1627 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1628 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1630 (check_DEJAGNU_libgomp_targets): New variables.
1631 ($(check_DEJAGNU_libgomp_targets)): New target.
1632 ($(check_DEJAGNU_libgomp_targets)): New dependency.
1633 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1634 * testsuite/Makefile.in: Regenerate.
1635 * testsuite/lib/libgomp.exp: For parallel testing,
1636 'load_file ../libgomp-test-support.exp'.
1638 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1641 * configure.ac: 'AC_SUBST(CXX)'.
1642 * configure: Regenerate.
1643 * Makefile.in: Likewise.
1644 * testsuite/Makefile.in: Likewise.
1645 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1646 (GFORTRAN_UNDER_TEST): Set.
1647 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1648 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1649 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1650 * testsuite/libgomp.fortran/fortran.exp: Use
1651 'GFORTRAN_UNDER_TEST'.
1652 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1654 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1657 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1659 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1660 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1661 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1662 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1664 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1665 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1666 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1669 2023-05-12 Tobias Burnus <tobias@codesourcery.com>
1672 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1673 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1675 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1677 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1678 'lang_library_path' into a list of 'lang_library_paths'.
1679 * testsuite/libgomp.c++/c++.exp: Adjust.
1680 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1681 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1683 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1685 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1687 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1688 at 'lang_test_file_found'.
1689 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1690 'return' early if not able to test. Simplify 'ld_library_path' setup.
1691 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1692 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1693 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1695 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1697 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1699 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1700 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1701 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1703 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1705 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1706 * testsuite/libgomp.c/c.exp: Likewise.
1707 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1708 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1709 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1710 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1711 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1713 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1715 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1716 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1717 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1718 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1719 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1721 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1722 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1723 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1724 'lang_test_file_found' instead of 'lang_test_file'.
1726 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1728 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1730 * testsuite/libgomp.c++/c++.exp: Likewise.
1731 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1733 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1735 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1736 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1738 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1740 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1741 of 'libstdcxx_includes'.
1742 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1744 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1746 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1747 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1748 * libgomp.h (gomp_target_rev): Adjust.
1749 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1750 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1751 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1752 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1753 (rev_off_host_to_dev_cpy): Remove.
1754 (GOMP_OFFLOAD_run): Adjust.
1756 2023-05-04 Julian Brown <julian@codesourcery.com>
1759 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1760 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1761 vector length warning.
1762 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1763 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1764 missing copyin/copyout variable. Ignore vector length warnings.
1765 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1766 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1767 vector length warnings.
1768 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1770 2023-04-28 Julian Brown <julian@codesourcery.com>
1773 * testsuite/libgomp.fortran/pr109622.f90: New test.
1774 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1775 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1777 2023-04-25 Tobias Burnus <tobias@codesourcery.com>
1779 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1780 * testsuite/libgomp.c/scan-23.c: New test.
1781 * testsuite/libgomp.fortran/scan-2.f90: New test.
1783 2023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1785 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1786 weak_undefined options.
1788 2023-03-24 Tobias Burnus <tobias@codesourcery.com>
1790 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1792 2023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1795 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1798 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1801 * target.c (gomp_map_vars_internal): Allow for
1802 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1803 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1804 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1805 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1806 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1808 (gomp_offload_free): Remove.
1809 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1810 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1811 (cuda_free_argmem): Remove.
1812 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1815 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1817 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1818 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1821 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1823 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1824 'GOMP_MAP_IF_PRESENT'.
1825 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1826 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1827 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1828 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1829 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1831 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1833 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1835 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1838 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1840 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1841 another aspect of OpenACC 'async' semantics.
1843 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1845 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1847 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1848 Verify 'acc_ev_alloc', 'acc_ev_free'.
1850 2023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1853 * env.c (wait_policy): Initialize to -1.
1854 (initialize_icvs): Initialize icvs->wait_policy to -1.
1855 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1857 2023-03-08 Tobias Burnus <tobias@codesourcery.com>
1859 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1861 2023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1862 Paul-Antoine Arras <pa@codesourcery.com>
1864 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1866 2023-03-01 Tobias Burnus <tobias@codesourcery.com>
1868 PR middle-end/108546
1869 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1870 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1872 2023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1874 * testsuite/libgomp.fortran/alloc-10.f90: Use
1875 '-Wno-complain-wrong-lang'.
1876 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1877 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1878 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1879 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1880 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1881 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1882 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1883 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1884 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1885 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1887 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1889 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1890 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1891 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1892 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1895 2023-02-16 Jakub Jelinek <jakub@redhat.com>
1897 * libgomp.texi: Fix typos - theads -> threads.
1899 2023-02-16 Jakub Jelinek <jakub@redhat.com>
1901 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1902 comment typo and improve its wording.
1904 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
1906 * target.c (gomp_target_rev): Dereference ptr
1907 to get device address.
1908 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1909 for unallocated allocatable.
1911 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
1913 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1915 (GOMP_target_enter_exit_data): If the next map item is
1916 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1917 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1919 2023-02-09 Tobias Burnus <tobias@codesourcery.com>
1922 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1923 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1924 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1925 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1926 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1927 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1929 2023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1931 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1932 offloading compilation.
1934 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
1936 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1937 freeing not allocated memory.
1938 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1940 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
1942 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1944 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1945 reverse-offload requirement.
1947 2023-02-02 Andrew Stubbs <ams@codesourcery.com>
1949 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1950 (DEFAULT_TEAM_ARENA_SIZE): New define.
1951 (struct heap): Move to this file.
1952 (struct kernargs_abi): Likewise.
1953 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1955 * libgomp.h: Include libgomp-gcn.h.
1956 (TEAM_ARENA_SIZE): Remove.
1957 (team_malloc): Update the error message.
1958 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1959 struct kernargs_abi.
1960 (struct agent_info): Rename team arenas to ephemeral memories.
1961 (struct team_arena_list): Rename ....
1962 (struct ephemeral_memories_list): to this.
1963 (struct heap): Delete.
1964 (team_arena_size): New variable.
1965 (stack_size): New variable.
1966 (print_kernel_dispatch): Update debug messages.
1967 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1968 Read GCN_STACK_SIZE.
1969 (get_team_arena): Rename ...
1970 (configure_ephemeral_memories): ... to this, and set up stacks.
1971 (release_team_arena): Rename ...
1972 (release_ephemeral_memories): ... to this.
1973 (destroy_team_arenas): Rename ...
1974 (destroy_ephemeral_memories): ... to this.
1975 (create_kernel_dispatch): Add num_threads parameter.
1976 Adjust for kernargs_abi refactor and ephemeral memories.
1977 (release_kernel_dispatch): Adjust for ephemeral memories.
1978 (run_kernel): Pass thread-count to create_kernel_dispatch.
1979 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1980 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1982 2023-02-02 Tobias Burnus <tobias@codesourcery.com>
1984 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1986 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
1988 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1989 usage, remove unused -fdump-tree-original.
1990 * testsuite/libgomp.fortran/allocate-4.f90: New.
1992 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
1994 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1995 (GCN): Add item about 'omp requires'.
1996 (nvptx): Likewise; add item about reverse offload.
1998 2023-01-27 Tobias Burnus <tobias@codesourcery.com>
2001 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
2003 2023-01-23 Tobias Burnus <tobias@codesourcery.com>
2005 * libgomp.texi (OpenMP 5.0): Set non-rectangular
2006 loop nest back to 'P' as Fortran support is incomplete.
2008 2023-01-19 Jakub Jelinek <jakub@redhat.com>
2010 PR middle-end/108459
2011 * testsuite/libgomp.c/pr108459.c: New test.
2013 2023-01-17 Martin Liska <mliska@suse.cz>
2015 * Makefile.in: Regenerate.
2016 * configure: Regenerate.
2018 2023-01-07 LIU Hao <lh_mouse@126.com>
2020 PR middle-end/108300
2021 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
2024 2023-01-05 Jakub Jelinek <jakub@redhat.com>
2027 * testsuite/libgomp.c++/pr108286.C: New test.
2029 2023-01-02 Jakub Jelinek <jakub@redhat.com>
2031 * libgomp.texi: Bump @copying's copyright year.
2033 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
2036 * config/nvptx/bar.c (generation_to_barrier): Remove.
2037 (futex_wait,futex_wake,do_spin,do_wait): Remove.
2038 (GOMP_WAIT_H): Remove.
2039 (#include "../linux/bar.c"): Remove.
2040 (gomp_barrier_wait_end): New function.
2041 (gomp_barrier_wait): Likewise.
2042 (gomp_barrier_wait_last): Likewise.
2043 (gomp_team_barrier_wait_end): Likewise.
2044 (gomp_team_barrier_wait): Likewise.
2045 (gomp_team_barrier_wait_final): Likewise.
2046 (gomp_team_barrier_wait_cancel_end): Likewise.
2047 (gomp_team_barrier_wait_cancel): Likewise.
2048 (gomp_team_barrier_cancel): Likewise.
2049 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
2050 (gomp_barrier_init): Remove init of waiters, lock fields.
2051 (gomp_team_barrier_wake): Remove prototype, add new static inline
2054 2022-12-21 Jakub Jelinek <jakub@redhat.com>
2057 * testsuite/libgomp.c++/pr108180.C: New test.
2059 2022-12-16 Tobias Burnus <tobias@codesourcery.com>
2061 PR libfortran/108056
2062 * testsuite/libgomp.fortran/allocate-4.f90: Remove
2063 accidentally added file.
2065 2022-12-15 Tobias Burnus <tobias@codesourcery.com>
2067 PR libfortran/108056
2068 * testsuite/libgomp.fortran/allocate-4.f90: New file.
2070 2022-12-14 Julian Brown <julian@codesourcery.com>
2072 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
2075 2022-12-10 Tobias Burnus <tobias@codesourcery.com>
2077 * libgomp.h (struct target_mem_desc): Predeclare; move
2078 below after 'reverse_splay_tree_node' and add rev_array
2080 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
2081 (reverse_splay_tree_node, reverse_splay_tree,
2082 reverse_splay_tree_key): New typedef.
2083 (struct gomp_device_descr): Add mem_map_rev member.
2084 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
2085 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
2086 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
2087 * splay-tree.h (splay_tree_callback_stop): New typedef; like
2088 splay_tree_callback but returning int not void.
2089 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
2090 taking splay_tree_callback_stop as argument.
2091 * splay-tree.c (splay_tree_foreach_internal_lazy,
2092 splay_tree_foreach_lazy): New; but early exit if callback returns
2094 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
2095 (gomp_map_lookup_rev): New.
2096 (gomp_load_image_to_device): Handle reverse-offload function
2098 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
2099 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
2100 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
2101 gomp_map_cdata_lookup): New auxiliary structs and functions for
2103 (gomp_target_rev): Implement reverse offloading and its mapping.
2104 (gomp_target_init): Init current_device.mem_map_rev.root.
2105 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
2106 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
2107 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
2108 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
2109 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
2110 mapping of on-device allocated variables.
2112 2022-12-09 Tobias Burnus <tobias@codesourcery.com>
2114 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
2115 item about 'align'; mark clause as 'Y' and directive as 'N'.
2116 * testsuite/libgomp.fortran/allocate-2.f90: New test.
2117 * testsuite/libgomp.fortran/allocate-3.f90: New test.
2119 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
2121 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
2122 allow processing of device-specific values.
2123 (omp_set_teams_thread_limit): Likewise.
2125 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
2126 (omp_set_teams_thread_limit): Likewise.
2128 * icv-device.c (omp_get_teams_thread_limit): Likewise.
2130 (omp_set_teams_thread_limit): Likewise.
2131 * icv.c (omp_set_teams_thread_limit): Removed.
2132 (omp_get_teams_thread_limit): Likewise.
2134 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
2135 to the limitation of the number of teams.
2136 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
2137 the number of teams by twice the number of compute units.
2138 (parse_target_attributes): Limit the number of teams on gcn offload
2140 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
2142 (gomp_load_image_to_device): Added a size check for the ICVs struct
2144 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
2145 copy back the ICV values from device to host.
2146 (GOMP_target_ext): Update the number of teams and threads in the kernel
2147 args also considering device-specific values.
2148 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
2149 of OMP_TEAMS_THREAD_LIMIT from the environment.
2150 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
2151 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
2152 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
2153 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
2154 * testsuite/libgomp.fortran/icv-5.f90: New test.
2155 * testsuite/libgomp.fortran/icv-6.f90: New test.
2157 2022-12-06 Tobias Burnus <tobias@codesourcery.com>
2159 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
2160 (TR11): Add missing '@tab N @tab'.
2162 2022-11-30 Tobias Burnus <tobias@codesourcery.com>
2164 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
2166 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
2168 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
2169 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
2170 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
2171 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
2172 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
2173 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
2174 * testsuite/libgomp.c/declare-variant-4.h: New header file.
2176 2022-11-28 Tobias Burnus <tobias@codesourcery.com>
2178 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
2180 2022-11-25 Sandra Loosemore <sandra@codesourcery.com>
2182 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
2183 * testsuite/libgomp.c/target-simd-clone-1.c: New.
2184 * testsuite/libgomp.c/target-simd-clone-2.c: New.
2185 * testsuite/libgomp.c/target-simd-clone-3.c: New.
2187 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
2189 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
2190 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
2191 as valid and the code having no reverse-offload code.
2192 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
2194 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
2196 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
2197 and status for Technical Report (TR) 11.
2199 2022-11-21 Tobias Burnus <tobias@codesourcery.com>
2201 * config/gcn/libgomp-gcn.h (struct output):
2202 Remove 'msg_u64' from the union, change
2203 value_u64[2] to value_u64[6].
2204 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
2205 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
2208 2022-11-19 Tobias Burnus <tobias@codesourcery.com>
2210 * config/gcn/libgomp-gcn.h: New file; contains
2211 struct output, declared previously in plugin-gcn.c.
2212 * config/gcn/target.c: Include it.
2213 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
2214 (GOMP_target_ext): Handle reverse offload.
2215 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
2216 (struct kernargs): Replace struct def by the one
2217 from libgomp-gcn.h for output_data.
2218 (process_reverse_offload): New.
2219 (console_output): Call it.
2221 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
2222 Andrew Stubbs <ams@codesourcery.com>
2224 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
2225 __builtin_gcn_kernarg_ptr instead of asm ("s8").
2227 2022-11-14 Martin Liska <mliska@suse.cz>
2230 2022-11-14 Martin Liska <mliska@suse.cz>
2232 * doc/amd-radeon-gcn.rst: New file.
2233 * doc/conf.py: New file.
2234 * doc/copyright.rst: New file.
2235 * doc/cuda-streams-usage.rst: New file.
2236 * doc/enabling-openacc.rst: New file.
2237 * doc/enabling-openmp.rst: New file.
2238 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2239 * doc/first-invocation-openacc-library-api.rst: New file.
2240 * doc/funding.rst: New file.
2241 * doc/general-public-license-3.rst: New file.
2242 * doc/gnu-free-documentation-license.rst: New file.
2243 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2244 * doc/index.rst: New file.
2245 * doc/indices-and-tables.rst: New file.
2246 * doc/introduction.rst: New file.
2247 * doc/memory-allocation-with-libmemkind.rst: New file.
2248 * doc/nvptx.rst: New file.
2249 * doc/offload-target-specifics.rst: New file.
2250 * doc/openacc-environment-variables.rst: New file.
2251 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2252 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2253 * doc/openacc-environment-variables/accproflib.rst: New file.
2254 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2255 * doc/openacc-introduction.rst: New file.
2256 * doc/openacc-library-and-environment-variables.rst: New file.
2257 * doc/openacc-library-interoperability.rst: New file.
2258 * doc/openacc-profiling-interface.rst: New file.
2259 * doc/openacc-runtime-library-routines.rst: New file.
2260 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2261 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2262 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2263 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2264 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2265 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2266 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2267 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2268 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2269 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2270 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2271 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2272 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2273 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2274 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2275 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2276 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2277 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2278 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2279 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2280 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2281 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2282 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2283 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2284 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2285 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2286 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2287 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2288 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2289 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2290 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2291 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2292 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2293 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2294 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2295 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2296 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2297 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2298 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2299 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2300 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2301 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2302 * doc/openmp-context-selectors.rst: New file.
2303 * doc/openmp-environment-variables.rst: New file.
2304 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2305 * doc/openmp-environment-variables/gompdebug.rst: New file.
2306 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2307 * doc/openmp-environment-variables/gompspincount.rst: New file.
2308 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2309 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2310 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2311 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2312 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2313 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2314 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2315 * doc/openmp-environment-variables/ompnested.rst: New file.
2316 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2317 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2318 * doc/openmp-environment-variables/ompplaces.rst: New file.
2319 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2320 * doc/openmp-environment-variables/ompschedule.rst: New file.
2321 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2322 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2323 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2324 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2325 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2326 * doc/openmp-implementation-specifics.rst: New file.
2327 * doc/openmp-implementation-status.rst: New file.
2328 * doc/openmp-implementation-status/openmp-45.rst: New file.
2329 * doc/openmp-implementation-status/openmp-50.rst: New file.
2330 * doc/openmp-implementation-status/openmp-51.rst: New file.
2331 * doc/openmp-implementation-status/openmp-52.rst: New file.
2332 * doc/openmp-runtime-library-routines.rst: New file.
2333 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2334 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2335 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2336 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2337 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2338 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2339 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2340 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2341 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2342 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2343 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2344 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2345 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2346 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2347 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2348 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2349 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2350 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2351 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2352 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2353 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2354 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2355 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2356 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2357 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2358 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2359 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2360 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2361 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2362 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2363 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2364 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2365 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2366 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2367 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2368 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2369 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2370 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2371 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2372 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2373 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2374 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2375 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2376 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2377 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2378 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2379 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2380 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2381 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2382 * doc/reporting-bugs.rst: New file.
2383 * doc/the-libgomp-abi.rst: New file.
2384 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2385 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2386 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2387 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2389 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2390 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2391 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2392 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2393 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2394 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2395 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2396 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2397 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2398 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2399 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2401 2022-11-14 Martin Liska <mliska@suse.cz>
2404 2022-11-14 Martin Liska <mliska@suse.cz>
2406 * Makefile.in: Support Sphinx based documentation.
2408 2022-11-14 Martin Liska <mliska@suse.cz>
2411 2022-11-14 Martin Liska <mliska@suse.cz>
2413 * libgomp.texi: Removed.
2415 2022-11-14 Martin Liska <mliska@suse.cz>
2418 2022-11-14 Martin Liska <mliska@suse.cz>
2420 * Makefile.in: Support --with-sphinx-build.
2421 * configure.ac: Likewise..
2422 * configure: Regenerate.
2424 2022-11-14 Martin Liska <mliska@suse.cz>
2427 2022-11-09 Martin Liska <mliska@suse.cz>
2429 * Makefile.in: Build info pages conditionally.
2431 2022-11-14 Martin Liska <mliska@suse.cz>
2434 2022-11-14 Martin Liska <mliska@suse.cz>
2436 * doc/amd-radeon-gcn.rst:
2437 Add trailing newline.
2438 * doc/copyright.rst:
2439 Add trailing newline.
2440 * doc/cuda-streams-usage.rst:
2441 Add trailing newline.
2442 * doc/enabling-openacc.rst:
2443 Add trailing newline.
2444 * doc/enabling-openmp.rst:
2445 Add trailing newline.
2446 * doc/first-invocation-nvidia-cublas-library-api.rst:
2447 Add trailing newline.
2448 * doc/first-invocation-openacc-library-api.rst:
2449 Add trailing newline.
2451 Add trailing newline.
2452 * doc/general-public-license-3.rst:
2453 Add trailing newline.
2454 * doc/gnu-free-documentation-license.rst:
2455 Add trailing newline.
2456 * doc/implementation-status-and-implementation-defined-behavior.rst:
2457 Add trailing newline.
2459 Add trailing newline.
2460 * doc/indices-and-tables.rst:
2461 Add trailing newline.
2462 * doc/introduction.rst:
2463 Add trailing newline.
2464 * doc/memory-allocation-with-libmemkind.rst:
2465 Add trailing newline.
2467 Add trailing newline.
2468 * doc/offload-target-specifics.rst:
2469 Add trailing newline.
2470 * doc/openacc-environment-variables.rst:
2471 Add trailing newline.
2472 * doc/openacc-environment-variables/accdevicenum.rst:
2473 Add trailing newline.
2474 * doc/openacc-environment-variables/accdevicetype.rst:
2475 Add trailing newline.
2476 * doc/openacc-environment-variables/accproflib.rst:
2477 Add trailing newline.
2478 * doc/openacc-environment-variables/gccaccnotify.rst:
2479 Add trailing newline.
2480 * doc/openacc-introduction.rst:
2481 Add trailing newline.
2482 * doc/openacc-library-and-environment-variables.rst:
2483 Add trailing newline.
2484 * doc/openacc-library-interoperability.rst:
2485 Add trailing newline.
2486 * doc/openacc-profiling-interface.rst:
2487 Add trailing newline.
2488 * doc/openacc-runtime-library-routines.rst:
2489 Add trailing newline.
2490 * doc/openacc-runtime-library-routines/accasynctest.rst:
2491 Add trailing newline.
2492 * doc/openacc-runtime-library-routines/accasynctestall.rst:
2493 Add trailing newline.
2494 * doc/openacc-runtime-library-routines/accattach.rst:
2495 Add trailing newline.
2496 * doc/openacc-runtime-library-routines/acccopyin.rst:
2497 Add trailing newline.
2498 * doc/openacc-runtime-library-routines/acccopyout.rst:
2499 Add trailing newline.
2500 * doc/openacc-runtime-library-routines/acccreate.rst:
2501 Add trailing newline.
2502 * doc/openacc-runtime-library-routines/accdelete.rst:
2503 Add trailing newline.
2504 * doc/openacc-runtime-library-routines/accdetach.rst:
2505 Add trailing newline.
2506 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2507 Add trailing newline.
2508 * doc/openacc-runtime-library-routines/accfree.rst:
2509 Add trailing newline.
2510 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2511 Add trailing newline.
2512 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2513 Add trailing newline.
2514 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2515 Add trailing newline.
2516 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2517 Add trailing newline.
2518 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2519 Add trailing newline.
2520 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2521 Add trailing newline.
2522 * doc/openacc-runtime-library-routines/accgetproperty.rst:
2523 Add trailing newline.
2524 * doc/openacc-runtime-library-routines/acchostptr.rst:
2525 Add trailing newline.
2526 * doc/openacc-runtime-library-routines/accinit.rst:
2527 Add trailing newline.
2528 * doc/openacc-runtime-library-routines/accispresent.rst:
2529 Add trailing newline.
2530 * doc/openacc-runtime-library-routines/accmalloc.rst:
2531 Add trailing newline.
2532 * doc/openacc-runtime-library-routines/accmapdata.rst:
2533 Add trailing newline.
2534 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2535 Add trailing newline.
2536 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2537 Add trailing newline.
2538 * doc/openacc-runtime-library-routines/accondevice.rst:
2539 Add trailing newline.
2540 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2541 Add trailing newline.
2542 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2543 Add trailing newline.
2544 * doc/openacc-runtime-library-routines/accproflookup.rst:
2545 Add trailing newline.
2546 * doc/openacc-runtime-library-routines/accprofregister.rst:
2547 Add trailing newline.
2548 * doc/openacc-runtime-library-routines/accprofunregister.rst:
2549 Add trailing newline.
2550 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2551 Add trailing newline.
2552 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2553 Add trailing newline.
2554 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2555 Add trailing newline.
2556 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2557 Add trailing newline.
2558 * doc/openacc-runtime-library-routines/accshutdown.rst:
2559 Add trailing newline.
2560 * doc/openacc-runtime-library-routines/accunmapdata.rst:
2561 Add trailing newline.
2562 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2563 Add trailing newline.
2564 * doc/openacc-runtime-library-routines/accupdateself.rst:
2565 Add trailing newline.
2566 * doc/openacc-runtime-library-routines/accwait.rst:
2567 Add trailing newline.
2568 * doc/openacc-runtime-library-routines/accwaitall.rst:
2569 Add trailing newline.
2570 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2571 Add trailing newline.
2572 * doc/openacc-runtime-library-routines/accwaitasync.rst:
2573 Add trailing newline.
2574 * doc/openmp-context-selectors.rst:
2575 Add trailing newline.
2576 * doc/openmp-environment-variables.rst:
2577 Add trailing newline.
2578 * doc/openmp-environment-variables/gompcpuaffinity.rst:
2579 Add trailing newline.
2580 * doc/openmp-environment-variables/gompdebug.rst:
2581 Add trailing newline.
2582 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2583 Add trailing newline.
2584 * doc/openmp-environment-variables/gompspincount.rst:
2585 Add trailing newline.
2586 * doc/openmp-environment-variables/gompstacksize.rst:
2587 Add trailing newline.
2588 * doc/openmp-environment-variables/ompcancellation.rst:
2589 Add trailing newline.
2590 * doc/openmp-environment-variables/ompdefaultdevice.rst:
2591 Add trailing newline.
2592 * doc/openmp-environment-variables/ompdisplayenv.rst:
2593 Add trailing newline.
2594 * doc/openmp-environment-variables/ompdynamic.rst:
2595 Add trailing newline.
2596 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2597 Add trailing newline.
2598 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2599 Add trailing newline.
2600 * doc/openmp-environment-variables/ompnested.rst:
2601 Add trailing newline.
2602 * doc/openmp-environment-variables/ompnumteams.rst:
2603 Add trailing newline.
2604 * doc/openmp-environment-variables/ompnumthreads.rst:
2605 Add trailing newline.
2606 * doc/openmp-environment-variables/ompplaces.rst:
2607 Add trailing newline.
2608 * doc/openmp-environment-variables/ompprocbind.rst:
2609 Add trailing newline.
2610 * doc/openmp-environment-variables/ompschedule.rst:
2611 Add trailing newline.
2612 * doc/openmp-environment-variables/ompstacksize.rst:
2613 Add trailing newline.
2614 * doc/openmp-environment-variables/omptargetoffload.rst:
2615 Add trailing newline.
2616 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2617 Add trailing newline.
2618 * doc/openmp-environment-variables/ompthreadlimit.rst:
2619 Add trailing newline.
2620 * doc/openmp-environment-variables/ompwaitpolicy.rst:
2621 Add trailing newline.
2622 * doc/openmp-implementation-specifics.rst:
2623 Add trailing newline.
2624 * doc/openmp-implementation-status.rst:
2625 Add trailing newline.
2626 * doc/openmp-implementation-status/openmp-45.rst:
2627 Add trailing newline.
2628 * doc/openmp-implementation-status/openmp-50.rst:
2629 Add trailing newline.
2630 * doc/openmp-implementation-status/openmp-51.rst:
2631 Add trailing newline.
2632 * doc/openmp-implementation-status/openmp-52.rst:
2633 Add trailing newline.
2634 * doc/openmp-runtime-library-routines.rst:
2635 Add trailing newline.
2636 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2637 Add trailing newline.
2638 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2639 Add trailing newline.
2640 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2641 Add trailing newline.
2642 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2643 Add trailing newline.
2644 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2645 Add trailing newline.
2646 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2647 Add trailing newline.
2648 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2649 Add trailing newline.
2650 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2651 Add trailing newline.
2652 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2653 Add trailing newline.
2654 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2655 Add trailing newline.
2656 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2657 Add trailing newline.
2658 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2659 Add trailing newline.
2660 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2661 Add trailing newline.
2662 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2663 Add trailing newline.
2664 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2665 Add trailing newline.
2666 * doc/openmp-runtime-library-routines/ompgetnested.rst:
2667 Add trailing newline.
2668 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2669 Add trailing newline.
2670 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2671 Add trailing newline.
2672 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2673 Add trailing newline.
2674 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2675 Add trailing newline.
2676 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2677 Add trailing newline.
2678 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2679 Add trailing newline.
2680 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2681 Add trailing newline.
2682 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2683 Add trailing newline.
2684 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2685 Add trailing newline.
2686 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2687 Add trailing newline.
2688 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2689 Add trailing newline.
2690 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2691 Add trailing newline.
2692 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2693 Add trailing newline.
2694 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2695 Add trailing newline.
2696 * doc/openmp-runtime-library-routines/ompinfinal.rst:
2697 Add trailing newline.
2698 * doc/openmp-runtime-library-routines/ompinitlock.rst:
2699 Add trailing newline.
2700 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2701 Add trailing newline.
2702 * doc/openmp-runtime-library-routines/ompinparallel.rst:
2703 Add trailing newline.
2704 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2705 Add trailing newline.
2706 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2707 Add trailing newline.
2708 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2709 Add trailing newline.
2710 * doc/openmp-runtime-library-routines/ompsetlock.rst:
2711 Add trailing newline.
2712 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2713 Add trailing newline.
2714 * doc/openmp-runtime-library-routines/ompsetnested.rst:
2715 Add trailing newline.
2716 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2717 Add trailing newline.
2718 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2719 Add trailing newline.
2720 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2721 Add trailing newline.
2722 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2723 Add trailing newline.
2724 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2725 Add trailing newline.
2726 * doc/openmp-runtime-library-routines/omptestlock.rst:
2727 Add trailing newline.
2728 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2729 Add trailing newline.
2730 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2731 Add trailing newline.
2732 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2733 Add trailing newline.
2734 * doc/reporting-bugs.rst:
2735 Add trailing newline.
2736 * doc/the-libgomp-abi.rst:
2737 Add trailing newline.
2738 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2739 Add trailing newline.
2740 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2741 Add trailing newline.
2742 * doc/the-libgomp-abi/implementing-critical-construct.rst:
2743 Add trailing newline.
2744 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2745 Add trailing newline.
2746 * doc/the-libgomp-abi/implementing-flush-construct.rst:
2747 Add trailing newline.
2748 * doc/the-libgomp-abi/implementing-for-construct.rst:
2749 Add trailing newline.
2750 * doc/the-libgomp-abi/implementing-master-construct.rst:
2751 Add trailing newline.
2752 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2753 Add trailing newline.
2754 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2755 Add trailing newline.
2756 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2757 Add trailing newline.
2758 * doc/the-libgomp-abi/implementing-private-clause.rst:
2759 Add trailing newline.
2760 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2761 Add trailing newline.
2762 * doc/the-libgomp-abi/implementing-sections-construct.rst:
2763 Add trailing newline.
2764 * doc/the-libgomp-abi/implementing-single-construct.rst:
2765 Add trailing newline.
2766 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2767 Add trailing newline.
2769 2022-11-14 Martin Liska <mliska@suse.cz>
2772 2022-11-09 Martin Liska <mliska@suse.cz>
2774 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2776 2022-11-14 Martin Liska <mliska@suse.cz>
2779 2022-11-14 Martin Liska <mliska@suse.cz>
2781 * doc/conf.py: Add newline at last line.
2783 2022-11-14 Martin Liska <mliska@suse.cz>
2786 2022-11-14 Martin Liska <mliska@suse.cz>
2789 * configure: Regenerate.
2790 * configure.ac: Always set sphinx-build.
2792 2022-11-13 Martin Liska <mliska@suse.cz>
2795 * configure: Regenerate.
2796 * configure.ac: Always set sphinx-build.
2798 2022-11-12 Jakub Jelinek <jakub@redhat.com>
2801 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2802 unsigned long. Change type of upper from unsigned to unsigned long.
2804 2022-11-10 Martin Liska <mliska@suse.cz>
2806 * doc/conf.py: Add newline at last line.
2808 2022-11-09 Martin Liska <mliska@suse.cz>
2810 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2812 2022-11-09 Martin Liska <mliska@suse.cz>
2814 * doc/amd-radeon-gcn.rst:
2815 Add trailing newline.
2816 * doc/copyright.rst:
2817 Add trailing newline.
2818 * doc/cuda-streams-usage.rst:
2819 Add trailing newline.
2820 * doc/enabling-openacc.rst:
2821 Add trailing newline.
2822 * doc/enabling-openmp.rst:
2823 Add trailing newline.
2824 * doc/first-invocation-nvidia-cublas-library-api.rst:
2825 Add trailing newline.
2826 * doc/first-invocation-openacc-library-api.rst:
2827 Add trailing newline.
2829 Add trailing newline.
2830 * doc/general-public-license-3.rst:
2831 Add trailing newline.
2832 * doc/gnu-free-documentation-license.rst:
2833 Add trailing newline.
2834 * doc/implementation-status-and-implementation-defined-behavior.rst:
2835 Add trailing newline.
2837 Add trailing newline.
2838 * doc/indices-and-tables.rst:
2839 Add trailing newline.
2840 * doc/introduction.rst:
2841 Add trailing newline.
2842 * doc/memory-allocation-with-libmemkind.rst:
2843 Add trailing newline.
2845 Add trailing newline.
2846 * doc/offload-target-specifics.rst:
2847 Add trailing newline.
2848 * doc/openacc-environment-variables.rst:
2849 Add trailing newline.
2850 * doc/openacc-environment-variables/accdevicenum.rst:
2851 Add trailing newline.
2852 * doc/openacc-environment-variables/accdevicetype.rst:
2853 Add trailing newline.
2854 * doc/openacc-environment-variables/accproflib.rst:
2855 Add trailing newline.
2856 * doc/openacc-environment-variables/gccaccnotify.rst:
2857 Add trailing newline.
2858 * doc/openacc-introduction.rst:
2859 Add trailing newline.
2860 * doc/openacc-library-and-environment-variables.rst:
2861 Add trailing newline.
2862 * doc/openacc-library-interoperability.rst:
2863 Add trailing newline.
2864 * doc/openacc-profiling-interface.rst:
2865 Add trailing newline.
2866 * doc/openacc-runtime-library-routines.rst:
2867 Add trailing newline.
2868 * doc/openacc-runtime-library-routines/accasynctest.rst:
2869 Add trailing newline.
2870 * doc/openacc-runtime-library-routines/accasynctestall.rst:
2871 Add trailing newline.
2872 * doc/openacc-runtime-library-routines/accattach.rst:
2873 Add trailing newline.
2874 * doc/openacc-runtime-library-routines/acccopyin.rst:
2875 Add trailing newline.
2876 * doc/openacc-runtime-library-routines/acccopyout.rst:
2877 Add trailing newline.
2878 * doc/openacc-runtime-library-routines/acccreate.rst:
2879 Add trailing newline.
2880 * doc/openacc-runtime-library-routines/accdelete.rst:
2881 Add trailing newline.
2882 * doc/openacc-runtime-library-routines/accdetach.rst:
2883 Add trailing newline.
2884 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2885 Add trailing newline.
2886 * doc/openacc-runtime-library-routines/accfree.rst:
2887 Add trailing newline.
2888 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2889 Add trailing newline.
2890 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2891 Add trailing newline.
2892 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2893 Add trailing newline.
2894 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2895 Add trailing newline.
2896 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2897 Add trailing newline.
2898 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2899 Add trailing newline.
2900 * doc/openacc-runtime-library-routines/accgetproperty.rst:
2901 Add trailing newline.
2902 * doc/openacc-runtime-library-routines/acchostptr.rst:
2903 Add trailing newline.
2904 * doc/openacc-runtime-library-routines/accinit.rst:
2905 Add trailing newline.
2906 * doc/openacc-runtime-library-routines/accispresent.rst:
2907 Add trailing newline.
2908 * doc/openacc-runtime-library-routines/accmalloc.rst:
2909 Add trailing newline.
2910 * doc/openacc-runtime-library-routines/accmapdata.rst:
2911 Add trailing newline.
2912 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2913 Add trailing newline.
2914 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2915 Add trailing newline.
2916 * doc/openacc-runtime-library-routines/accondevice.rst:
2917 Add trailing newline.
2918 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2919 Add trailing newline.
2920 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2921 Add trailing newline.
2922 * doc/openacc-runtime-library-routines/accproflookup.rst:
2923 Add trailing newline.
2924 * doc/openacc-runtime-library-routines/accprofregister.rst:
2925 Add trailing newline.
2926 * doc/openacc-runtime-library-routines/accprofunregister.rst:
2927 Add trailing newline.
2928 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2929 Add trailing newline.
2930 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2931 Add trailing newline.
2932 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2933 Add trailing newline.
2934 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2935 Add trailing newline.
2936 * doc/openacc-runtime-library-routines/accshutdown.rst:
2937 Add trailing newline.
2938 * doc/openacc-runtime-library-routines/accunmapdata.rst:
2939 Add trailing newline.
2940 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2941 Add trailing newline.
2942 * doc/openacc-runtime-library-routines/accupdateself.rst:
2943 Add trailing newline.
2944 * doc/openacc-runtime-library-routines/accwait.rst:
2945 Add trailing newline.
2946 * doc/openacc-runtime-library-routines/accwaitall.rst:
2947 Add trailing newline.
2948 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2949 Add trailing newline.
2950 * doc/openacc-runtime-library-routines/accwaitasync.rst:
2951 Add trailing newline.
2952 * doc/openmp-context-selectors.rst:
2953 Add trailing newline.
2954 * doc/openmp-environment-variables.rst:
2955 Add trailing newline.
2956 * doc/openmp-environment-variables/gompcpuaffinity.rst:
2957 Add trailing newline.
2958 * doc/openmp-environment-variables/gompdebug.rst:
2959 Add trailing newline.
2960 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2961 Add trailing newline.
2962 * doc/openmp-environment-variables/gompspincount.rst:
2963 Add trailing newline.
2964 * doc/openmp-environment-variables/gompstacksize.rst:
2965 Add trailing newline.
2966 * doc/openmp-environment-variables/ompcancellation.rst:
2967 Add trailing newline.
2968 * doc/openmp-environment-variables/ompdefaultdevice.rst:
2969 Add trailing newline.
2970 * doc/openmp-environment-variables/ompdisplayenv.rst:
2971 Add trailing newline.
2972 * doc/openmp-environment-variables/ompdynamic.rst:
2973 Add trailing newline.
2974 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2975 Add trailing newline.
2976 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2977 Add trailing newline.
2978 * doc/openmp-environment-variables/ompnested.rst:
2979 Add trailing newline.
2980 * doc/openmp-environment-variables/ompnumteams.rst:
2981 Add trailing newline.
2982 * doc/openmp-environment-variables/ompnumthreads.rst:
2983 Add trailing newline.
2984 * doc/openmp-environment-variables/ompplaces.rst:
2985 Add trailing newline.
2986 * doc/openmp-environment-variables/ompprocbind.rst:
2987 Add trailing newline.
2988 * doc/openmp-environment-variables/ompschedule.rst:
2989 Add trailing newline.
2990 * doc/openmp-environment-variables/ompstacksize.rst:
2991 Add trailing newline.
2992 * doc/openmp-environment-variables/omptargetoffload.rst:
2993 Add trailing newline.
2994 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2995 Add trailing newline.
2996 * doc/openmp-environment-variables/ompthreadlimit.rst:
2997 Add trailing newline.
2998 * doc/openmp-environment-variables/ompwaitpolicy.rst:
2999 Add trailing newline.
3000 * doc/openmp-implementation-specifics.rst:
3001 Add trailing newline.
3002 * doc/openmp-implementation-status.rst:
3003 Add trailing newline.
3004 * doc/openmp-implementation-status/openmp-45.rst:
3005 Add trailing newline.
3006 * doc/openmp-implementation-status/openmp-50.rst:
3007 Add trailing newline.
3008 * doc/openmp-implementation-status/openmp-51.rst:
3009 Add trailing newline.
3010 * doc/openmp-implementation-status/openmp-52.rst:
3011 Add trailing newline.
3012 * doc/openmp-runtime-library-routines.rst:
3013 Add trailing newline.
3014 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3015 Add trailing newline.
3016 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3017 Add trailing newline.
3018 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3019 Add trailing newline.
3020 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3021 Add trailing newline.
3022 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3023 Add trailing newline.
3024 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3025 Add trailing newline.
3026 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3027 Add trailing newline.
3028 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3029 Add trailing newline.
3030 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3031 Add trailing newline.
3032 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3033 Add trailing newline.
3034 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3035 Add trailing newline.
3036 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3037 Add trailing newline.
3038 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3039 Add trailing newline.
3040 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3041 Add trailing newline.
3042 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3043 Add trailing newline.
3044 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3045 Add trailing newline.
3046 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3047 Add trailing newline.
3048 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3049 Add trailing newline.
3050 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3051 Add trailing newline.
3052 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3053 Add trailing newline.
3054 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3055 Add trailing newline.
3056 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3057 Add trailing newline.
3058 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3059 Add trailing newline.
3060 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3061 Add trailing newline.
3062 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3063 Add trailing newline.
3064 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3065 Add trailing newline.
3066 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3067 Add trailing newline.
3068 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3069 Add trailing newline.
3070 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3071 Add trailing newline.
3072 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3073 Add trailing newline.
3074 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3075 Add trailing newline.
3076 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3077 Add trailing newline.
3078 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3079 Add trailing newline.
3080 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3081 Add trailing newline.
3082 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3083 Add trailing newline.
3084 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3085 Add trailing newline.
3086 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3087 Add trailing newline.
3088 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3089 Add trailing newline.
3090 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3091 Add trailing newline.
3092 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3093 Add trailing newline.
3094 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3095 Add trailing newline.
3096 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3097 Add trailing newline.
3098 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3099 Add trailing newline.
3100 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3101 Add trailing newline.
3102 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3103 Add trailing newline.
3104 * doc/openmp-runtime-library-routines/omptestlock.rst:
3105 Add trailing newline.
3106 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3107 Add trailing newline.
3108 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3109 Add trailing newline.
3110 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3111 Add trailing newline.
3112 * doc/reporting-bugs.rst:
3113 Add trailing newline.
3114 * doc/the-libgomp-abi.rst:
3115 Add trailing newline.
3116 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3117 Add trailing newline.
3118 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3119 Add trailing newline.
3120 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3121 Add trailing newline.
3122 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3123 Add trailing newline.
3124 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3125 Add trailing newline.
3126 * doc/the-libgomp-abi/implementing-for-construct.rst:
3127 Add trailing newline.
3128 * doc/the-libgomp-abi/implementing-master-construct.rst:
3129 Add trailing newline.
3130 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3131 Add trailing newline.
3132 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3133 Add trailing newline.
3134 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3135 Add trailing newline.
3136 * doc/the-libgomp-abi/implementing-private-clause.rst:
3137 Add trailing newline.
3138 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3139 Add trailing newline.
3140 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3141 Add trailing newline.
3142 * doc/the-libgomp-abi/implementing-single-construct.rst:
3143 Add trailing newline.
3144 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3145 Add trailing newline.
3147 2022-11-09 Martin Liska <mliska@suse.cz>
3149 * Makefile.in: Build info pages conditionally.
3151 2022-11-09 Martin Liska <mliska@suse.cz>
3153 * Makefile.in: Support --with-sphinx-build.
3154 * configure.ac: Likewise..
3155 * configure: Regenerate.
3157 2022-11-09 Martin Liska <mliska@suse.cz>
3159 * libgomp.texi: Removed.
3161 2022-11-09 Martin Liska <mliska@suse.cz>
3163 * Makefile.in: Support Sphinx based documentation.
3165 2022-11-09 Martin Liska <mliska@suse.cz>
3167 * doc/amd-radeon-gcn.rst: New file.
3168 * doc/conf.py: New file.
3169 * doc/copyright.rst: New file.
3170 * doc/cuda-streams-usage.rst: New file.
3171 * doc/enabling-openacc.rst: New file.
3172 * doc/enabling-openmp.rst: New file.
3173 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
3174 * doc/first-invocation-openacc-library-api.rst: New file.
3175 * doc/funding.rst: New file.
3176 * doc/general-public-license-3.rst: New file.
3177 * doc/gnu-free-documentation-license.rst: New file.
3178 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
3179 * doc/index.rst: New file.
3180 * doc/indices-and-tables.rst: New file.
3181 * doc/introduction.rst: New file.
3182 * doc/memory-allocation-with-libmemkind.rst: New file.
3183 * doc/nvptx.rst: New file.
3184 * doc/offload-target-specifics.rst: New file.
3185 * doc/openacc-environment-variables.rst: New file.
3186 * doc/openacc-environment-variables/accdevicenum.rst: New file.
3187 * doc/openacc-environment-variables/accdevicetype.rst: New file.
3188 * doc/openacc-environment-variables/accproflib.rst: New file.
3189 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
3190 * doc/openacc-introduction.rst: New file.
3191 * doc/openacc-library-and-environment-variables.rst: New file.
3192 * doc/openacc-library-interoperability.rst: New file.
3193 * doc/openacc-profiling-interface.rst: New file.
3194 * doc/openacc-runtime-library-routines.rst: New file.
3195 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
3196 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
3197 * doc/openacc-runtime-library-routines/accattach.rst: New file.
3198 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
3199 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
3200 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
3201 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
3202 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
3203 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
3204 * doc/openacc-runtime-library-routines/accfree.rst: New file.
3205 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
3206 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
3207 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
3208 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
3209 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
3210 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
3211 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
3212 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
3213 * doc/openacc-runtime-library-routines/accinit.rst: New file.
3214 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
3215 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
3216 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
3217 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
3218 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
3219 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
3220 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
3221 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
3222 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
3223 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
3224 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
3225 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
3226 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
3227 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
3228 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
3229 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
3230 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
3231 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
3232 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
3233 * doc/openacc-runtime-library-routines/accwait.rst: New file.
3234 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
3235 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
3236 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
3237 * doc/openmp-context-selectors.rst: New file.
3238 * doc/openmp-environment-variables.rst: New file.
3239 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
3240 * doc/openmp-environment-variables/gompdebug.rst: New file.
3241 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
3242 * doc/openmp-environment-variables/gompspincount.rst: New file.
3243 * doc/openmp-environment-variables/gompstacksize.rst: New file.
3244 * doc/openmp-environment-variables/ompcancellation.rst: New file.
3245 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
3246 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
3247 * doc/openmp-environment-variables/ompdynamic.rst: New file.
3248 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
3249 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
3250 * doc/openmp-environment-variables/ompnested.rst: New file.
3251 * doc/openmp-environment-variables/ompnumteams.rst: New file.
3252 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
3253 * doc/openmp-environment-variables/ompplaces.rst: New file.
3254 * doc/openmp-environment-variables/ompprocbind.rst: New file.
3255 * doc/openmp-environment-variables/ompschedule.rst: New file.
3256 * doc/openmp-environment-variables/ompstacksize.rst: New file.
3257 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
3258 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
3259 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
3260 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
3261 * doc/openmp-implementation-specifics.rst: New file.
3262 * doc/openmp-implementation-status.rst: New file.
3263 * doc/openmp-implementation-status/openmp-45.rst: New file.
3264 * doc/openmp-implementation-status/openmp-50.rst: New file.
3265 * doc/openmp-implementation-status/openmp-51.rst: New file.
3266 * doc/openmp-implementation-status/openmp-52.rst: New file.
3267 * doc/openmp-runtime-library-routines.rst: New file.
3268 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
3269 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
3270 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
3271 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
3272 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
3273 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
3274 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
3275 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
3276 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
3277 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
3278 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
3279 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
3280 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
3281 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
3282 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
3283 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
3284 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
3285 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
3286 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
3287 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
3288 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
3289 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
3290 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
3291 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
3292 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
3293 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
3294 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
3295 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
3296 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
3297 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
3298 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
3299 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
3300 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
3301 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
3302 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
3303 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
3304 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
3305 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
3306 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
3307 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
3308 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
3309 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
3310 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
3311 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
3312 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
3313 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
3314 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
3315 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
3316 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
3317 * doc/reporting-bugs.rst: New file.
3318 * doc/the-libgomp-abi.rst: New file.
3319 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
3320 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
3321 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
3322 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3324 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
3325 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
3326 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
3327 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
3328 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
3329 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
3330 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
3331 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
3332 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
3333 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
3334 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
3336 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
3338 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
3339 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
3341 * plugin/configfrag.ac <enable_offload_targets>
3342 [*-intelmic-* | *-intelmicemul-*]: Remove.
3343 * configure: Regenerate.
3344 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
3346 (offload_target_to_openacc_device_type)
3347 [$offload_target = *-intelmic*]: Remove.
3348 (check_effective_target_offload_device_intel_mic)
3349 (check_effective_target_offload_device_any_intel_mic): Remove.
3350 * testsuite/libgomp.c-c++-common/on_device_arch.h
3351 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
3352 (any_device_arch_intel_mic): Remove.
3353 * testsuite/libgomp.c-c++-common/target-45.c: Remove
3354 'offload_device_any_intel_mic' XFAIL.
3355 * testsuite/libgomp.fortran/target10.f90: Likewise.
3357 2022-11-03 Tobias Burnus <tobias@codesourcery.com>
3359 * testsuite/libgomp.fortran/target-11.f90: New test.
3360 * testsuite/libgomp.fortran/target-13.f90: New test.
3362 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
3366 * oacc-mem.c (goacc_enter_data_internal): Support
3367 OpenACC 'declare create' with Fortran allocatable arrays, part II.
3368 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
3370 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
3372 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
3375 * oacc-mem.c (goacc_enter_data_internal): Support
3376 OpenACC 'declare create' with Fortran allocatable arrays, part I.
3377 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
3379 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
3382 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
3384 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
3387 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
3389 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
3392 2022-11-02 Cesar Philippidis <cesar@codesourcery.com>
3393 Thomas Schwinge <thomas@codesourcery.com>
3395 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
3397 2022-10-28 Julian Brown <julian@codesourcery.com>
3398 Thomas Schwinge <thomas@codesourcery.com>
3401 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
3402 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
3403 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3404 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
3405 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3407 2022-10-24 Thomas Schwinge <thomas@codesourcery.com>
3409 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
3410 'ptx_dev->rev_data'.
3412 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
3414 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
3415 'static' for this variable.
3416 * config/nvptx/libgomp-nvptx.h: New file.
3417 * config/nvptx/target.c: Include it.
3418 (GOMP_ADDITIONAL_ICVS): Declare extern var.
3419 (GOMP_REV_OFFLOAD_VAR): Declare var.
3420 (GOMP_target_ext): Handle reverse offload.
3421 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
3422 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
3423 * target.c (gomp_target_rev): ... this new stub function.
3424 * libgomp.h (gomp_target_rev): Declare.
3425 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
3426 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
3427 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
3428 (struct ptx_device): Add rev_data member.
3429 (nvptx_open_device): Remove async_engines query, last used in
3430 r10-304-g1f4c5b9b; add unified-address assert check.
3431 (GOMP_OFFLOAD_get_num_devices): Claim unified address
3433 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
3434 offload functions exist. Make offload var available
3436 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
3437 (GOMP_OFFLOAD_run): Handle reverse offload.
3439 2022-10-21 Thomas Schwinge <thomas@codesourcery.com>
3441 PR tree-optimization/107195
3443 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
3446 2022-10-20 Tobias Burnus <tobias@codesourcery.com>
3448 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
3450 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
3451 on_device_arch_gcn): New.
3452 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
3453 requires-4.c but using heap-allocated memory.
3455 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
3458 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
3460 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
3462 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
3463 '-foffload-options' syntax.
3465 2022-10-13 Tobias Burnus <tobias@codesourcery.com>
3467 * testsuite/libgomp.fortran/task-7.f90: New test.
3468 * testsuite/libgomp.fortran/task-8.f90: New test.
3469 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
3470 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
3471 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
3472 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
3473 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
3475 2022-10-12 Jakub Jelinek <jakub@redhat.com>
3477 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
3478 in deprecation bullet.
3480 2022-10-12 Jakub Jelinek <jakub@redhat.com>
3482 * omp.h.in (omp_in_explicit_task): Declare.
3483 * omp_lib.h.in (omp_in_explicit_task): Likewise.
3484 * omp_lib.f90.in (omp_in_explicit_task): New interface.
3485 * libgomp.map (OMP_5.2): New symbol version, export
3486 omp_in_explicit_task and omp_in_explicit_task_.
3487 * task.c (omp_in_explicit_task): New function.
3488 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
3489 (omp_in_explicit_task_): New function.
3490 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
3491 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
3492 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
3493 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
3495 2022-10-12 Jakub Jelinek <jakub@redhat.com>
3497 * task.c (gomp_create_artificial_team): Fix up handling of invocations
3498 from within explicit task.
3499 * target.c (GOMP_target_ext): Likewise.
3500 * testsuite/libgomp.c/task-7.c: New test.
3501 * testsuite/libgomp.c/task-8.c: New test.
3502 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
3503 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
3505 2022-10-12 Martin Liska <mliska@suse.cz>
3507 * configure: Regenerate.
3509 2022-10-11 Olivier Hainque <hainque@adacore.com>
3510 Olivier Hainque <hainque@adacore.com>
3512 * configure: Regenerate.
3514 2022-10-05 Tobias Burnus <tobias@codesourcery.com>
3516 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
3518 2022-10-04 Jakub Jelinek <jakub@redhat.com>
3520 * libgomp.texi (Support begin/end declare target syntax in C/C++):
3521 Mark as implemented.
3523 2022-09-30 Tobias Burnus <tobias@codesourcery.com>
3526 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
3528 2022-09-28 Tobias Burnus <tobias@codesourcery.com>
3530 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
3531 for C/C++. Remove duplicated 'begin declare target' entry.
3533 2022-09-24 Jakub Jelinek <jakub@redhat.com>
3536 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
3538 2022-09-14 Julian Brown <julian@codesourcery.com>
3540 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
3541 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
3542 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
3543 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
3544 test to here, make "run" test.
3546 2022-09-13 Jakub Jelinek <jakub@redhat.com>
3549 * env.c (get_icv_member_addr): Cast false to void * before assigning
3550 it to icv_addr[1], and comment the whole assignment out.
3552 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
3554 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3557 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
3559 * libgomp.texi (Offload-Target Specifics: nvptx): Document
3560 that reverse offload requires >= -march=sm_35.
3561 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3563 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3564 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3565 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3566 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3567 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3569 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
3571 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3572 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3574 2022-09-12 Jakub Jelinek <jakub@redhat.com>
3577 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3578 (main): Avoid tests for which corresponding non-_ALL suffixed variable
3579 is in the environment, or for OMP_NUM_TEAMS on the device
3580 OMP_NUM_TEAMS_DEV_?.
3582 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
3584 * env.c (initialize_env): Include libiberty environ.h.
3586 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3588 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3589 function address table '$offload_func_table' if rev_fn_table
3592 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3594 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3595 .offload_func_table to populate rev_fn_table when requested.
3597 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3599 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3600 'uint64_t **rev_fn_table' argument.
3601 * oacc-host.c (host_load_image): Likewise.
3602 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3604 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3605 * target.c (gomp_load_image_to_device): Update call but pass
3608 2022-09-09 Jakub Jelinek <jakub@redhat.com>
3611 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3612 char * for dest[1] initialization from params[1]. Formatting fixes.
3614 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
3617 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3619 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
3621 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3622 section; move OpenMP Context Selectors from ...
3623 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3626 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
3628 * config/gcn/icv-device.c (omp_get_default_device): Return device-
3630 (omp_get_max_teams): Added for GCN devices.
3631 (omp_set_num_teams): Likewise.
3633 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3635 (omp_get_max_teams): Added for NVPTX devices.
3636 (omp_set_num_teams): Likewise.
3638 * env.c (struct gomp_icv_list): New struct to store entries of initial
3640 (struct gomp_offload_icv_list): New struct to store entries of device-
3641 specific ICV values that are copied to the device and back.
3642 (struct gomp_default_icv_values): New struct to store default values of
3643 ICVs according to the OpenMP standard.
3644 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3645 (print_env_var_error): Function that prints an error for invalid values
3647 (parse_unsigned_long_1): Removed getenv. Generalized.
3648 (parse_unsigned_long): Likewise.
3649 (parse_int_1): Likewise.
3650 (parse_int): Likewise.
3651 (parse_int_secure): Likewise.
3652 (parse_unsigned_long_list): Likewise.
3653 (parse_target_offload): Likewise.
3654 (parse_bind_var): Likewise.
3655 (parse_stacksize): Likewise.
3656 (parse_boolean): Likewise.
3657 (parse_wait_policy): Likewise.
3658 (parse_allocator): Likewise.
3659 (omp_display_env): Extended to output different variants of environment
3661 (print_schedule): New helper function for omp_display_env which prints
3662 the values of run_sched_var.
3663 (print_proc_bind): New helper function for omp_display_env which prints
3664 the values of proc_bind_var.
3665 (enum gomp_parse_type): Collection of types used for parsing environment
3667 (ENTRY): Preprocess string lengths of environment variables.
3668 (OMP_VAR_CNT): Preprocess table size.
3669 (OMP_HOST_VAR_CNT): Likewise.
3670 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3672 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3673 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3674 (print_device_specific_icvs): New helper function for omp_display_env to
3675 print device specific ICV values.
3676 (get_device_num): New helper function for parse_device_specific.
3677 Extracts the device number from an environment variable name.
3678 (get_icv_member_addr): Gets the memory address for a particular member
3680 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3681 (initialize_icvs): New function to initialize a gomp_initial_icvs
3683 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3684 (startswith): Checks if a string starts with a given prefix.
3685 (initialize_env): Extended to parse the new syntax of environment
3687 * icv-device.c (omp_get_max_teams): Added.
3689 (omp_set_num_teams): Likewise.
3690 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3691 (omp_get_max_teams): Likewise.
3693 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3694 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3695 holds the designated ICVs of the target device.
3696 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3697 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3699 (enum gomp_env_suffix): Collection of possible suffixes of environment
3701 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3703 (struct gomp_default_icv):New struct to hold ICVs for which we need
3704 to store initial values.
3705 (struct gomp_icv_list): Definition of a linked list that is used for
3706 storing ICVs for the devices and also for _DEV, _ALL, and without
3708 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3710 (struct gomp_offload_icv_list): Definition of a linked list that holds
3711 device-specific ICVs that are copied to devices.
3712 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3713 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3714 * libgomp.texi: Updated.
3715 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3716 further ICVs from the offload image.
3717 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3718 * target.c (gomp_get_offload_icv_item): Get a list item of
3719 gomp_offload_icv_list.
3720 (get_gomp_offload_icvs): New. Returns the ICV values
3721 depending on the device num and the variable hierarchy.
3722 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3723 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3724 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3725 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3726 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3727 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3728 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3730 2022-09-08 Jakub Jelinek <jakub@redhat.com>
3732 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3734 * testsuite/libgomp.c/doacross-4.c: New test.
3735 * testsuite/libgomp.c/doacross-5.c: New test.
3736 * testsuite/libgomp.c/doacross-6.c: New test.
3737 * testsuite/libgomp.c/doacross-7.c: New test.
3739 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
3741 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3743 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
3745 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3746 refer to 'requires'.
3747 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3748 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3749 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3750 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3752 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
3754 PR middle-end/106548
3755 * testsuite/libgomp.c/linear-2.c: New test.
3757 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
3759 * splay-tree.h: Fix splay_* macro unsetting if
3760 splay_tree_prefix is defined.
3762 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
3764 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3766 2022-07-29 Jakub Jelinek <jakub@redhat.com>
3768 PR middle-end/106449
3769 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3771 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
3773 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3775 2022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3777 PR middle-end/101551
3778 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3779 'offloading_enabled' diagnostics issue.
3781 2022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3783 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3784 '_Pragma' diagnostics verification.
3786 2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3788 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3789 improved warning locations.
3790 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3792 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3794 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3795 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3796 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3797 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3798 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3800 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3802 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3803 Denote as legacy entry points.
3804 * testsuite/lib/libgomp.exp
3805 (check_effective_target_offload_target_any): New proc.
3806 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3807 'offload_target_any'.
3808 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3809 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3810 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3812 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3814 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3815 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3817 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3819 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3821 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3823 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3825 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3827 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
3828 Jakub Jelinek <jakub@redhat.com>
3830 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3832 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
3833 Chung-Lin Tang <cltang@codesourcery.com>
3834 Thomas Schwinge <thomas@codesourcery.com>
3836 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3837 omp_requires_mask arg.
3838 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3839 return -1 when device available but omp_requires_mask != 0.
3840 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3841 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3843 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3844 goacc_attach_host_thread_to_device, acc_get_num_devices,
3845 acc_set_device_num, get_property_any): Likewise.
3846 * target.c (omp_requires_mask): New global var.
3847 (gomp_requires_to_name): New.
3848 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3849 (gomp_target_init): Handle omp_requires_mask.
3850 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3851 (OpenMP 5.1): Add a missed item.
3852 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3853 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3854 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3855 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3856 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3857 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3858 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3859 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3860 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3861 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3862 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3863 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3864 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3865 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3866 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3867 * testsuite/libgomp.fortran/requires-1.f90: New test.
3869 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
3871 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3872 with fromto as implemented.
3874 2022-06-28 Martin Liska <mliska@suse.cz>
3876 * acinclude.m4: Fix typo in mold linker detection.
3877 * Makefile.in: Regenerate.
3878 * configure: Regenerate.
3880 2022-06-21 Jakub Jelinek <jakub@redhat.com>
3881 Paul Iannetta <piannetta@kalrayinc.com>
3884 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3886 2022-06-17 Martin Liska <mliska@suse.cz>
3888 * libgomp.texi: Add table header for new features of
3891 2022-06-15 Jakub Jelinek <jakub@redhat.com>
3893 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3894 q to ddress of an automatic variable. Use -5 instead of -1 in
3895 omp_get_mapped_ptr call. Add test with omp_initial_device.
3896 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3897 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3898 Renumber stop arguments afterwards.
3900 2022-06-13 Jakub Jelinek <jakub@redhat.com>
3902 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3903 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3905 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3906 * target.c (resolve_device): Add remapped argument, handle
3907 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3908 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3909 if remapped, otherwise treat omp_initial_device that way. For
3910 omp_invalid_device, always emit gomp_fatal, even when
3911 OMP_TARGET_OFFLOAD isn't mandatory.
3912 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3913 GOMP_target_update, GOMP_target_update_ext,
3914 GOMP_target_enter_exit_data): Pass true as remapped argument to
3916 (omp_target_alloc, omp_target_free, omp_target_is_present,
3917 omp_target_memcpy_check, omp_target_associate_ptr,
3918 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3919 omp_target_is_accessible): Pass false as remapped argument to
3920 resolve_device. Treat omp_initial_device the same as
3921 gomp_get_num_devices (). Don't bypass resolve_device calls if
3922 device_num is negative.
3923 (omp_pause_resource): Treat omp_initial_device the same as
3924 gomp_get_num_devices (). Call resolve_device.
3925 * icv-device.c (omp_set_default_device): Always set to device_num
3926 even when it is negative.
3927 * libgomp.texi: Document that Conforming device numbers,
3928 omp_initial_device and omp_invalid_device is implemented.
3929 * testsuite/libgomp.c/target-41.c (main): Add test with
3931 * testsuite/libgomp.c/target-45.c: New test.
3932 * testsuite/libgomp.c/target-46.c: New test.
3933 * testsuite/libgomp.c/target-47.c: New test.
3934 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3935 test with omp_initial_device. Use -5 instead of -1 for negative value
3937 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3938 Likewise. Reorder stop numbers.
3940 2022-06-10 Jakub Jelinek <jakub@redhat.com>
3942 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3943 rather than "libmemkind.so".
3945 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3947 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3948 * plugin/configfrag.ac (--with-cuda-driver)
3949 (--with-cuda-driver-include, --with-cuda-driver-lib)
3950 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3951 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3953 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3954 (cuda_driver_lib): Remove.
3955 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3956 * Makefile.in: Regenerate.
3957 * configure: Likewise.
3958 * testsuite/Makefile.in: Likewise.
3960 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3962 * config/linux/allocator.c: Fix up #include directive.
3964 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3966 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3967 (enum gomp_memkind_kind): New type.
3968 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3970 (struct gomp_memkind_data): New type.
3971 (memkind_data, memkind_data_once): New variables.
3972 (gomp_init_memkind, gomp_get_memkind): New functions.
3973 (omp_init_allocator): Initialize data.memkind, don't fail for
3974 omp_high_bw_mem_space if libmemkind supports it.
3975 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3976 memkind support of LIBGOMP_USE_MEMKIND is defined.
3977 * config/linux/allocator.c: New file.
3979 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
3981 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3982 * testsuite/libgomp.fortran/scope-2.f90: New test.
3984 2022-06-02 David Malcolm <dmalcolm@redhat.com>
3986 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3988 2022-05-31 Jakub Jelinek <jakub@redhat.com>
3990 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3991 scope construct with allocate clause.
3992 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3993 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3995 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
3997 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3998 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3999 explicit 'to' and 'enter' clause.
4000 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
4002 2022-05-28 Jakub Jelinek <jakub@redhat.com>
4005 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
4006 defined(HAVE__ALIGNED_MALLOC) case.
4007 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
4008 handling as last option before fallback instead of first.
4009 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
4012 2022-05-27 Jakub Jelinek <jakub@redhat.com>
4014 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
4016 * testsuite/libgomp.c/target-41.c: Likewise.
4018 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
4020 * libgomp.texi (Other new OpenMP 5.1 features): Add
4021 'begin declare target'.
4022 (Other new OpenMP 5.2 features): New.
4024 2022-05-25 Jakub Jelinek <jakub@redhat.com>
4026 * task.c (gomp_task_run_post_handle_dependers): If empty_task
4027 is the last task taskwait depend depends on, wake it up.
4028 Similarly if it is the last child of a taskgroup, use atomic
4029 store instead of decrement and awak taskgroup wait if any.
4030 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
4032 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
4034 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
4035 EF_AMDGPU_MACH_AMDGCN_GFX90a.
4036 (gcn_gfx90a_s): New.
4037 (isa_hsa_name): Support gfx90a.
4038 (isa_code): Likewise.
4040 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
4043 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
4044 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
4046 2022-05-24 Jakub Jelinek <jakub@redhat.com>
4049 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
4050 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
4051 * task.c (empty_task): New function.
4052 (gomp_task_run_post_handle_depend_hash): Declare earlier.
4053 (gomp_task_run_post_handle_depend): Declare.
4054 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
4056 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
4057 (GOMP_taskwait_depend_nowait): New function.
4058 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
4060 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
4063 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
4064 Support attach for GOMP_MAP_FIRSTPRIVATE.
4065 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
4066 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
4067 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
4069 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
4071 * libgomp.map: Added omp_target_memcpy_async and
4072 omp_target_memcpy_rect_async.
4073 * libgomp.texi: Both functions are now supported.
4074 * omp.h.in: Added omp_target_memcpy_async and
4075 omp_target_memcpy_rect_async.
4076 * omp_lib.f90.in: Added interfaces for both new functions.
4077 * omp_lib.h.in: Likewise.
4078 * target.c (ialias_redirect): Added for GOMP_task.
4079 (omp_target_memcpy): Restructured into check and copy part.
4080 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
4081 omp_target_memcpy_async that checks requirements.
4082 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
4083 omp_target_memcpy_async that performs the memcpy.
4084 (omp_target_memcpy_async_helper): New helper function that is used in
4085 omp_target_memcpy_async for the asynchronous task.
4086 (omp_target_memcpy_async): Added.
4087 (omp_target_memcpy_rect): Restructured into check and copy part.
4088 (omp_target_memcpy_rect_check): New helper function for
4089 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
4091 (omp_target_memcpy_rect_copy): New helper function for
4092 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
4094 (omp_target_memcpy_rect_async_helper): New helper function that is used
4095 in omp_target_memcpy_rect_async for the asynchronous task.
4096 (omp_target_memcpy_rect_async): Added.
4097 * task.c (ialias): Added for GOMP_task.
4098 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
4099 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
4100 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
4101 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
4102 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
4103 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
4104 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
4105 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
4107 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
4109 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
4110 (OpenMP Context Selectors): Add missing comma.
4111 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
4112 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
4113 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
4114 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
4116 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4118 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
4119 comment for omp_display_env feature.
4121 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4123 * libgomp.texi (Offload-Target Specifics): New chapter; add section
4124 to document OpenMP context selectors.
4126 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4128 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
4129 from bool to unsigned char.
4130 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
4131 Ignore dependencies where
4132 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
4133 rather than just task->depend[i].is_in && ent->is_in. Remember
4134 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
4136 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
4137 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
4138 rather than just elem.is_in && ent->is_in.
4139 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
4140 inoutset depend-kind.
4141 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
4142 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
4143 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
4145 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4147 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
4149 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4151 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
4152 * testsuite/libgomp.fortran/depend-5.f90: New test.
4153 * testsuite/libgomp.fortran/depend-6.f90: New test.
4154 * testsuite/libgomp.fortran/depend-7.f90: New test.
4156 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
4158 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
4159 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
4160 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
4162 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
4164 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
4166 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
4168 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
4170 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
4172 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
4173 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
4174 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
4175 append '$(PLUGIN_NVPTX_LDFLAGS)'.
4176 * Makefile.in: Regenerate.
4178 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
4180 * Makefile.am (libgomp_la_LIBADD): Initialize.
4181 * plugin/configfrag.ac (DL_LIBS): New.
4182 (PLUGIN_GCN_LIBS): Remove.
4183 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
4184 * plugin/Makefrag.am (libgomp_la_LIBADD)
4185 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
4186 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
4187 * Makefile.in: Regenerate.
4188 * config.h.in: Likewise.
4189 * configure: Likewise.
4190 * testsuite/Makefile.in: Likewise.
4192 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
4194 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
4195 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
4196 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
4197 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
4198 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
4199 'PLUGIN_NVPTX_LINK_LIBCUDA'.
4200 * Makefile.in: Regenerate.
4201 * config.h.in: Likewise.
4202 * configure: Likewise.
4204 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
4206 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
4207 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
4208 * Makefile.in: Regenerate.
4209 * config.h.in: Likewise.
4210 * configure: Likewise.
4211 * testsuite/Makefile.in: Likewise.
4213 2022-05-12 Jakub Jelinek <jakub@redhat.com>
4215 * libgomp.h (struct gomp_task): Add depend_all_memory member.
4216 * task.c (gomp_init_task): Initialize depend_all_memory.
4217 (gomp_task_handle_depend): Handle omp_all_memory.
4218 (gomp_task_run_post_handle_depend_hash): Clear
4219 parent->depend_all_memory if equal to current task.
4220 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
4221 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
4222 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
4223 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
4225 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4227 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
4228 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
4229 * Makefile.in: Regenerate.
4230 * configure: Likewise.
4231 * testsuite/Makefile.in: Likewise.
4233 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4235 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
4236 consider 'PLUGIN_GCN_CPPFLAGS'.
4237 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
4238 'PLUGIN_GCN_LDFLAGS'.
4239 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
4241 * Makefile.in: Regenerate.
4242 * configure: Likewise.
4243 * testsuite/Makefile.in: Likewise.
4245 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4247 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
4248 (HSA_RUNTIME_LDFLAGS): Remove.
4249 * configure: Regenerate.
4251 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4253 * testsuite/lib/libgomp.exp (libgomp_init): Don't
4254 'append always_ld_library_path ":$hsa_runtime_lib"'.
4255 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
4257 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
4259 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
4260 multi-device testing.
4262 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
4264 * libgomp.map: Added omp_target_is_accessible.
4265 * libgomp.texi: Tagged omp_target_is_accessible as supported.
4266 * omp.h.in: Added omp_target_is_accessible.
4267 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
4268 * omp_lib.h.in: Likewise.
4269 * target.c (omp_target_is_accessible): Added implementation of
4270 omp_target_is_accessible.
4271 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
4272 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
4274 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
4276 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
4278 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
4280 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
4282 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
4284 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
4286 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
4288 * libgomp.map: Added omp_get_mapped_ptr.
4289 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
4290 * omp.h.in: Added omp_get_mapped_ptr.
4291 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
4292 * omp_lib.h.in: Likewise.
4293 * target.c (omp_get_mapped_ptr): Added implementation of
4295 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
4296 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
4297 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
4298 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
4299 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
4300 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
4301 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
4302 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
4304 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
4307 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
4308 privatization scanning. For GCN offloading compilation, raise
4309 '-mgang-private-size'.
4311 2022-04-26 Jakub Jelinek <jakub@redhat.com>
4314 * work.c (gomp_init_work_share): Don't mask of adjustment for
4315 dynamic long long realignment if struct gomp_work_share has smaller
4316 alignof than long long.
4317 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
4318 struct gomp_work_share has smaller alignof than long long or if
4319 sizeof (struct gomp_work_share) is smaller than
4320 INLINE_ORDERED_TEAM_IDS_OFF.
4321 * loop_ull.c (GOMP_loop_ull_start): Likewise.
4322 * sections.c (GOMP_sections2_start): Likewise.
4324 2022-04-25 Jakub Jelinek <jakub@redhat.com>
4325 Thomas Schwinge <thomas@codesourcery.com>
4328 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
4330 2022-04-13 Jakub Jelinek <jakub@redhat.com>
4332 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
4334 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
4336 * plugin/cuda/cuda.h: Remove file.
4337 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
4338 "cuda/cuda.h" instead of <cuda.h>.
4339 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
4340 'PLUGIN_NVPTX_CPPFLAGS'.
4341 * configure: Regenerate.
4343 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
4345 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
4347 2022-04-04 Tom de Vries <tdevries@suse.de>
4349 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
4350 on_device_arch_nvptx instead of offload_target_nvptx.
4351 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4353 2022-04-01 Tom de Vries <tdevries@suse.de>
4355 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
4357 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4359 2022-04-01 Tom de Vries <tdevries@suse.de>
4361 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
4364 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4365 Lulu Cheng <chenglulu@loongson.cn>
4367 * configure.tgt: Add LoongArch triplet.
4369 2022-03-28 Tom de Vries <tdevries@suse.de>
4371 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
4372 instead of /libexec/.
4373 * configure: Regenerate.
4375 2022-03-25 Tom de Vries <tdevries@suse.de>
4378 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
4380 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
4381 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
4383 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
4385 PR middle-end/104285
4386 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
4387 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
4388 * testsuite/libgomp.c++/target-same-name-2.C: New test.
4389 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
4390 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
4391 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
4393 2022-03-22 Tom de Vries <tdevries@suse.de>
4397 * testsuite/libgomp.c/pr104783-2.c: New test.
4399 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
4402 * testsuite/libgomp.fortran/associate4.f90: New test.
4404 2022-03-18 Tom de Vries <tdevries@suse.de>
4407 * testsuite/libgomp.c/pr104952-1.c: New test.
4408 * testsuite/libgomp.c/pr104952-2.c: New test.
4410 2022-03-18 Jakub Jelinek <jakub@redhat.com>
4412 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
4413 variable next to pl variable.
4415 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
4417 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4419 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4420 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4422 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
4425 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
4426 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4428 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
4430 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
4431 omp_set_max_active_levels.
4432 * testsuite/libgomp.fortran/icv-8.f90: New test.
4434 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
4437 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
4439 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
4441 * libgomp.texi: Fix typo.
4443 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4445 PR middle-end/100280
4446 PR middle-end/104892
4447 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
4448 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
4449 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4451 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4453 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4454 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4455 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4458 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4460 PR middle-end/104892
4461 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
4463 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
4464 enable '--param=openacc-kernels=decompose' and adjust.
4465 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4467 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4468 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4471 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4474 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
4475 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
4476 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4477 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
4479 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4481 PR middle-end/100280
4482 PR middle-end/104086
4483 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4485 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4487 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
4489 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4492 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
4494 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
4495 trait. Test last index in w and v array. Remove redundant
4496 assignment to V(1). Move alignment checks at the end of
4499 2022-03-10 Tom de Vries <tdevries@suse.de>
4501 * testsuite/libgomp.c/pr104783.c: New test.
4503 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
4506 PR middle-end/102330
4507 PR middle-end/104774
4508 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4510 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4512 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4514 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4516 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4518 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4520 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4522 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4524 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4526 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4528 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4530 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4532 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4534 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4536 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4537 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4538 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4540 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
4543 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
4544 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4545 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4546 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4548 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4551 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
4552 expected diagnostics.
4554 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4556 PR middle-end/104784
4557 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4558 Test with '--param=openacc-kernels=decompose'.
4559 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4561 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4563 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4565 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4567 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4569 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4571 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4573 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4575 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4577 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4579 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4581 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4583 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4585 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4587 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4589 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4591 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4593 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4595 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4597 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4599 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4601 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4603 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4605 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4607 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4609 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4611 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4613 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4615 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4617 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4619 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4621 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4624 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4626 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4627 Test '-fopt-info-omp-all'.
4628 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4630 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4632 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4634 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4636 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4638 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4640 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4642 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4644 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4646 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4648 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4650 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4652 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4654 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4656 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4658 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4660 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4662 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4664 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4666 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4668 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4670 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4672 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4674 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4676 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4678 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4680 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4682 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4684 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4686 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4688 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4690 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4693 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4695 PR middle-end/100280
4696 PR middle-end/104132
4697 PR middle-end/104133
4698 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4701 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4703 PR middle-end/100280
4704 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4705 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4708 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4710 PR middle-end/100280
4711 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4712 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4715 2022-02-28 Tom de Vries <tdevries@suse.de>
4717 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4718 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4719 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4720 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4721 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4722 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4724 2022-02-24 Tom de Vries <tdevries@suse.de>
4726 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4727 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4728 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4729 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4730 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4731 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4732 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4734 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4736 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4737 gang-redundant execution.
4739 2022-02-22 Tom de Vries <tdevries@suse.de>
4742 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4743 from config/rtems/bar.c.
4744 (futex_wait, futex_wake): New function.
4745 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4746 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4747 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4748 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4749 and replace with include of config/linux/bar.c.
4750 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4751 (gomp_barrier_init): Init new fields.
4752 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4754 * testsuite/libgomp.c/pr99555-1.c: Same.
4755 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4757 2022-02-22 Tom de Vries <tdevries@suse.de>
4760 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4761 -foffload=-Wa,--verify for nvptx.
4762 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4764 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
4766 * testsuite/libgomp.fortran/depend-4.f90: New test.
4768 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
4771 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4773 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4775 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4776 * target.c (copy_firstprivate_data): Copy only if host address is not
4778 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4779 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4780 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4781 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4782 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4783 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4784 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4785 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4786 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4787 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4789 2022-02-08 Jakub Jelinek <jakub@redhat.com>
4792 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4794 * testsuite/libgomp.c/pr104385.c: New test.
4796 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
4798 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4799 STOP of previous commit.
4801 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
4803 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4804 from is_64bit_aligned_.
4805 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4806 and use it, more implicit none, remove unused argument.
4808 2022-02-03 David Seifert <soap@gentoo.org>
4809 Jakub Jelinek <jakub@redhat.com>
4811 * configure.ac: Support --disable-werror.
4812 * configure: Regenerate.
4814 2022-02-01 Tom de Vries <tdevries@suse.de>
4816 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4818 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4819 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4821 2022-02-01 Tom de Vries <tdevries@suse.de>
4823 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4824 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4826 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4828 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4830 2022-02-01 Tom de Vries <tdevries@suse.de>
4832 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4834 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4836 2022-01-31 Martin Liska <mliska@suse.cz>
4838 * acinclude.m4: Detect *_ld_is_mold and use it.
4839 * configure: Regenerate.
4841 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
4843 * libgomp.texi (OpenMP 5.0): Update implementation status.
4845 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4847 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4848 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4849 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4850 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4851 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4852 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4853 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4854 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4855 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4856 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4857 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4858 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4859 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4860 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4861 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4863 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4865 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4866 "static") to make the device num available in the offload image.
4868 2022-01-19 Martin Liska <mliska@suse.cz>
4869 Thomas Schwinge <thomas@codesourcery.com>
4871 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4873 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4874 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4876 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4877 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4878 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4879 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4880 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4882 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4884 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4886 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4888 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4890 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4892 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4893 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4894 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4896 2022-01-18 Martin Liska <mliska@suse.cz>
4898 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4900 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4901 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4902 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4903 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4904 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4905 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4906 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4907 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4908 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4909 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4910 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4911 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4912 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4913 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4914 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4916 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4918 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4919 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4920 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4922 2022-01-17 Julian Brown <julian@codesourcery.com>
4923 Thomas Schwinge <thomas@codesourcery.com>
4925 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4926 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4927 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4929 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4930 Andrew Stubbs <ams@codesourcery.com>
4932 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4933 the number of teams and threads if necessary.
4934 (gcn_exec): Automatically set the number of gangs and workers if
4937 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4939 * testsuite/libgomp.fortran/allocate-1.c: New test.
4940 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4941 * libgomp.texi: Remove string that says that allocate clause
4942 support is for C/C++ only.
4944 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4946 * testsuite/libgomp.c-c++-common/on_device_arch.h
4947 (any_device_arch, any_device_arch_intel_mic): New.
4948 * testsuite/lib/libgomp.exp
4949 (check_effective_target_offload_device_any_intel_mic): New.
4950 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4951 * testsuite/libgomp.fortran/target10.f90: Likewise.
4953 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4955 PR tree-optimization/102192
4956 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4957 '-Wuninitialized' diagnostics.
4959 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4961 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4962 current '-Wuninitialized' diagnostics.
4963 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4964 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4965 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4966 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4967 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4968 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4969 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4970 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4971 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4972 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4973 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4976 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4978 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4979 for 'offload_device_intel_mic'.
4981 2022-01-13 Julian Brown <julian@codesourcery.com>
4982 Thomas Schwinge <thomas@codesourcery.com>
4984 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4985 offloading execution XFAIL.
4987 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4989 PR middle-end/100280
4990 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4992 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4993 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4996 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4998 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
5000 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
5002 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
5003 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
5004 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
5005 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
5006 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5008 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5009 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5010 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5011 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5013 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
5015 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
5016 * testsuite/libgomp.fortran/target10.f90: Likewise.
5018 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
5020 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
5021 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
5022 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
5024 2022-01-03 Jakub Jelinek <jakub@redhat.com>
5026 * libgomp.texi: Bump @copying's copyright year.
5028 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
5030 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
5031 * testsuite/libgomp.fortran/atomic-19.f90: New test.
5033 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
5035 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
5036 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
5037 table, not individual symbols.
5039 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
5041 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
5042 "target offload_device_nonshared_as"
5043 * testsuite/libgomp.c++/target-this-3.C: Likewise.
5044 * testsuite/libgomp.c++/target-this-4.C: Likewise.
5046 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
5048 * target.c (gomp_map_vars_existing): Make sure attached pointer is
5049 not overwritten during cross-host/device copying.
5050 (gomp_update): Likewise.
5051 (gomp_exit_data): Likewise.
5052 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
5053 * testsuite/libgomp.c++/target-12.C: Likewise.
5054 * testsuite/libgomp.c++/target-15.C: Likewise.
5055 * testsuite/libgomp.c++/target-16.C: Likewise.
5056 * testsuite/libgomp.c++/target-17.C: Likewise.
5057 * testsuite/libgomp.c++/target-21.C: Likewise.
5058 * testsuite/libgomp.c++/target-23.C: Likewise.
5059 * testsuite/libgomp.c/target-23.c: Likewise.
5060 * testsuite/libgomp.c/target-29.c: Likewise.
5061 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
5063 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
5066 * libgomp.h (gomp_attach_pointer): Add bool parameter.
5067 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
5068 (goacc_enter_data_internal): Likewise.
5069 * target.c (gomp_map_vars_existing): Update assert condition to
5070 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
5071 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
5072 parameter, add support for mapping a pointer with NULL target.
5073 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
5074 parameter, add support for attaching a pointer with NULL target.
5075 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
5076 gomp_attach_pointer, add handling for
5077 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
5078 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
5079 * testsuite/libgomp.c++/target-23.C: New testcase.
5080 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
5081 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
5082 * testsuite/libgomp.c++/target-this-1.C: New testcase.
5083 * testsuite/libgomp.c++/target-this-2.C: New testcase.
5084 * testsuite/libgomp.c++/target-this-3.C: New testcase.
5085 * testsuite/libgomp.c++/target-this-4.C: New testcase.
5086 * testsuite/libgomp.c++/target-this-5.C: New testcase.
5088 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
5090 * libgomp.texi (OpenMP 5.1): Update status.
5092 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
5094 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
5096 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
5099 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
5100 * testsuite/libgomp.fortran/pr90030.f90: New test.
5102 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
5103 Thomas Schwinge <thomas@codesourcery.com>
5105 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
5108 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
5109 Thomas Schwinge <thomas@codesourcery.com>
5111 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
5114 2021-11-29 Richard Biener <rguenther@suse.de>
5116 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
5119 2021-11-24 Jakub Jelinek <jakub@redhat.com>
5121 PR middle-end/103384
5122 * testsuite/libgomp.c/declare-variant-2.c: New test.
5124 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
5126 * alloc.c (gomp_aligned_alloc): Fix typo.
5128 2021-11-18 Jakub Jelinek <jakub@redhat.com>
5131 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
5132 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
5133 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
5134 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
5135 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
5136 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
5137 gomp_aligned_alloc instead of team_malloc.
5139 2021-11-18 Jakub Jelinek <jakub@redhat.com>
5142 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
5143 memalign over posix_memalign over aligned_alloc over fallback
5144 with malloc instead of aligned_alloc over _aligned_alloc over
5145 posix_memalign over memalign over fallback with malloc. For
5146 aligned_alloc, round up size up to multiple of al.
5148 2021-11-16 Jakub Jelinek <jakub@redhat.com>
5150 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
5151 construct as implemented.
5153 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
5155 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
5157 2021-11-15 Jakub Jelinek <jakub@redhat.com>
5159 * task.c (gomp_create_target_task): Copy args array as well.
5160 * target.c (gomp_target_fallback): Add args argument.
5161 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
5162 (GOMP_target): Adjust gomp_target_fallback caller.
5163 (GOMP_target_ext): Likewise.
5164 (gomp_target_task_fn): Likewise.
5165 * config/nvptx/team.c (gomp_nvptx_main): Set
5166 gomp_global_icv.thread_limit_var.
5167 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
5169 2021-11-15 Jakub Jelinek <jakub@redhat.com>
5171 * config/nvptx/team.c (__gomp_team_num): Define as
5172 __attribute__((shared)) var.
5173 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
5174 * config/nvptx/target.c (__gomp_team_num): Declare as
5175 extern __attribute__((shared)) var.
5176 (GOMP_teams4): Use __gomp_team_num as the team number instead of
5177 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
5178 is bigger than num_blocks, use num_teams_lower teams and arrange for
5179 bumping of __gomp_team_num if !first and returning false once we run
5181 * config/nvptx/teams.c (__gomp_team_num): Declare as
5182 extern __attribute__((shared)) var.
5183 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
5185 2021-11-15 Jakub Jelinek <jakub@redhat.com>
5187 * testsuite/libgomp.c/teams-5.c: New test.
5189 2021-11-12 Jakub Jelinek <jakub@redhat.com>
5192 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
5194 * config/gcn/teams.c: ... here. New file.
5196 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
5198 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
5199 implicit map handling to allow a "superset" existing map as valid case.
5200 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
5201 (get_implicit): New function to extract implicit status.
5202 (gomp_map_fields_existing): Adjust arguments in calls to
5203 gomp_map_vars_existing, and add uses of get_implicit.
5204 (gomp_map_vars_internal): Likewise.
5205 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
5207 2021-11-12 Jakub Jelinek <jakub@redhat.com>
5209 * libgomp_g.h (GOMP_teams4): Declare.
5210 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
5211 * target.c (GOMP_teams4): New function.
5212 * config/nvptx/target.c (GOMP_teams): Remove.
5213 (GOMP_teams4): New function.
5214 * config/gcn/target.c (GOMP_teams): Remove.
5215 (GOMP_teams4): New function.
5216 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
5217 teams instead of <= 2.
5218 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
5220 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
5222 * testsuite/libgomp.fortran/teams-1.f90: New test.
5224 2021-11-11 Jakub Jelinek <jakub@redhat.com>
5226 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
5227 * team.c (struct gomp_thread_start_data): Likewise.
5228 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
5229 (gomp_team_start): Initialize start_data->num_teams and
5230 start_data->team_num. Update nthr->num_teams and nthr->team_num.
5231 * teams.c (gomp_num_teams, gomp_team_num): Remove.
5232 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
5233 instead of gomp_num_teams and gomp_team_num.
5234 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
5235 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
5236 * testsuite/libgomp.c/teams-4.c: New test.
5238 2021-11-11 Jakub Jelinek <jakub@redhat.com>
5240 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
5242 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
5244 * env.c (parse_gomp_openacc_dim): Restore parsing.
5246 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
5248 PR middle-end/102972
5249 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
5251 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
5252 * testsuite/libgomp.c/target-3.c: Likewise.
5253 * testsuite/libgomp.c/target-5.c: Likewise.
5254 * testsuite/libgomp.c/target-6.c: Likewise.
5255 * testsuite/libgomp.c/target-teams-1.c: Likewise.
5256 * testsuite/libgomp.c/teams-1.c: Likewise.
5257 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5258 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
5259 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
5260 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
5261 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
5262 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
5263 * testsuite/libgomp.fortran/teams1.f90: Likewise.
5265 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
5267 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
5268 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5270 2021-10-27 Jakub Jelinek <jakub@redhat.com>
5272 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
5273 aren't implemented for Fortran yet.
5275 2021-10-27 Jakub Jelinek <jakub@redhat.com>
5277 * testsuite/libgomp.c/loop-26.c: New test.
5278 * testsuite/libgomp.c/loop-27.c: New test.
5280 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
5283 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
5284 instead of #include <alloca.h> + alloca.
5286 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
5288 * libgomp.texi (Support of strictly structured blocks in Fortran):
5290 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
5292 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
5294 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
5295 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
5297 2021-10-20 Jakub Jelinek <jakub@redhat.com>
5300 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
5301 (struct gomp_work_share): Only use aligned(64) attribute if
5302 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
5303 add padding before lock to ensure lock is at offset 64 bytes
5305 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
5306 New poor man's static assertions.
5307 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
5308 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
5310 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
5311 Richard Biener <rguenther@suse.de>
5313 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
5315 2021-10-18 Jakub Jelinek <jakub@redhat.com>
5317 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
5318 && gomp_places_list_len < count after nfirst <= nlast loop condition.
5320 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
5329 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
5331 2021-10-15 Jakub Jelinek <jakub@redhat.com>
5333 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
5334 type from char [50] to const char *.
5335 (places_array): Add a testcase for simplified syntax place followed
5336 by length or length and stride.
5338 2021-10-15 Jakub Jelinek <jakub@redhat.com>
5340 * env.c (parse_one_place): Handle non-negative-number the same
5341 as { non-negative-number }. Reject even !number:1 and
5342 !number:1:stride or !place:1 or !place:1:stride instead of just
5343 length other than 1.
5344 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
5345 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
5346 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
5348 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
5351 2021-10-15 Jakub Jelinek <jakub@redhat.com>
5353 * env.c (parse_schedule): For strtoul or strtoull calls which don't
5354 clearly reject return value 0 as invalid handle the case where end
5355 pointer is the same as first argument as invalid.
5356 (parse_unsigned_long_1): Likewise.
5357 (parse_one_place): Likewise.
5358 (parse_places_var): Likewise.
5359 (parse_stacksize): Likewise.
5360 (parse_spincount): Likewise.
5361 (parse_affinity): Likewise.
5362 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
5363 Make code valid C89.
5364 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
5365 For strtoul calls which don't clearly reject return value 0 as
5366 invalid handle the case where end pointer is the same as first
5367 argument as invalid.
5368 (gomp_affinity_init_level_1): Likewise.
5369 (gomp_affinity_init_numa_domains): Likewise.
5370 * config/rtems/proc.c (parse_thread_pools): Likewise.
5372 2021-10-15 Jakub Jelinek <jakub@redhat.com>
5374 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
5375 after creating count places clean up and return immediately.
5376 * testsuite/libgomp.c/places-6.c: New test.
5377 * testsuite/libgomp.c/places-7.c: New test.
5378 * testsuite/libgomp.c/places-8.c: New test.
5379 * testsuite/libgomp.c/places-9.c: New test.
5380 * testsuite/libgomp.c/places-10.c: New test.
5382 2021-10-15 Jakub Jelinek <jakub@redhat.com>
5384 * env.c (parse_places_var): Handle numa_domains as level 5.
5385 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
5387 (gomp_affinity_init_level): Use it instead of
5388 gomp_affinity_init_level_1 for level == 5.
5389 * testsuite/libgomp.c/places-5.c: New test.
5391 2021-10-15 Jakub Jelinek <jakub@redhat.com>
5393 * env.c (parse_places_var): Handle ll_caches as level 4.
5394 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
5396 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
5398 (gomp_affinity_init_level): Likewise.
5399 * testsuite/libgomp.c/places-1.c: New test.
5400 * testsuite/libgomp.c/places-2.c: New test.
5401 * testsuite/libgomp.c/places-3.c: New test.
5402 * testsuite/libgomp.c/places-4.c: New test.
5404 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
5406 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
5409 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
5411 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
5413 2021-10-12 Julian Brown <julian@codesourcery.com>
5415 * target.c (gomp_copy_host2dev): Release device lock on cbuf
5418 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
5420 * testsuite/libgomp.fortran/icv-3.f90: New.
5421 * testsuite/libgomp.fortran/icv-4.f90: New.
5423 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5425 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
5426 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
5427 OMP_TEAMS_THREAD_LIMIT): Document.
5429 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5431 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
5432 to avoid makeinfo warnings.
5434 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5436 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
5437 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
5439 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5443 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
5444 allocation sizes from 420 to 320 and from 768 to 568.
5445 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
5446 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
5447 for cr from 16 to 4.
5449 2021-10-12 Jakub Jelinek <jakub@redhat.com>
5451 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
5452 * testsuite/libgomp.c/scan-12.c: Likewise.
5453 * testsuite/libgomp.c/scan-13.c: Likewise.
5454 * testsuite/libgomp.c/scan-14.c: Likewise.
5455 * testsuite/libgomp.c/scan-15.c: Likewise.
5456 * testsuite/libgomp.c/scan-16.c: Likewise.
5457 * testsuite/libgomp.c/scan-17.c: Likewise.
5458 * testsuite/libgomp.c/scan-18.c: Likewise.
5459 * testsuite/libgomp.c/scan-19.c: Likewise.
5460 * testsuite/libgomp.c/scan-20.c: Likewise.
5461 * testsuite/libgomp.c/scan-21.c: Likewise.
5462 * testsuite/libgomp.c/scan-22.c: Likewise.
5463 * testsuite/libgomp.c++/scan-9.C: Likewise.
5464 * testsuite/libgomp.c++/scan-10.C: Likewise.
5465 * testsuite/libgomp.c++/scan-11.C: Likewise.
5466 * testsuite/libgomp.c++/scan-12.C: Likewise.
5467 * testsuite/libgomp.c++/scan-13.C: Likewise.
5468 * testsuite/libgomp.c++/scan-14.C: Likewise.
5469 * testsuite/libgomp.c++/scan-15.C: Likewise.
5470 * testsuite/libgomp.c++/scan-16.C: Likewise.
5472 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
5474 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
5476 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
5478 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
5480 * omp.h.in: Add deprecated flag for omp_atv_sequential.
5481 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
5482 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
5483 * testsuite/libgomp.fortran/alloc-12.f90: New test.
5485 2021-10-11 Jakub Jelinek <jakub@redhat.com>
5487 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
5488 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5489 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
5490 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5491 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
5492 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5493 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
5494 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
5495 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
5496 omp_set_teams_thread_limit{,_,_8_}.
5497 * icv.c (omp_set_num_teams, omp_get_max_teams,
5498 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
5500 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
5501 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
5502 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
5504 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
5505 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
5506 is not specified, use gomp_nteams_var.
5507 * fortran.c (omp_set_num_teams, omp_get_max_teams,
5508 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
5510 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
5511 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
5512 omp_get_teams_thread_limit_): New functions.
5514 2021-10-09 liuhongt <hongtao.liu@intel.com>
5516 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
5517 * testsuite/libgomp.c++/scan-11.C: Ditto.
5518 * testsuite/libgomp.c++/scan-12.C: Ditto.
5519 * testsuite/libgomp.c++/scan-13.C: Ditto.
5520 * testsuite/libgomp.c++/scan-14.C: Ditto.
5521 * testsuite/libgomp.c++/scan-15.C: Ditto.
5522 * testsuite/libgomp.c++/scan-16.C: Ditto.
5523 * testsuite/libgomp.c++/scan-9.C: Ditto.
5524 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
5525 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
5526 * testsuite/libgomp.c/scan-11.c: Ditto.
5527 * testsuite/libgomp.c/scan-12.c: Ditto.
5528 * testsuite/libgomp.c/scan-13.c: Ditto.
5529 * testsuite/libgomp.c/scan-14.c: Ditto.
5530 * testsuite/libgomp.c/scan-15.c: Ditto.
5531 * testsuite/libgomp.c/scan-16.c: Ditto.
5532 * testsuite/libgomp.c/scan-17.c: Ditto.
5533 * testsuite/libgomp.c/scan-18.c: Ditto.
5534 * testsuite/libgomp.c/scan-19.c: Ditto.
5535 * testsuite/libgomp.c/scan-20.c: Ditto.
5536 * testsuite/libgomp.c/scan-21.c: Ditto.
5537 * testsuite/libgomp.c/scan-22.c: Ditto.
5539 2021-10-09 Jakub Jelinek <jakub@redhat.com>
5541 * libgomp.texi (OpenMP 5.1): Mention implemented support for
5542 structured block sequences in C/C++. Mention support for
5543 unconstrained/reproducible modifiers on order clause.
5544 Mention partial (C/C++ only) support of extentensions to atomics
5545 construct. Mention partial (C/C++ on clause only) support of
5546 align/allocator modifiers on allocate clause.
5548 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
5550 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
5551 based on libgomp.c-c++-common/order-reproducible-1.c.
5552 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
5553 * testsuite/libgomp.fortran/my-usleep.c: New test.
5555 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
5557 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5558 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5559 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5560 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5561 based on libgomp.c-c++-common/alloc-9.c.
5563 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5565 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5566 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5568 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5570 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5572 * env.c (handle_omp_display_env): Use ialias_call.
5573 * icv-device.c: Move ialias right below each function.
5574 (omp_get_device_num): Use ialias_call.
5575 * fortran.c (omp_fulfill_event): Add ialias_redirect.
5576 * icv.c (omp_get_active_level): Add ialias_redirect.
5578 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5580 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5581 __alloc_align__ (1) attribute.
5582 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5584 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
5586 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5587 for -fintrinsic-modules-path= warning of the C compiler.
5588 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5589 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5591 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
5593 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5594 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5595 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5597 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5599 * testsuite/libgomp.fortran/alloc-10.f90: New test.
5600 * testsuite/libgomp.fortran/alloc-6.f90: New test.
5601 * testsuite/libgomp.fortran/alloc-7.c: New test.
5602 * testsuite/libgomp.fortran/alloc-7.f90: New test.
5603 * testsuite/libgomp.fortran/alloc-8.f90: New test.
5604 * testsuite/libgomp.fortran/alloc-9.f90: New test.
5606 2021-09-30 Jakub Jelinek <jakub@redhat.com>
5608 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5609 omp_realloc): New prototypes.
5610 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5612 * allocator.c: Include string.h.
5613 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
5614 variable and use it instead of alignment so that when retrying the old
5615 alignment is used again. Don't retry if new alignment is the same
5616 as old alignment, unless allocator had pool size.
5617 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5618 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5619 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5620 omp_aligned_calloc and omp_realloc.
5621 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5622 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5623 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5624 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5625 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5626 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5628 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
5631 * configure.ac: Only check for int-type = 2*size_t support when
5632 building with Fortran support.
5633 * configure: Regenerate.
5635 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
5637 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5638 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5640 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
5642 * team.c: Initialize start_data.
5643 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5644 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5646 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
5648 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5649 dg-message back to dg-note.
5651 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
5654 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5655 expected dg-note output.
5657 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
5660 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5661 r12-3722 by removing -Wno-missing-include-dirs.
5662 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5664 2021-09-22 Jakub Jelinek <jakub@redhat.com>
5666 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5667 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5669 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
5672 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5674 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5676 2021-09-18 Jakub Jelinek <jakub@redhat.com>
5678 * testsuite/libgomp.c++/default-1.C: New test.
5679 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5680 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5681 to default clause in C and C++" as implemented.
5683 2021-09-17 Julian Brown <julian@codesourcery.com>
5685 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5687 2021-09-17 Julian Brown <julian@codesourcery.com>
5689 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5691 2021-09-17 Jakub Jelinek <jakub@redhat.com>
5693 * libgomp.texi (OpenMP 5.1): Spelling fix,
5694 declare variante -> declare variant.
5696 2021-09-17 Jakub Jelinek <jakub@redhat.com>
5698 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5699 Use /* */ comments instead of //.
5700 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5701 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5702 * testsuite/libgomp.c++/atomic-16.C: New test.
5703 * testsuite/libgomp.c++/atomic-17.C: New test.
5705 2021-09-10 Jakub Jelinek <jakub@redhat.com>
5707 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5708 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5709 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5711 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
5713 * libgomp.texi (OpenMP Implementation Status): Extend
5715 (OpenACC Profiling Interface): Fix typo.
5717 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
5719 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5720 not to 4.5; link to new section.
5721 (OpenMP Implementation Status): New.
5723 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5725 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5727 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
5729 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5731 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5733 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5734 Jakub Jelinek <jakub@redhat.com>
5736 * testsuite/libgomp.c/address-space-1.c: New file.
5738 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5740 * testsuite/lib/libgomp.exp
5741 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5742 (check_effective_target_offload_device_intel_mic): New 'proc'.
5743 * testsuite/libgomp.c-c++-common/on_device_arch.h
5744 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5745 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5747 * testsuite/libgomp.fortran/target10.f90: Likewise.
5749 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
5751 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5752 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5753 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5754 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5756 2021-08-23 Jakub Jelinek <jakub@redhat.com>
5758 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5759 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5760 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5762 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5764 * config/nvptx/error.c (fwrite, exit): Override, too.
5765 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5766 of offloading testing.
5767 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5769 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
5771 * testsuite/libgomp.fortran/error-1.f90: New test.
5773 2021-08-20 Jakub Jelinek <jakub@redhat.com>
5775 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5776 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5777 * error.c (GOMP_warning, GOMP_error): New functions.
5778 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5780 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
5782 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5783 omp_target_free. omp_target_is_present, omp_target_memcpy,
5784 omp_target_memcpy_rect, omp_target_associate_ptr,
5785 omp_target_disassociate_ptr): Add interface.
5786 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5787 omp_target_free. omp_target_is_present, omp_target_memcpy,
5788 omp_target_memcpy_rect, omp_target_associate_ptr,
5789 omp_target_disassociate_ptr): Add interface.
5790 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5791 interface block for omp_alloc + omp_free.
5792 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5793 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5794 * testsuite/libgomp.fortran/target-12.f90: New test.
5796 2021-08-18 Jakub Jelinek <jakub@redhat.com>
5798 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5800 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
5802 * testsuite/libgomp.fortran/scope-1.f90: New test.
5803 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5805 2021-08-17 Jakub Jelinek <jakub@redhat.com>
5807 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5808 * Makefile.in: Regenerated.
5809 * libgomp_g.h (GOMP_scope_start): Declare.
5810 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5811 * scope.c: New file.
5812 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5813 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5815 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5817 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5820 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
5822 * testsuite/libgomp.fortran/masked-1.f90: New test.
5824 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5826 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5828 2021-08-12 Jakub Jelinek <jakub@redhat.com>
5830 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5832 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
5834 * env.c (parse_bind_var): Accept 'primary' as alias for
5836 (omp_display_env): Add TODO comment to
5837 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5838 * libgomp.texi: Change 'master thread' to 'primary thread'
5839 in line with OpenMP 5.1.
5840 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5841 omp_proc_bind_master is an alias of it.
5842 (OMP_PROC_BIND): Mention 'PRIMARY'.
5843 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5844 (omp_proc_bind_primary): Add.
5845 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5846 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5847 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5848 * omp_lib.h.in (omp_proc_bind_primary): Add.
5849 * testsuite/libgomp.c/affinity-1.c: Check that
5850 'primary' works and is identical to 'master'.
5852 2021-08-09 Julian Brown <julian@codesourcery.com>
5853 Kwok Cheung Yeung <kcy@codesourcery.com>
5854 Thomas Schwinge <thomas@codesourcery.com>
5856 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5858 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5859 [acc_device_radeon]: Update.
5860 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5861 [ACC_DEVICE_TYPE_radeon]: Likewise.
5862 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5863 [acc_device_radeon]: Likewise.
5864 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5865 [ACC_DEVICE_TYPE_radeon]: Likewise.
5866 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5867 'openacc_radeon_accel_selected' and '-O0'.
5868 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5870 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5872 * icv-device.c (omp_get_device_num): New API function, host side.
5873 * fortran.c (omp_get_device_num_): New interface function.
5874 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5875 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5876 omp_get_device_num_.
5877 * libgomp.texi (omp_get_device_num): Add documentation for new API
5879 * omp.h.in (omp_get_device_num): Add declaration.
5880 * omp_lib.f90.in (omp_get_device_num): Likewise.
5881 * omp_lib.h.in (omp_get_device_num): Likewise.
5882 * target.c (gomp_load_image_to_device): If additional entry for device
5883 number exists at end of returned entries from 'load_image_func' hook,
5884 copy the assigned device number over to the device variable.
5885 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5886 (omp_get_device_num): New API function, device side.
5887 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5888 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5889 at end of returned 'target_table' entries.
5890 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5891 (omp_get_device_num): New API function, device side.
5892 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5893 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5894 at end of returned 'target_table' entries.
5895 * testsuite/lib/libgomp.exp
5896 (check_effective_target_offload_target_intelmic): New function for
5897 testing for intelmic offloading.
5898 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5899 * testsuite/libgomp.fortran/target10.f90: New test.
5901 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5902 Ulrich Drepper <drepper@redhat.com>
5904 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5905 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5907 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5908 Julian Brown <julian@codesourcery.com>
5909 Kwok Cheung Yeung <kcy@codesourcery.com>
5911 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5912 's%oaccdevlow%oaccloops%g'.
5913 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5914 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5915 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5917 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5919 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5921 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5923 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5925 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5927 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5929 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5931 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5933 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
5935 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5937 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5939 2021-07-27 Ulrich Drepper <drepper@gmail.com>
5941 * env.c (wait_policy, stacksize): New static variables,
5942 move out of handle_omp_display_env.
5943 (omp_display_env): New function. The meat of the old
5944 handle_omp_display_env function.
5945 (handle_omp_display_env): Change to not take parameters
5946 and instead use the global variables. Only perform
5947 parsing, defer to omp_display_env for the implementation.
5948 (initialize_env): Remove local variables wait_policy and
5949 stacksize. Don't pass parameters to handle_omp_display_env.
5950 * fortran.c: Add ialias_redirect for omp_display_env.
5951 (omp_display_env_, omp_display_env_8_): New functions.
5952 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5953 omp_display_env_, and omp_display_env_8_.
5954 * omp.h.in: Declare omp_display_env.
5955 * omp_lib.f90.in: Likewise.
5956 * omp_lib.h.in: Likewise.
5958 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5959 Julian Brown <julian@codesourcery.com>
5961 * target.c (gomp_coalesce_buf_add): Update comment.
5962 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5964 (gomp_map_vars_internal): Only 'if (!aq)', do
5965 'gomp_coalesce_buf_add'.
5966 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5969 2021-07-27 Julian Brown <julian@codesourcery.com>
5970 Thomas Schwinge <thomas@codesourcery.com>
5972 * libgomp.h (gomp_copy_host2dev): Update prototype.
5973 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5974 argument to gomp_copy_host2dev (false).
5975 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5976 (copy_data): Don't free src.
5977 (queue_push_copy): Remove free_src handling.
5978 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5979 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5981 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5983 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5984 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5985 data when true, and set up deferred freeing of temporary buffer.
5986 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5987 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5988 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5989 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5990 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5993 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5994 Tom de Vries <tom@codesourcery.com>
5996 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5997 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5999 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
6001 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
6002 sequencing of 'async' data copying vs. profiling events.
6003 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6006 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
6007 Julian Brown <julian@codesourcery.com>
6009 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
6010 'async'/'wait' issue.
6011 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
6012 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
6013 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
6015 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
6016 Joseph Myers <joseph@codesourcery.com>
6017 Cesar Philippidis <cesar@codesourcery.com>
6019 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
6021 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
6023 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
6025 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
6027 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
6030 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
6031 '-Wno-error=array-bounds'.
6032 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
6033 * libgomp.h [__AMDGCN__]: Likewise.
6035 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
6038 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
6039 * libgomp.h [__AMDGCN__]: Likewise.
6041 2021-07-13 Jakub Jelinek <jakub@redhat.com>
6042 Florian Weimer <fweimer@redhat.com>
6044 * config/linux/sem.h: Don't include limits.h.
6045 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
6046 * config/linux/affinity.c: Include limits.h.
6048 2021-07-01 Jakub Jelinek <jakub@redhat.com>
6051 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
6053 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
6056 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
6057 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
6058 avoid disabling other offload targets.
6059 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
6060 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6061 * testsuite/libgomp.c/target-44.c: Likewise.
6063 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
6065 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
6066 target has shared memory and disable some scalar pointer/allocatable
6067 checks if not as firstprivate does not work.
6069 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
6072 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
6073 Add "target offload_device_nonshared_as" condition for enabling test.
6075 2021-06-24 Jakub Jelinek <jakub@redhat.com>
6077 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
6078 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
6079 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
6080 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
6082 2021-06-23 Jakub Jelinek <jakub@redhat.com>
6084 PR middle-end/101167
6085 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
6087 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
6089 * hashtab.h (htab_clear): New function with initialization code
6090 factored out from...
6091 (htab_create): ...here, adjust to use htab_clear function.
6092 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
6093 special refcount values, add comments.
6094 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
6095 (REFCOUNT_LINK): Likewise.
6096 (REFCOUNT_STRUCTELEM): New special refcount range for structure
6098 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
6100 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
6101 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
6102 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
6103 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
6104 (struct splay_tree_key_s): Add structelem_refcount and
6105 structelem_refcount_ptr fields into a union with dynamic_refcount.
6107 (gomp_map_vars): Delete declaration.
6108 (gomp_map_vars_async): Likewise.
6109 (gomp_unmap_vars): Likewise.
6110 (gomp_unmap_vars_async): Likewise.
6111 (goacc_map_vars): New declaration.
6112 (goacc_unmap_vars): Likewise.
6113 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
6114 (goacc_enter_datum): Likewise.
6115 (goacc_enter_data_internal): Likewise.
6116 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
6117 and goacc_unmap_vars.
6118 (GOACC_data_start): Adjust to use goacc_map_vars.
6119 (GOACC_data_end): Adjust to use goacc_unmap_vars.
6120 * target.c (hash_entry_type): New typedef.
6121 (htab_alloc): New function hook for hashtab.h.
6122 (htab_free): Likewise.
6123 (htab_hash): Likewise.
6124 (htab_eq): Likewise.
6125 (hashtab.h): Add file include.
6126 (gomp_increment_refcount): New function.
6127 (gomp_decrement_refcount): Likewise.
6128 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
6129 gomp_increment_refcount.
6130 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
6131 to gomp_map_vars_existing.
6132 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
6133 variable to guard OpenMP specific paths, adjust calls to
6134 gomp_map_vars_existing, add structure element sibling splay_tree_key
6135 sequence creation code, adjust Fortran map case to avoid increment
6137 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
6138 local refcount_set if caller passed in NULL, adjust call to
6139 gomp_map_vars_internal.
6140 (gomp_map_vars_async): Adjust and rename into...
6141 (goacc_map_vars): ...this new function, adjust call to
6142 gomp_map_vars_internal.
6143 (gomp_remove_splay_tree_key): New function with code factored out from
6144 gomp_remove_var_internal.
6145 (gomp_remove_var_internal): Add code to handle removing multiple
6146 splay_tree_key sequence for structure elements, adjust code to use
6147 gomp_remove_splay_tree_key for splay-tree key removal.
6148 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
6149 gomp_decrement_refcount.
6150 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
6151 local refcount_set if caller passed in NULL, adjust call to
6152 gomp_unmap_vars_internal.
6153 (gomp_unmap_vars_async): Adjust and rename into...
6154 (goacc_unmap_vars): ...this new function, adjust call to
6155 gomp_unmap_vars_internal.
6156 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
6158 (GOMP_target_ext): Likewise.
6159 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
6160 (GOMP_target_data): Likewise.
6161 (GOMP_target_data_ext): Likewise.
6162 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
6163 (gomp_exit_data): Add refcount_set parameter, adjust to use
6164 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
6166 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
6167 gomp_map_vars and gomp_exit_data.
6168 (gomp_target_task_fn): Likewise.
6169 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
6170 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
6171 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
6172 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
6173 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
6174 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
6176 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
6179 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
6181 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
6182 Thomas Schwinge <thomas@codesourcery.com>
6184 * libgomp.map (GOACC_2.0.2): New symbol version.
6185 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
6186 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
6188 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
6189 Andrew Stubbs <ams@codesourcery.com>
6191 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
6193 (GOACC_enter_exit_data): ... here.
6194 (GOACC_declare): Use it.
6196 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
6198 * oacc-parallel.c (GOACC_declare): Move...
6199 * oacc-mem.c: ... here.
6200 * libgomp_g.h: Adjust.
6202 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
6203 Thomas Schwinge <thomas@codesourcery.com>
6205 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
6208 2021-06-10 Jakub Jelinek <jakub@redhat.com>
6210 PR tree-optimization/100981
6211 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
6212 dsdotr and dsdoti to 0.
6214 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
6216 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
6217 if atomic compare-and-swap is supported on 'int'.
6219 2021-06-09 Richard Biener <rguenther@suse.de>
6221 PR tree-optimization/100981
6222 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
6224 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6226 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
6228 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6230 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6231 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6233 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6235 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
6236 '-DACC_MEM_SHARED=0'.
6237 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6238 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6239 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6240 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6241 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6242 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6243 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6244 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6245 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6246 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6247 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6248 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6249 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6250 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
6251 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
6252 'acc_device_radeon' testing.
6253 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6254 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6255 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6256 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
6257 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6258 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6259 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6260 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6261 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6262 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6263 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
6264 for non-'openacc_nvidia_accel_selected'.
6265 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6266 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
6267 all implement this checking".
6268 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6269 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6270 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6271 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6272 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6274 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6276 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
6277 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
6279 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6281 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
6282 for 'acc_device_radeon'.
6284 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6286 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
6287 for non-'acc_device_nvidia'.
6289 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6291 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
6292 'acc_device_radeon' testing.
6293 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6294 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6295 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6297 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6299 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
6300 require 'openacc_nvidia_accel_selected'. Fix up for
6301 'ACC_DEVICE_TYPE_radeon'.
6303 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6305 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
6306 'openacc_nvidia_accel_selected'.
6307 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6309 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6311 * testsuite/lib/libgomp.exp
6312 (check_effective_target_openacc_radeon_accel_selected):
6315 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6317 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
6320 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6322 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
6323 <acc_device_nvidia>: Update comment.
6325 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
6327 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
6329 2021-05-27 Jakub Jelinek <jakub@redhat.com>
6331 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
6332 check_effective_target_openacc_cublas,
6333 check_effective_target_openacc_cudart): New.
6334 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
6335 target openacc_cublas.
6336 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6337 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6338 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
6339 target openacc_cuda.
6340 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6341 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6342 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6343 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6344 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6345 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6346 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6347 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6348 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
6349 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6350 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6351 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6352 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6353 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6354 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6355 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6356 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
6357 targets openacc_cublas and openacc_cudart.
6358 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6359 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6360 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6361 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6362 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
6363 Require effective target openacc_cudart.
6364 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
6365 for effective target openacc_cuda and add && defined USE_CUDA_H to
6366 preprocessor conditionals. Guard -lcuda also on openacc_cuda
6369 2021-05-26 Jakub Jelinek <jakub@redhat.com>
6372 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
6373 GOMP_target_end_data, GOMP_target_update_ext,
6374 GOMP_target_enter_exit_data): New dummy entrypoints.
6375 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
6376 GOMP_target_end_data, GOMP_target_update_ext,
6377 GOMP_target_enter_exit_data): Likewise.
6378 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
6379 OMPFROM, OMPTO): Define.
6380 (main): Remove #pragma omp target teams around all the tests.
6381 * testsuite/libgomp.c-c++-common/target-41.c: New test.
6382 * testsuite/libgomp.c-c++-common/target-42.c: New test.
6384 2021-05-25 Jakub Jelinek <jakub@redhat.com>
6387 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
6389 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
6392 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
6393 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
6394 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
6396 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
6399 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
6400 uninteresting/varying diagnostics.
6402 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
6405 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
6406 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6408 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
6411 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
6413 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6414 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
6415 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6417 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6419 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6421 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6423 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6425 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6427 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6429 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6431 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6433 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6435 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6437 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6439 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6441 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6443 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6445 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6447 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6449 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6451 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6453 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6455 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6457 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6458 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6459 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6460 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
6461 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6462 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6463 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6464 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6465 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6466 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6467 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6468 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6469 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6470 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6471 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6473 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
6475 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
6477 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6479 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6480 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6482 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6483 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6484 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6485 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6486 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
6487 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6488 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6490 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6492 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6494 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6496 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6498 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6500 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6502 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6504 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6506 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6508 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6510 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6512 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6514 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6515 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6516 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6518 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6520 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6521 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6522 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6524 2021-05-21 Julian Brown <julian@codesourcery.com>
6525 Chung-Lin Tang <cltang@codesourcery.com>
6526 Thomas Schwinge <thomas@codesourcery.com>
6529 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
6531 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6533 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6536 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
6538 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
6539 for nvptx offloading.
6541 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
6543 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
6545 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
6548 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
6550 2021-05-19 Julian Brown <julian@codesourcery.com>
6552 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
6554 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6556 * testsuite/lib/libgomp.exp
6557 (check_effective_target_offload_target_nvptx): Don't shadow global
6558 'offload_targets' variable.
6560 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6562 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6563 '-latomic' to nvptx offloading compilation.
6564 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6566 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6568 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6569 offloading compilation.
6571 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
6573 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6574 if new tasks generated.
6575 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6577 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
6579 * testsuite/libgomp.fortran/parallel-master.f90: New test.
6581 2021-05-13 Martin Liska <mliska@suse.cz>
6584 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6585 * testsuite/libgomp.c/pr46032-2.c: Likewise.
6586 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6587 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6589 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
6591 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6592 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6594 2021-05-11 Jakub Jelinek <jakub@redhat.com>
6596 PR middle-end/100471
6597 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6598 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6600 * testsuite/libgomp.c/task-reduction-4.c: New test.
6602 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
6603 Tom de Vries <tdevries@suse.de>
6605 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6606 complex/floating-point || + && reduction with 'omp target'.
6607 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6609 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
6611 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6612 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6613 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6614 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6616 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
6619 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6620 declaration to scope of non-'depend'-guarded assignment to avoid races.
6622 2021-05-03 Tom de Vries <tdevries@suse.de>
6625 * testsuite/libgomp.c/target-44.c: New test.
6627 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
6629 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6631 2021-04-29 Tom de Vries <tdevries@suse.de>
6633 * testsuite/libgomp.c/pr81778.c: New test.
6635 2021-04-29 Tom de Vries <tdevries@suse.de>
6638 * testsuite/libgomp.c/target-43.c: New file.
6640 2021-04-28 Jakub Jelinek <jakub@redhat.com>
6641 Tobias Burnus <tobias@codesourcery.com>
6643 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6644 * target.c (gomp_load_plugin_for_device): If set and if a plugin
6645 can't be dlopened, silently assume it has no devices.
6646 * Makefile.in: Regenerate.
6647 * config.h.in: Regenerate.
6648 * configure: Regenerate.
6650 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
6652 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6653 Use [Ww]arning in dg-bogus as FE diagnostic and default
6654 diagnostic differ and the result depends on ENABLE_OFFLOAD.
6655 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6656 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6657 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6659 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
6661 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6662 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6663 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6664 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6665 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6667 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6668 Nathan Sidwell <nathan@codesourcery.com>
6669 Tom de Vries <vries@codesourcery.com>
6670 Julian Brown <julian@codesourcery.com>
6671 Kwok Cheung Yeung <kcy@codesourcery.com>
6673 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6674 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6675 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6676 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6677 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6678 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6679 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6681 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6682 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6683 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6684 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6686 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6687 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6689 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6690 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6691 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6692 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6693 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6694 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6696 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6697 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6698 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6699 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6700 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6701 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6702 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6703 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6704 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6705 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6706 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6708 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6710 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6712 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6713 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6715 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6716 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6717 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6718 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6719 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6720 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6721 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6723 2021-04-22 Richard Biener <rguenther@suse.de>
6725 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6728 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6730 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6731 omp_depend_kind instead of defining it as 16.
6733 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6735 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6736 New, based on check_effective_target_offload_target_nvptx.
6737 (check_effective_target_offload_target_nvptx): Call it.
6738 (check_effective_target_offload_target_amdgcn): New.
6739 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6740 Require target offload_target_nvptx || offload_target_amdgcn.
6741 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6742 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6743 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6745 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6747 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6749 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6751 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6752 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6753 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6755 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6757 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6759 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6762 * testsuite/lib/libgomp.exp
6763 (check_effective_target_offload_device_nvptx): New.
6764 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6765 resolved, make sure that we exit quickly, with error status,
6767 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6768 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6770 2021-04-14 Jakub Jelinek <jakub@redhat.com>
6773 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6774 cp = omp_alloc with cp, p arguments instead of cq, q and call
6775 c_f_pointer after last cq = omp_alloc with cq, q.
6777 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6780 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6781 for loop with GT/GE condition.
6782 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6784 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6789 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6791 2021-04-09 Jakub Jelinek <jakub@redhat.com>
6794 * team.c (gomp_thread_start): Call pthread_setspecific for
6795 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6796 has been initialized to avoid false positive warning.
6798 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
6801 * testsuite/lib/on_device_arch.c: Move to ...
6802 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6803 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6804 #include on_device_arch.h.
6805 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6806 on_device_arch.h instead of using dg-additional-source.
6807 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6808 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6809 on_device_arch.c without relative paths.
6811 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6813 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6814 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6815 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6816 * config.h.in: Regenerate.
6817 * configure: Likewise.
6819 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6822 * testsuite/lib/on_device_arch.c: New file.
6823 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6824 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6825 skip for nvptx offloading, with error status.
6826 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6828 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6830 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6831 OpenACC 'serial' construct diagnostic for nvptx offloading.
6833 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
6836 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6838 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
6841 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6843 2021-03-04 Jakub Jelinek <jakub@redhat.com>
6845 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6846 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6847 checking of -m32 or -mx32 options on the command line.
6848 * config.h.in: Regenerated.
6849 * configure: Regenerated.
6851 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6853 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6854 support from the target.
6856 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6857 Jakub Jelinek <jakub@redhat.com>
6860 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6861 (struct gomp_task): Replace detach and completion_sem fields with
6862 union containing completion_sem and detach_team. Add deferred_p
6864 (struct gomp_team): Remove task_detach_queue.
6865 * task.c: Include assert.h.
6866 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6867 Rearrange initialization order of fields.
6868 (task_fulfilled_p): Delete.
6869 (GOMP_task): Use address of task as the event handle. Remove
6870 initialization of detach field. Initialize deferred_p field.
6871 Use automatic local for completion_sem. Initialize detach_team field
6873 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6874 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6875 decrement task_running_count. Move finish_cancelled block out of
6876 else branch. Relocate call to gomp_team_barrier_done.
6877 (GOMP_taskwait): Handle tasks with completion events that have not
6879 (GOMP_taskgroup_end): Likewise.
6880 (omp_fulfill_event): Use address of task as event handle. Post to
6881 completion_sem for undeferred tasks. Clear detach_team if task
6882 has not finished. For finished tasks, handle post-execution tasks,
6883 call gomp_team_barrier_wake if necessary, and free task.
6884 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6885 (free_team): Remove free of task_detach_queue.
6886 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6887 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6888 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6889 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6890 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6891 Change data-sharing of detach events on enclosing parallel to private.
6892 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6894 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6895 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6896 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6897 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6898 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6899 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6900 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6901 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6902 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6903 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6904 Change data-sharing of detach events on enclosing parallel to private.
6905 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6907 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6908 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6909 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6910 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6911 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6913 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
6916 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6918 2021-02-17 Julian Brown <julian@codesourcery.com>
6920 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6923 2021-02-17 Julian Brown <julian@codesourcery.com>
6925 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6926 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6928 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6930 * config/linux/x86/futex.h (__futex_wait):
6931 Revert output type back to long.
6932 (__futex_wake): Ditto.
6933 (futex_wait): Update for revert.
6934 (futex_wake): Ditto.
6936 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6938 * config/linux/x86/futex.h (__futex_wait): New static inline
6939 wrapper function. Correct output type to int and
6940 timeout type to void *.
6941 (__futex_wake): New static inline wrapper function.
6942 Correct output type to int.
6943 (futex_wait): Use __futex_wait.
6944 (futex_wake): Use __futex_wake.
6946 2021-02-10 Julian Brown <julian@codesourcery.com>
6949 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6952 2021-02-04 Julian Brown <julian@codesourcery.com>
6954 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6956 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
6958 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6959 EF_AMDGPU_MACH_AMDGCN_GFX908.
6960 (gcn_gfx908_s): New constant string.
6961 (isa_hsa_name): Add gfx908.
6962 (isa_code): Add gfx908.
6964 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6966 * libgomp.texi (omp_fulfill_event): New entry.
6968 2021-01-20 Jakub Jelinek <jakub@redhat.com>
6970 * task.c (GOMP_task): Rename priority argument to priority_arg,
6971 add priority automatic variable and modify that variable. Instead of
6972 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6973 check flags for that bit.
6975 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
6978 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6980 2021-01-18 Andreas Schwab <schwab@suse.de>
6982 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6984 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6986 * config/rtems/sem.h (gomp_sem_getcount): New function.
6988 2021-01-18 Jakub Jelinek <jakub@redhat.com>
6990 * config/linux/sem.h (gomp_sem_getcount): New function.
6991 * config/posix/sem.h (gomp_sem_getcount): New function.
6992 * config/posix/sem.c (gomp_sem_getcount): New function.
6993 * config/accel/sem.h (gomp_sem_getcount): New function.
6994 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6995 (omp_fulfill_event): Likewise.
6997 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6999 * fortran.c (omp_fulfill_event_): New.
7000 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
7001 (struct gomp_team): Add task_detach_queue and task_detach_count
7003 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
7004 * libgomp_g.h (GOMP_task): Add extra argument.
7005 * omp.h.in (enum omp_event_handle_t): New.
7006 (omp_fulfill_event): New.
7007 * omp_lib.f90.in (omp_event_handle_kind): New.
7008 (omp_fulfill_event): New.
7009 * omp_lib.h.in (omp_event_handle_kind): New.
7010 (omp_fulfill_event): Declare.
7011 * priority_queue.c (priority_tree_find): New.
7012 (priority_list_find): New.
7013 (priority_queue_find): New.
7014 * priority_queue.h (priority_queue_predicate): New.
7015 (priority_queue_find): New.
7016 * task.c (gomp_init_task): Initialize detach field.
7017 (task_fulfilled_p): New.
7018 (GOMP_task): Add detach argument. Ignore detach argument if
7019 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
7020 field. Copy address of completion_sem into detach argument and
7021 into the start of the data record. Wait for detach event if task
7023 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
7024 Remove completed tasks and requeue dependent tasks.
7025 (omp_fulfill_event): New.
7026 * team.c (gomp_new_team): Initialize task_detach_queue and
7027 task_detach_count fields.
7028 (free_team): Free task_detach_queue field.
7029 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
7030 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
7031 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
7032 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
7033 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
7034 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
7035 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
7036 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
7037 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
7038 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
7039 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
7040 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
7042 2021-01-15 Jakub Jelinek <jakub@redhat.com>
7045 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
7046 be added through preprocessor check on
7047 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
7049 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
7052 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
7054 * configure: Regenerate.
7055 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
7058 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
7060 * configure: Re-generate.
7062 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
7064 * configure: Re-generate.
7066 2021-01-05 Julian Brown <julian@codesourcery.com>
7068 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
7069 (struct ptx_device): Add omp_stacks struct.
7070 (nvptx_open_device): Initialise cached-stacks housekeeping info.
7071 (nvptx_close_device): Free cached stacks block and mutex.
7072 (nvptx_stacks_free): New function.
7073 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
7074 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
7075 (nvptx_stacks_alloc): Rename to...
7076 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
7077 size or smaller is required.
7078 (nvptx_stacks_free): Remove.
7079 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
7080 during kernel execution.
7082 2021-01-01 Jakub Jelinek <jakub@redhat.com>
7084 * libgomp.texi: Bump @copying's copyright year.
7086 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
7088 * libgomp.texi (Top): Avoid bad "up" link.
7090 2020-12-18 Jakub Jelinek <jakub@redhat.com>
7092 * testsuite/libgomp.c/task-6.c: New test.
7094 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
7096 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
7097 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
7099 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
7101 * testsuite/libgomp.fortran/scan-1.f90: New test.
7103 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
7106 * configure: Regenerate.
7108 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
7110 * configure: Regenerate.
7112 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
7114 * testsuite/libgomp.oacc-c++/cache-1.C: New.
7115 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
7117 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
7119 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
7122 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
7124 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
7125 (reserved): Delete unused define.
7127 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
7129 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
7130 Tcl 8.5-specific behavior.
7131 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
7133 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
7135 * env.c (gomp_global_icv): Remove nest_var field. Add
7136 max_active_levels_var field.
7137 (gomp_max_active_levels_var): Remove.
7138 (parse_boolean): Return true on success.
7139 (handle_omp_display_env): Express OMP_NESTED in terms of
7140 max_active_levels_var. Change format specifier for
7141 max_active_levels_var.
7142 (initialize_env): Set max_active_levels_var from
7143 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
7145 * icv.c (omp_set_nested): Express in terms of
7146 max_active_levels_var.
7147 (omp_get_nested): Likewise.
7148 (omp_set_max_active_levels): Use max_active_levels_var field instead
7149 of gomp_max_active_levels_var.
7150 (omp_get_max_active_levels): Likewise.
7151 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
7152 max_active_levels_var field.
7153 (gomp_supported_active_levels): Set to UCHAR_MAX.
7154 (gomp_max_active_levels_var): Delete.
7155 * libgomp.texi (omp_get_nested): Update documentation.
7156 (omp_set_nested): Likewise.
7157 (OMP_MAX_ACTIVE_LEVELS): Likewise.
7158 (OMP_NESTED): Likewise.
7159 (OMP_NUM_THREADS): Likewise.
7160 (OMP_PROC_BIND): Likewise.
7161 * parallel.c (gomp_resolve_num_threads): Replace reference
7162 to nest_var with max_active_levels_var. Use max_active_levels_var
7163 field instead of gomp_max_active_levels_var.
7165 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
7167 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
7168 nvptx_usleep; use also for device={arch(gcn)}.
7170 2020-11-14 Jakub Jelinek <jakub@redhat.com>
7172 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
7173 (foo): Add tests for non-VLA private and firstprivate clauses on
7175 (bar): Likewise. Remove taking of address from private/firstprivate
7177 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
7178 (foo): Add p, q, px and s arguments. Add tests for array reductions
7179 and for non-VLA private and firstprivate clauses on omp task.
7181 (main): Adjust foo caller. Don't call bar.
7183 2020-11-13 Gergö Barany <gergo@codesourcery.com>
7184 Thomas Schwinge <thomas@codesourcery.com>
7186 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
7188 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
7190 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
7192 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
7193 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
7195 2020-11-13 Gergö Barany <gergo@codesourcery.com>
7196 Thomas Schwinge <thomas@codesourcery.com>
7199 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
7201 2020-11-13 Jakub Jelinek <jakub@redhat.com>
7203 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
7204 for array reductions.
7205 (main): Adjust foo callers.
7207 2020-11-12 Jakub Jelinek <jakub@redhat.com>
7209 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
7210 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
7211 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
7212 * allocator.c (omp_aligned_alloc): New for now static function,
7213 add alignment argument and handle it.
7214 (omp_alloc): Reimplement using omp_aligned_alloc.
7215 (GOMP_alloc, GOMP_free): New functions.
7216 (omp_free): Add ialias.
7217 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
7218 * testsuite/libgomp.c++/allocate-1.C: New test.
7220 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
7223 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
7225 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
7227 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
7229 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
7230 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
7231 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
7232 (goacc_enter_data_internal): Likewise.
7233 * target.c (gomp_map_vars_internal):
7234 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
7235 of gomp_attach_pointer for OpenMP cases.
7236 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
7237 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
7238 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
7240 2020-11-05 Ulrich Drepper <drepper@redhat.com>
7241 Kwok Cheung Yeung <kcy@codesourcery.com>
7243 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
7244 * Makefile.in: Regenerate.
7245 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
7246 pragmas to ignore -Wdeprecated-declarations warnings.
7248 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
7249 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
7250 and omp_get_nested with __GOMP_DEPRECATED_5_0.
7251 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
7253 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
7255 * testsuite/libgomp.c/affinity-1.c: Likewise.
7256 * testsuite/libgomp.c/affinity-2.c: Likewise.
7257 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
7258 * testsuite/libgomp.c/lib-1.c: Likewise.
7259 * testsuite/libgomp.c/nested-1.c: Likewise.
7260 * testsuite/libgomp.c/nested-2.c: Likewise.
7261 * testsuite/libgomp.c/nested-3.c: Likewise.
7262 * testsuite/libgomp.c/pr32362-1.c: Likewise.
7263 * testsuite/libgomp.c/pr32362-2.c: Likewise.
7264 * testsuite/libgomp.c/pr32362-3.c: Likewise.
7265 * testsuite/libgomp.c/pr35549.c: Likewise.
7266 * testsuite/libgomp.c/pr42942.c: Likewise.
7267 * testsuite/libgomp.c/pr61200.c: Likewise.
7268 * testsuite/libgomp.c/sort-1.c: Likewise.
7269 * testsuite/libgomp.c/target-5.c: Likewise.
7270 * testsuite/libgomp.c/target-6.c: Likewise.
7271 * testsuite/libgomp.c/teams-1.c: Likewise.
7272 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7273 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7274 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
7275 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
7276 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7277 * testsuite/libgomp.fortran/lib2.f: Likewise.
7278 * testsuite/libgomp.fortran/nested1.f90: Likewise.
7279 * testsuite/libgomp.fortran/teams1.f90: Likewise.
7281 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
7284 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
7285 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
7286 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
7288 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
7292 * testsuite/lib/libgomp.exp (libgomp_init): Set
7293 'gcc_warning_prefix', 'gcc_error_prefix'.
7295 2020-10-30 Jakub Jelinek <jakub@redhat.com>
7297 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
7298 even in field_tgt_clear initializer.
7300 2020-10-28 Jakub Jelinek <jakub@redhat.com>
7302 * testsuite/libgomp.c/target-42.c: New test.
7304 2020-10-28 Jakub Jelinek <jakub@redhat.com>
7305 Tom de Vries <tdevries@suse.de>
7308 * testsuite/libgomp.c/usleep.h: New file.
7309 * testsuite/libgomp.c/target-32.c: Include usleep.h.
7310 (main): Use tgt_usleep instead of usleep.
7311 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
7312 (main): Use tgt_usleep instead of usleep.
7314 2020-10-28 Jakub Jelinek <jakub@redhat.com>
7317 * testsuite/libgomp.c/declare-variant-1.c: New test.
7319 2020-10-22 Jakub Jelinek <jakub@redhat.com>
7321 * testsuite/libgomp.c/target-41.c: New test.
7323 2020-10-22 Jakub Jelinek <jakub@redhat.com>
7325 * icv.c (omp_get_initial_device): Remove including corresponding
7327 * icv-device.c (omp_get_initial_device): New function. Return
7328 gomp_get_num_devices (). Add ialias.
7329 * target.c (resolve_device): Don't fail with
7330 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
7331 gomp_get_num_devices ().
7332 (omp_target_alloc, omp_target_free, omp_target_is_present,
7333 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
7334 omp_target_disassociate_ptr, omp_pause_resource): Use
7335 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
7336 first use in the functions, in uses dominated by the
7337 gomp_get_num_devices call use num_devices_openmp instead.
7338 * libgomp.texi (omp_get_initial_device): Document.
7339 * config/gcn/icv-device.c (omp_get_initial_device): New function.
7341 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
7342 * testsuite/libgomp.c/target-40.c: New test.
7344 2020-10-21 Jakub Jelinek <jakub@redhat.com>
7346 * env.c (parse_target_offload): Change new_offload var type to int,
7347 preinitialize to -1, remove found var and test new_offload != -1
7350 2020-10-20 Jakub Jelinek <jakub@redhat.com>
7352 * target.c (gomp_target_init): Inside of the function, use automatic
7353 variables corresponding to num_devices, num_devices_openmp and devices
7354 global variables and update the globals only at the end of the
7357 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
7359 * env.c (gomp_target_offload_var): New.
7360 (parse_target_offload): New.
7361 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
7362 (initialize_env): Parse OMP_TARGET_OFFLOAD.
7363 * libgomp.h (gomp_target_offload_t): New.
7364 (gomp_target_offload_var): New.
7365 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
7366 * target.c (resolve_device): Generate error if device not found and
7367 offloading is mandatory.
7368 (gomp_target_fallback): Generate error if offloading is mandatory.
7369 (GOMP_target): Add argument in call to gomp_target_fallback.
7370 (GOMP_target_ext): Likewise.
7371 (gomp_target_data_fallback): Generate error if offloading is mandatory.
7372 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
7373 (GOMP_target_data_ext): Likewise.
7374 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
7375 (gomp_target_init): Return early if offloading is disabled.
7377 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
7379 * libgomp.texi (omp_get_max_active_levels): Modify description.
7380 (omp_get_supported_active_levels): Make descriptions consistent.
7382 2020-10-14 Jakub Jelinek <jakub@redhat.com>
7384 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
7386 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
7388 * env.c (gomp_max_active_levels_var): Initialize to
7389 gomp_supported_active_levels.
7390 (initialize_env): Limit gomp_max_active_levels_var to be at most
7391 equal to gomp_supported_active_levels.
7392 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
7393 (omp_get_supported_active_levels_): New.
7394 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
7395 to at most equal to gomp_supported_active_levels.
7396 (omp_get_supported_active_levels): New.
7397 * libgomp.h (gomp_supported_active_levels): New.
7398 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
7399 omp_get_supported_active_levels_.
7400 * libgomp.texi (omp_get_supported_active_levels): New.
7401 (omp_set_max_active_levels): Update. Add reference to
7402 omp_get_supported_active_levels.
7403 * omp.h.in (omp_get_supported_active_levels): New.
7404 * omp_lib.f90.in (omp_get_supported_active_levels): New.
7405 * omp_lib.h.in (omp_get_supported_active_levels): New.
7406 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
7407 against omp_get_supported_active_levels.
7408 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
7410 2020-10-11 Clement Chigot <clement.chigot@atos.net>
7412 * config/t-aix: Delete and recreate libgomp before creating
7415 2020-10-08 Tom de Vries <tdevries@suse.de>
7418 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
7421 2020-10-06 Tom de Vries <tdevries@suse.de>
7423 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
7425 2020-10-06 Tom de Vries <tdevries@suse.de>
7428 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
7430 2020-10-05 Tom de Vries <tdevries@suse.de>
7433 * testsuite/libgomp.fortran/pr95654.f90: New test.
7435 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
7437 * Makefile.in: Regenerate with automake 1.15.1.
7438 * aclocal.m4: Likewise.
7439 * configure: Likewise.
7440 * testsuite/Makefile.in: Likewise.
7442 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
7444 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
7447 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
7449 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
7451 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
7453 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
7454 total number of threads is one.
7455 (gomp_team_barrier_wake): Likewise.
7456 (gomp_team_barrier_wait_end): Likewise.
7457 (gomp_team_barrier_wait_cancel_end): Likewise.
7458 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
7459 (gomp_team_barrier_wake): Likewise.
7460 (gomp_team_barrier_wait_end): Likewise.
7461 (gomp_team_barrier_wait_cancel_end): Likewise.
7462 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
7464 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
7467 * testsuite/libgomp.c++/pr96390.C: New test.
7468 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
7470 2020-09-27 Clement Chigot <clement.chigot@atos.net>
7472 * config/t-aix: Use $(AR) without -X32_64.
7474 2020-09-25 Jakub Jelinek <jakub@redhat.com>
7476 * testsuite/libgomp.c/loop-25.c: New test.
7478 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
7481 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
7483 2020-09-22 Tom de Vries <tdevries@suse.de>
7485 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
7488 2020-09-16 Nathan Sidwell <nathan@acm.org>
7490 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
7492 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
7495 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
7497 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
7500 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
7501 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
7502 (gomp_map_vars_existing): Update call to it.
7503 (gomp_map_fields_existing): Likewise
7504 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
7505 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
7507 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
7509 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
7510 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
7512 2020-09-14 Tom de Vries <tdevries@suse.de>
7514 * config/nvptx/atomic.c: New file. Add
7515 __sync_val_compare_and_swap_16.
7516 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
7517 target offload_target_nvptx.
7519 2020-09-08 Julian Brown <julian@codesourcery.com>
7521 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
7522 iteration-ordering assumptions.
7524 2020-09-08 Julian Brown <julian@codesourcery.com>
7526 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
7527 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7529 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
7531 * plugin/plugin-nvptx.c (nvptx_free):
7532 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
7533 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
7536 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
7538 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
7540 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
7542 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
7544 2020-08-13 Jakub Jelinek <jakub@redhat.com>
7546 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
7547 * testsuite/libgomp.c/loop-23.c (main): Likewise.
7548 * testsuite/libgomp.c/loop-24.c: New test.
7550 2020-08-08 Jakub Jelinek <jakub@redhat.com>
7551 Tobias Burnus <tobias@codesourcery.com>
7554 * testsuite/libgomp.fortran/pr93553.f90: New test.
7556 2020-08-05 Jakub Jelinek <jakub@redhat.com>
7558 * testsuite/libgomp.c/loop-22.c: New test.
7559 * testsuite/libgomp.c/loop-23.c: New test.
7561 2020-08-05 Jakub Jelinek <jakub@redhat.com>
7564 * testsuite/libgomp.c/teams-3.c: New test.
7565 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7567 (N(test)): Use it before all N(f*) calls.
7568 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7569 (main): Don't call all test_* functions from within
7570 #pragma omp teams reduction(|:err), call them directly.
7572 2020-08-04 Tom de Vries <tdevries@suse.de>
7575 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7576 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7578 2020-08-03 Julian Brown <julian@codesourcery.com>
7579 Thomas Schwinge <thomas@codesourcery.com>
7581 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7582 shared-memory devices. Extend with further checking.
7584 2020-08-03 Martin Jambor <mjambor@suse.cz>
7586 * plugin/Makefrag.am: Remove configuration of HSA plugin.
7587 * aclocal.m4: Regenerated.
7588 * Makefile.in: Regenerated.
7589 * config.h.in: Regenerated.
7590 * configure: Regenerated.
7591 * plugin/configfrag.ac: Likewise.
7592 * plugin/hsa_ext_finalize.h: Removed.
7593 * plugin/plugin-hsa.c: Likewise.
7594 * testsuite/Makefile.in: Regenerated.
7595 * testsuite/lib/libgomp.exp
7596 (offload_target_to_openacc_device_type): Remove hsa case.
7597 (check_effective_target_hsa_offloading_selected_nocache): Removed
7598 (check_effective_target_hsa_offloading_selected): Likewise.
7599 (libgomp_init): Do not add -Wno-hsa to additional_flags.
7600 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7601 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7602 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7603 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7604 * testsuite/libgomp.hsa.c/c.exp: Likewise.
7605 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7606 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7607 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7608 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7609 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7610 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7611 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7612 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7613 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7614 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7615 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7616 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7617 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7618 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7619 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7620 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7621 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7622 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7623 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7625 2020-07-27 Julian Brown <julian@codesourcery.com>
7626 Thomas Schwinge <thomas@codesourcery.com>
7628 * libgomp.h (struct target_var_desc): Rename do_detach field to
7630 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
7631 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7632 (goacc_enter_data_internal): Don't affect reference counts
7633 for attach mappings.
7634 (goacc_exit_data_internal): Don't affect reference counts for detach
7636 * target.c (gomp_map_vars_existing): Don't affect reference counts for
7638 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7639 mark attach mappings.
7640 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7641 reference count for attach mappings.
7642 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7643 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7644 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7645 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7647 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7648 gracefully in no-finalize mode.
7649 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7651 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
7653 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7655 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7656 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7658 2020-07-23 Julian Brown <julian@codesourcery.com>
7659 Thomas Schwinge <thomas@codesourcery.com>
7661 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7662 finalization for detach operation.
7663 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7666 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
7668 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7669 * libgomp_f.h.in (omp_check_defines): Check whether
7670 sizeof of determined Fortran kind and C typedef match.
7671 * omp_lib.f90.in: Add omp_depened_kind.
7672 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7673 * configure: Regenerate.
7674 * Makefile.in: Regenerate.
7675 * testsuite/Makefile.in: Regenerate.
7677 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
7679 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7680 gcc/testsuite/c-c++-common/gomp/.
7681 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7682 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7683 from gcc/testsuite/gfortran.dg/gomp/.
7684 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7686 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
7688 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7689 * omp_lib.h.in: Likewise.
7691 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
7694 * testsuite/libgomp.c/pr95620.c: New test.
7696 2020-07-16 Julian Brown <julian@codesourcery.com>
7697 Thomas Schwinge <thomas@codesourcery.com>
7699 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7700 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7702 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7704 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7705 avoid conversion on 32bit systems from 32bit to 64bit due
7706 to -fdefault-integer-8.
7708 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7710 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7711 variables; add character(kind=4) tests; update TODO comment.
7713 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7715 * allocator.c: Add ialias for omp_init_allocator and
7716 omp_destroy_allocator.
7717 * configure.ac: Set INTPTR_T_KIND.
7718 * configure: Regenerate.
7719 * Makefile.in: Regenerate.
7720 * testsuite/Makefile.in: Regenerate.
7721 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7722 omp_set_default_allocator_, omp_get_default_allocator_): New
7723 functions and ialias_redirect.
7724 * icv.c: Add ialias for omp_set_default_allocator and
7725 omp_get_default_allocator.
7726 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7727 omp_destroy_allocator_, omp_set_default_allocator_ and
7728 omp_get_default_allocator_.
7729 * omp_lib.f90.in: Add allocator traits parameters, declare
7730 allocator routines and add related kind parameters.
7731 * omp_lib.h.in: Likewise.
7732 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7733 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7734 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7735 * testsuite/libgomp.fortran/alloc-3.F: New test.
7736 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7737 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7739 2020-07-14 Tom de Vries <tom@codesourcery.com>
7740 Cesar Philippidis <cesar@codesourcery.com>
7741 Thomas Schwinge <thomas@codesourcery.com>
7742 Kwok Cheung Yeung <kcy@codesourcery.com>
7744 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7746 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7747 acc_init_state to initializing at the start, and to initialized at the
7749 (self_initializing_p): New function.
7750 (acc_get_device_type): Return acc_device_none if called by thread that
7751 is currently executing acc_init_1.
7752 * libgomp.texi (acc_get_device_type): Update documentation.
7753 (Implementation Status and Implementation-Defined Behavior): Likewise.
7754 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7756 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
7758 * config/t-aix: Set BITS from compiler cpp macro.
7760 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
7762 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7764 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
7767 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7769 2020-07-14 Jakub Jelinek <jakub@redhat.com>
7771 * testsuite/libgomp.c/loop-21.c: New test.
7773 2020-07-13 Julian Brown <julian@codesourcery.com>
7774 Thomas Schwinge <thomas@codesourcery.com>
7776 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7778 2020-07-10 Julian Brown <julian@codesourcery.com>
7779 Thomas Schwinge <thomas@codesourcery.com>
7781 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7783 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7784 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7786 (acc_unmap_data): Update comment.
7787 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7788 dynamic_refcount semantics.
7789 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7790 Adjust for dynamic_refcount semantics.
7791 (goacc_enter_data_internal): Implement "present" case of dynamic
7792 memory-map handling here. Update "non-present" case for
7793 dynamic_refcount semantics.
7794 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7795 * target.c (gomp_map_vars_internal): Remove
7796 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7798 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7799 (gomp_load_image_to_device): Substitute dynamic_refcount for
7801 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7802 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7803 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7804 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7805 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7807 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7809 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7811 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7812 Remove stale comment.
7813 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7814 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7815 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7816 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7817 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7818 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7820 2020-07-10 Julian Brown <julian@codesourcery.com>
7821 Thomas Schwinge <thomas@codesourcery.com>
7823 * oacc-mem.c (goacc_map_var_existing): New function.
7824 (goacc_enter_datum): Use above function.
7825 (goacc_exit_datum_1): New function.
7826 (goacc_exit_datum): Use above function.
7828 2020-07-09 Julian Brown <julian@codesourcery.com>
7829 Thomas Schwinge <thomas@codesourcery.com>
7832 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7833 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7835 2020-07-09 Julian Brown <julian@codesourcery.com>
7837 * oacc-mem.c (find_group_last): Group data-movement clauses
7838 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7839 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7841 2020-07-09 Jakub Jelinek <jakub@redhat.com>
7843 * testsuite/libgomp.c/loop-19.c: New test.
7844 * testsuite/libgomp.c/loop-20.c: New test.
7846 2020-07-09 Jakub Jelinek <jakub@redhat.com>
7848 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7849 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7850 it. Remove __omp_alloctrait_value_max__.
7851 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7852 omp_atk_alignment and omp_atk_pool_size.
7854 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7856 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7857 behavior for 'GOMP_MAP_FORCE_FROM'.
7858 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7860 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7862 * oacc-mem.c (goacc_exit_data_internal): Remove
7863 'GOMP_MAP_ALWAYS_FROM' handling.
7865 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7867 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7868 'scan-assembler' with 'scan-offload-rtl'.
7869 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7870 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7871 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7872 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7874 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7876 * target.c (gomp_map_vars_existing): Assert 'kind !=
7878 (gomp_map_vars_internal): Clean up.
7880 2020-06-27 Jakub Jelinek <jakub@redhat.com>
7882 * testsuite/libgomp.c/loop-17.c: New test.
7883 * testsuite/libgomp.c/loop-18.c: New test.
7885 2020-06-26 Marek Polacek <polacek@redhat.com>
7887 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7889 2020-06-23 Alexandre Oliva <oliva@adacore.com>
7891 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7892 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7894 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
7896 * Makefile.am: Use -include.
7897 * Makefile.in: Regenerate.
7899 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
7901 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7902 * Makefile.in: Regenerate
7903 * configure.ac (tmake_file): Substitute.
7904 * configure: Regenerate.
7905 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7906 * config/t-aix: New file.
7908 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7911 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7914 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
7916 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7917 variant for HSA_RUNTIME_LIB name.
7918 (find_executable_symbol_1): Delete.
7919 (find_executable_symbol): Delete.
7920 (init_kernel_properties): Add ".kd" suffix to symbol names.
7921 (find_load_offset): Delete.
7922 (create_and_finalize_hsa_program): Remove relocation handling.
7924 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
7926 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7928 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
7932 * testsuite/libgomp.fortran/target-var.f90: New test.
7934 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7935 Julian Brown <julian@codesourcery.com>
7937 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7940 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7941 Julian Brown <julian@codesourcery.com>
7943 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7946 2020-06-05 Julian Brown <julian@codesourcery.com>
7948 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7949 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7951 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7953 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7954 Evaluate 'copyfrom' individually for each entry.
7955 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7957 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7959 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7960 Evaluate 'finalize' individually for each entry.
7961 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7962 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7965 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7967 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7969 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7971 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7972 Julian Brown <julian@codesourcery.com>
7974 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7976 (acc_unmap_data, goacc_exit_data_internal): Restore
7977 'is_tgt_unmapped' checking.
7978 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7980 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7981 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7982 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7983 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7984 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7985 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7987 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7988 Julian Brown <julian@codesourcery.com>
7990 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7992 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7995 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7997 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
8000 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
8003 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
8004 Julian Brown <julian@codesourcery.com>
8006 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
8008 (acc_map_data): Clean up accordingly.
8010 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
8012 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
8013 of over-eager 'finalize' clause.
8014 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
8016 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
8017 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
8018 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
8019 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
8020 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
8021 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
8022 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
8023 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
8025 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
8027 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
8029 2020-06-04 Julian Brown <julian@codesourcery.com>
8031 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
8033 (goacc_detach_internal): Likewise.
8035 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
8037 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
8039 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8040 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8041 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8042 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8043 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8045 2020-06-02 Jakub Jelinek <jakub@redhat.com>
8047 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
8050 2020-05-30 Jakub Jelinek <jakub@redhat.com>
8052 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
8054 2020-05-30 Jakub Jelinek <jakub@redhat.com>
8056 * allocator.c (omp_alloc): For size == 0, return NULL early.
8058 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
8061 * configure: Regenerated.
8063 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
8066 * testsuite/libgomp.fortran/async_io_9.f90: New test.
8068 2020-05-19 Jakub Jelinek <jakub@redhat.com>
8070 * omp.h.in (omp_uintptr_t): New typedef.
8071 (__GOMP_UINTPTR_T_ENUM): Define.
8072 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
8073 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
8074 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
8075 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
8076 omp_get_default_allocator, omp_alloc, omp_free): Declare.
8077 * libgomp.h (struct gomp_team_state): Add def_allocator field.
8078 (gomp_def_allocator): Declare.
8079 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
8080 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
8081 omp_alloc and omp_free.
8082 * team.c (gomp_team_start): Copy over ts.def_allocator.
8083 * env.c (gomp_def_allocator): New variable.
8084 (parse_wait_policy): Adjust function comment.
8085 (parse_allocator): New function.
8086 (handle_omp_display_env): Print OMP_ALLOCATOR.
8087 (initialize_env): Call parse_allocator.
8088 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
8089 * allocator.c: New file.
8090 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
8092 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
8093 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
8094 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
8095 * Makefile.in: Regenerated.
8097 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
8100 * configure: Regenerated.
8102 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
8105 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
8107 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
8109 * configure: Regenerated.
8111 2020-05-14 Jakub Jelinek <jakub@redhat.com>
8113 * testsuite/libgomp.c-c++-common/target-40.c: New test.
8115 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
8118 * testsuite/libgomp.fortran/pr66199-3.f90: New.
8119 * testsuite/libgomp.fortran/pr66199-4.f90: New.
8120 * testsuite/libgomp.fortran/pr66199-5.f90: New.
8121 * testsuite/libgomp.fortran/pr66199-6.f90: New.
8122 * testsuite/libgomp.fortran/pr66199-7.f90: New.
8123 * testsuite/libgomp.fortran/pr66199-8.f90: New.
8124 * testsuite/libgomp.fortran/pr66199-9.f90: New.
8126 2020-05-12 Jakub Jelinek <jakub@redhat.com>
8128 * testsuite/libgomp.c/target-39.c: New test.
8130 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
8132 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
8133 * openacc.f90 (acc_device_current): Likewise.
8134 * openacc.h (acc_device_current): Likewise.
8135 * openacc_lib.h (acc_device_current): Likewise.
8138 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
8139 'dg-allow-blank-lines-in-output'.
8141 * oacc-init.c (get_openacc_name): Handle 'gcn'.
8142 * testsuite/lib/libgomp.exp
8143 (offload_target_to_openacc_device_type) [amdgcn*]: Return
8144 'radeon'. Adjust all users.
8145 (check_effective_target_openacc_amdgcn_accel_present): Rename
8147 (check_effective_target_openacc_radeon_accel_present): ... this.
8149 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
8150 (check_effective_target_openacc_radeon_accel_selected): ... this.
8153 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
8156 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
8160 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
8162 (GOMP_OFFLOAD_init_device): Check return values from both calls to
8163 hsa_agent_iterate_regions.
8165 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
8168 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
8171 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
8174 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
8177 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
8180 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
8182 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
8185 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
8187 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
8189 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
8191 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
8193 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
8195 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
8197 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
8199 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
8201 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
8203 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
8205 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
8207 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
8209 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
8211 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
8213 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
8215 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
8217 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
8219 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
8221 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
8223 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
8225 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
8227 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
8229 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
8231 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
8233 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
8235 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
8237 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
8239 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
8241 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
8243 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
8245 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
8247 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
8250 2020-04-10 Julian Brown <julian@codesourcery.com>
8251 Thomas Schwinge <thomas@codesourcery.com>
8254 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
8256 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
8258 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
8260 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
8262 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
8264 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
8266 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
8268 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
8270 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
8272 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
8274 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
8276 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
8278 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
8280 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
8282 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
8284 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
8287 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
8289 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
8292 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
8295 * libgomp.oacc-c++/declare-pr94120.C: New.
8297 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
8299 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
8301 * configure: Regenerate.
8302 * testsuite/libgomp-site-extra.exp.in: New file.
8303 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
8305 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
8307 * testsuite/Makefile.in: Regenerate.
8309 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
8311 PR tree-optimization/89713
8313 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
8315 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
8317 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
8319 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
8320 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
8322 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
8325 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
8327 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
8330 * target.c (gomp_load_image_to_device): Fix link
8333 2020-03-19 Jakub Jelinek <jakub@redhat.com>
8336 * testsuite/libgomp.c++/pr93931.C: New test.
8338 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
8340 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
8341 dg-allow-blank-lines-in-output.
8343 2020-03-18 Julian Brown <julian@codesourcery.com>
8344 Tobias Burnus <tobias@codesourcery.com>
8346 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
8347 it work concurrently.
8349 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
8351 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
8352 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
8353 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
8355 2020-03-14 Jakub Jelinek <jakub@redhat.com>
8358 * testsuite/libgomp.c/pr93566.c: New test.
8360 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
8362 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
8363 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
8364 integer(acc_device_property) for the type of the return value of
8367 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
8369 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
8370 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
8371 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
8372 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
8373 (acc_set_device_num): Fix Fortran argument name, use same name for C.
8374 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
8375 corrections; add note about the previous interface and named constant.
8376 (OpenACC library and environment variables): Fix two typos.
8377 * openacc.f90: Use for all procedures the argument names from the spec
8378 as for …_h they are user visible.
8379 (openacc_kinds): Rename acc_device_property to
8380 acc_device_property_kinds and change value to int32 ; and update users.
8381 Re-add acc_device_property for for backward compatibility.
8382 (acc_get_property_string_h): Clean up as acc_device_property_kind
8384 (acc_get_property_h): Likewise and return c_size_t instead of
8385 acc_device_property.
8386 (openacc): Also export acc_device_property_kinds.
8387 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
8388 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
8389 handling; check against /= 0 instead of == 1 to match C.
8390 * openacc_lib.h: Use for all procedures the argument names from the spec
8391 as for …_h they are user visible. Place !GCC$ into the first column to
8392 be active also for fixed-form souce form.
8393 (acc_device_current, acc_device_property_kind, acc_device_property,
8394 acc_property_memory, acc_property_free_memory, acc_property_name,
8395 acc_property_vendor, acc_property_driver): New named constants.
8396 (acc_get_property, acc_get_property_string): New generic interface.
8398 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
8401 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
8402 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
8404 (gomp_target_task_fn): Assert "devicep->async_run_func".
8405 (clear_unsupported_flags): New function to remove unsupported flags
8406 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
8407 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
8408 * testsuite/libgomp.c/target-33.c:
8409 Remove xfail for offload_target_nvptx.
8410 * testsuite/libgomp.c/target-34.c: Likewise.
8412 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
8414 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
8415 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
8416 * testsuite/libgomp.c/target-34.c: Likewise.
8417 * testsuite/libgomp.c/target-link-1.c: Add xfail for
8418 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
8420 2020-02-09 Jakub Jelinek <jakub@redhat.com>
8422 * testsuite/libgomp.c/target-38.c: New test.
8424 2020-02-06 Jakub Jelinek <jakub@redhat.com>
8427 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
8429 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
8431 * testsuite/lib/libgomp.exp
8432 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
8433 and not as 'source' argument to libgomp_target_compile.
8435 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
8437 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
8438 (gcn_gfx801_s): Remove.
8439 (isa_hsa_name): Remove gfx801.
8440 (isa_gcc_name): Remove gfx801/carizzo.
8441 (isa_code): Remove gfx801.
8443 2020-02-03 Julian Brown <julian@codesourcery.com>
8444 Tobias Burnus <tobias@codesourcery.com>
8446 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
8447 and *_finalize variants; document acc_attach and acc_detach; update
8448 references from OpenACC 2.0 to 2.6.
8449 * openacc.f90 (openacc_version): Update to 201711.
8450 * openacc_lib.h (openacc_version): Update to 201711.
8451 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
8452 openacc_version to 201711.
8453 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8455 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
8457 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
8458 and vgpr_count fields.
8459 (struct kernel_info): Add a field for a hsa_kernel_description.
8460 (run_kernel): Reduce the number of threads/workers if the requested
8461 number would require too many VGPRs.
8462 (init_basic_kernel_info): Initialize description field with
8463 the hsa_kernel_description entry for the kernel.
8465 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
8468 * plugin/configfrag.ac (enable_offload_targets): Skip
8469 HSA and GCN plugin besides -m32 also for -mx32.
8470 * configure: Regenerate.
8472 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
8474 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
8476 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
8478 * plugin-gcn.c (struct agent_info): Add fields "name" and
8480 (GOMP_OFFLOAD_init_device): ... and init from here.
8481 (struct hsa_context_info): Add field "driver_version_s" ...
8482 (init_hsa_contest): ... and init from here.
8483 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
8485 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8486 Enable test execution for amdgcn and host offloading targets.
8487 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
8488 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8489 (expect_device_properties): Split function into ...
8490 (expect_device_string_properties): ... this new function ...
8491 (expect_device_memory): ... and this new function.
8492 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
8495 2020-01-28 Julian Brown <julian@codesourcery.com>
8497 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
8498 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
8499 component/non-component variable refs in a single directive.
8500 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
8502 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
8504 * configure.ac: Handle `--with-toolexeclibdir='.
8505 * Makefile.in: Regenerate.
8506 * aclocal.m4: Regenerate.
8507 * configure: Regenerate.
8508 * testsuite/Makefile.in: Regenerate.
8510 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
8512 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8513 (expect_device_properties): Remove "expected_free_mem" argument,
8514 change "expected_total_mem" argument type to size_t;
8515 change types of acc_get_property results to size_t,
8516 adapt format strings.
8517 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8518 Use %zu instead of %zd to print size_t values.
8519 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
8521 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
8522 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
8524 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
8526 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
8528 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
8531 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
8533 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
8534 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
8535 Adjust test dimensions for amdgcn.
8536 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
8537 gang/worker/vector expectations dynamically.
8538 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
8540 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
8541 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
8542 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
8543 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
8544 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
8545 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
8546 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
8547 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
8548 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
8549 (acc_gang): Recognise acc_device_radeon.
8550 (acc_worker): Likewise.
8551 (acc_vector): Likewise.
8552 (main): Set expectations for amdgcn.
8553 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
8554 (main): Adjust gang/worker/vector expectations dynamically.
8555 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8556 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8557 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8558 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8561 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
8563 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8565 (openacc): Likewise.
8566 * openacc.f90 (openacc_kinds): Likewise.
8567 (openacc): Likewise.
8568 * openacc.h (acc_device_t): Likewise.
8569 * openacc_lib.h: Likewise.
8570 * testsuite/lib/libgomp.exp
8571 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8572 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8573 (cb_compute_construct_end): Likewise.
8574 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8575 (cb_enqueue_launch_start): Likewise.
8576 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8577 (cb_enter_data_end): Likewise.
8578 (cb_exit_data_start): Likewise.
8579 (cb_exit_data_end): Likewise.
8580 (cb_compute_construct_end): Likewise.
8581 (cb_enqueue_launch_start): Likewise.
8582 (cb_enqueue_launch_end): Likewise.
8583 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8586 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
8588 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
8589 to use this instead of 'enum gomp_device_property'.
8590 (GOMP_OFFLOAD_get_property): Rename to...
8591 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
8592 * libgomp.h (struct gomp_device_descr): Move
8593 'GOMP_OFFLOAD_openacc_get_property'...
8594 (struct acc_dispatch_t): ... here. Adjust all users.
8595 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8597 * target.c (gomp_map_vars_internal)
8598 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8601 2020-01-10 Jakub Jelinek <jakub@redhat.com>
8604 * libgomp.h (gomp_print_string): Change return type from void to int.
8605 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
8606 not all characters have been written.
8608 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
8610 * libgomp.texi: Fix typos, use https.
8612 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
8614 * testsuite/libgomp.fortran/optional-map.f90: Add test for
8615 unallocated/disassociated actual arguments to nonallocatable/nonpointer
8616 dummy arguments; those are/shall be regarded as absent arguments.
8617 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8618 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8620 2020-01-01 Jakub Jelinek <jakub@redhat.com>
8622 Update copyright years.
8624 * libgomp.texi: Bump @copying's copyright year.
8626 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
8629 * oacc-init.c (goacc_runtime_deinitialize): New function.
8631 2019-12-28 Jakub Jelinek <jakub@redhat.com>
8634 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8635 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
8637 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
8638 Frederik Harwath <frederik@codesourcery.com>
8639 Thomas Schwinge <tschwinge@codesourcery.com>
8641 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8642 * libgomp-plugin.h (gomp_device_property_value): New union.
8643 (gomp_device_property_value): New prototype.
8644 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8646 (acc_device_property_t): New enum.
8647 (acc_get_property, acc_get_property_string): New prototypes.
8648 * oacc-init.c (acc_get_device_type): Also assert that result
8649 is not `acc_device_current'.
8650 (get_property_any, acc_get_property, acc_get_property_string):
8652 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8653 `acc_property_memory', `acc_property_free_memory',
8654 `acc_property_name', `acc_property_vendor' and
8655 `acc_property_driver' constants. Add `acc_device_property' data
8657 (openacc_internal): Add `acc_get_property' and
8658 `acc_get_property_string' interfaces. Add `acc_get_property_h',
8659 `acc_get_property_string_h', `acc_get_property_l' and
8660 `acc_get_property_string_l'.
8661 * oacc-host.c (host_get_property): New function.
8662 (host_dispatch): Wire it.
8663 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8664 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8665 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8666 * libgomp.texi (OpenACC Runtime Library Routines): Add
8668 (acc_get_property): New node.
8669 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8671 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8672 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8673 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8675 (GOMP_OFFLOAD_get_property): New function.
8676 (struct ptx_device): Add new field "name".
8677 (cuda_driver_version_s): Add new static variable ...
8678 (nvptx_init): ... and init from here.
8680 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8681 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8682 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8683 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8684 with test helper functions.
8686 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8688 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
8690 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8693 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8695 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8698 2019-12-19 Julian Brown <julian@codesourcery.com>
8700 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8701 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8702 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8704 2019-12-19 Julian Brown <julian@codesourcery.com>
8705 Cesar Philippidis <cesar@codesourcery.com>
8707 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8708 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8709 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8710 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8711 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8712 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8713 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8714 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8715 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8716 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8717 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8718 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8719 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8721 2019-12-19 Julian Brown <julian@codesourcery.com>
8723 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8724 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8725 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8726 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8727 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8728 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8729 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8730 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8731 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8732 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8733 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8734 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8736 2019-12-19 Julian Brown <julian@codesourcery.com>
8738 * libgomp.h (struct target_var_desc): Add do_detach flag.
8739 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8740 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8741 struct components. Tidy up and add some new checks.
8742 (goacc_enter_data_internal): Update call to find_group_last.
8743 (goacc_exit_data_internal): Support detach operations and
8745 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8746 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8747 attach/detach in enter/exit data detection code.
8748 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8750 (gomp_map_vars_internal): Support attach.
8751 (gomp_unmap_vars_internal): Support detach.
8753 2019-12-19 Julian Brown <julian@codesourcery.com>
8754 Thomas Schwinge <thomas@codesourcery.com>
8756 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8757 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8758 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8759 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8760 acc_detach_finalize_async.
8761 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8762 acc_detach, acc_detach_async, acc_detach_finalize,
8763 acc_detach_finalize_async): New functions.
8764 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8765 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8767 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8768 (gomp_remove_var_internal): Free attachment counts if present.
8769 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8770 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8772 2019-12-19 Julian Brown <julian@codesourcery.com>
8773 Cesar Philippidis <cesar@codesourcery.com>
8775 * libgomp.h (gomp_map_val): Add prototype.
8776 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8777 open-coding device-address calculation.
8778 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8781 2019-12-19 Julian Brown <julian@codesourcery.com>
8783 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8784 field for virtual_refcount.
8785 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8786 (gomp_free_memmap): Remove prototype.
8787 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8788 instead of calling gomp_free_memmap.
8789 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8791 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8792 to_free field to NULL then calling gomp_unmap_vars. Handle
8793 REFCOUNT_INFINITY on target blocks.
8794 (goacc_enter_data): Rename to...
8795 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8796 handling for mapping groups. Use virtual_refcount instead of
8797 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8798 map_map_vars_async call. Re-do lookup for target pointer return value.
8799 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8800 renamed goacc_enter_datum function.
8801 (goacc_exit_data): Rename to...
8802 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8803 (acc_delete, acc_delete_async, acc_delete_finalize,
8804 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8805 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8806 goacc_exit_datum function.
8807 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8808 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8810 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8811 goacc_exit_data_internal helper functions.
8812 * target.c (gomp_map_vars_internal): Handle
8813 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8815 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8816 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8817 virtual_refcount field instead of dynamic_refcount.
8818 (gomp_free_memmap): Remove function.
8819 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8820 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8821 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8823 2019-12-19 Julian Brown <julian@codesourcery.com>
8824 Thomas Schwinge <thomas@codesourcery.com>
8826 * libgomp.h (struct splay_tree_aux): New.
8827 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8828 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8830 (gomp_remove_var_internal): Free aux block if present.
8831 (gomp_load_image_to_device): Zero-initialise aux field instead of
8833 (omp_target_associate_pointer): Zero-initialise aux field.
8835 2019-12-18 Jakub Jelinek <jakub@redhat.com>
8838 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8840 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8843 2019-12-19 Julian Brown <julian@codesourcery.com>
8844 Maciej W. Rozycki <macro@codesourcery.com>
8845 Tobias Burnus <tobias@codesourcery.com>
8846 Thomas Schwinge <thomas@codesourcery.com>
8848 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8849 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8850 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8851 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8852 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8853 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8854 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8855 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8856 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8858 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8860 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8862 (goacc_insert_pointer): ... from here, "present" case.
8863 (goacc_insert_pointer): Inline function into...
8864 (GOACC_enter_exit_data): ... here, and simplify.
8866 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8868 (goacc_insert_pointer): ... from here, "not present" case.
8870 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8873 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8874 'goacc_enter_data', 'goacc_exit_data'.
8876 * oacc-mem.c (delete_copyout): Refactor into...
8877 (goacc_exit_data): ... this. Adjust all users.
8879 * oacc-mem.c (present_create_copy): Refactor into...
8880 (goacc_enter_data): ... this. Adjust all users.
8882 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8885 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8886 like 'GOMP_MAP_FROM'.
8891 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8893 (GOACC_enter_exit_data): Simplify accordingly.
8894 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8896 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8897 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8899 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8901 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8902 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8904 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8906 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8908 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8909 'finalize' handling.
8912 * oacc-mem.c (acc_map_data, present_create_copy)
8913 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8914 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8915 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8916 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8917 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8918 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8919 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8920 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8923 * target.c (gomp_unmap_tgt): Make it 'static'.
8924 * libgomp.h (gomp_unmap_tgt): Remove.
8926 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
8929 * testsuite/libgomp.c/pr86416-1.c: New.
8930 * testsuite/libgomp.c/pr86416-2.c: New.
8932 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
8934 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8935 all symbols as public except for the 'use …, only' imported symbol,
8937 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8938 all symbols from module openacc_kinds as PUBLIC
8939 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8941 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8943 2019-12-13 Julian Brown <julian@codesourcery.com>
8947 * libgomp.h (gomp_remove_var_async): Add prototype.
8948 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8950 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8951 whether target_mem_desc was unmapped.
8952 (gomp_unref_tgt_void): New.
8953 (gomp_remove_var): Reimplement in terms of...
8954 (gomp_remove_var_internal): ...this new helper function.
8955 (gomp_remove_var_async): New, implemented using above helper function.
8956 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8959 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
8961 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8962 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8963 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8964 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8965 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8967 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8968 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8970 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
8972 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8973 as public except for the 'use …, only' imported symbol, which is
8975 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8976 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8977 attributes for acc_copyout_finalize and acc_delete_finalize.
8979 2019-12-11 Jakub Jelinek <jakub@redhat.com>
8982 * testsuite/libgomp.fortran/atomic1.f90: New test.
8984 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8987 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8988 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8990 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8991 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8992 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8993 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8994 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8996 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8997 * oacc-mem.c: ... here.
8998 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8999 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
9000 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
9002 * libgomp_g.h: Update.
9004 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
9005 * oacc-async.c: ... here.
9006 * oacc-int.h (goacc_wait): Declare.
9007 * libgomp_g.h: Update
9010 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
9012 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
9014 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
9016 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
9018 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
9020 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
9023 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
9024 Julian Brown <julian@codesourcery.com>
9026 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
9027 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
9029 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
9031 * omp_lib.h.in: Fix spelling of function declaration
9032 omp_get_cancell(l)ation.
9033 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
9035 * env.c: Fix comment typos.
9036 * oacc-host.c: Likewise.
9037 * ordered.c: Likewise.
9040 * config/gcn/task.c: Likewise.
9041 * config/gcn/team.c: Likewise.
9042 * config/nvptx/task.c: Likewise.
9043 * config/nvptx/team.c: Likewise.
9044 * plugin/plugin-gcn.c: Likewise.
9045 * testsuite/libgomp.fortran/jacobi.f: Likewise.
9046 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9047 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
9049 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
9051 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
9052 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
9053 unnecessary 'dg-additional-options "-w"'.
9055 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
9056 Julian Brown <julian@codesourcery.com>
9061 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
9062 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
9064 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
9066 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
9068 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
9070 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
9073 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
9074 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
9076 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
9078 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
9080 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
9082 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
9084 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
9086 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
9087 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9088 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9089 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9090 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9091 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9092 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9093 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9094 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9095 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9098 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
9099 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
9100 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
9102 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
9104 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
9106 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
9107 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
9110 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
9112 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
9114 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
9116 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
9118 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
9119 ... with their content moved into, and extended in this new file.
9120 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
9122 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
9124 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
9126 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
9129 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
9132 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
9134 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
9136 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
9138 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
9140 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
9142 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
9143 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
9144 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
9145 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
9147 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
9148 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
9150 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
9152 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
9154 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
9155 Kwok Cheung Yeung <kcy@codesourcery.com>
9157 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
9158 if input it a NULL pointer.
9159 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
9160 diagnostic of NULL pointer.
9161 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
9162 * testsuite/libgomp.fortran/optional-map.f90: New.
9163 * testsuite/libgomp.fortran/use_device_addr-1.f90
9164 (test_dummy_opt_callee_1_absent): New.
9165 (test_dummy_opt_call_1): Call it.
9166 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
9167 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
9168 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
9169 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
9170 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
9171 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
9172 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
9173 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
9174 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
9175 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
9176 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
9177 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
9178 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
9179 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
9180 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
9181 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
9183 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
9185 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
9186 expect dg-output of 'Error termination.' for GCN.
9187 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
9188 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
9190 2019-12-04 Jakub Jelinek <jakub@redhat.com>
9193 * testsuite/libgomp.fortran/teams1.f90: New test.
9194 * testsuite/libgomp.fortran/teams2.f90: New test.
9196 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
9198 * oacc-init.c (acc_known_device_type): Add function.
9199 (unknown_device_type_error): Add function.
9200 (name_of_acc_device_t): Change to call unknown_device_type_error
9202 (resolve_device): Use acc_known_device_type.
9203 (acc_init): Fail if acc_device_t argument is not valid.
9204 (acc_shutdown): Likewise.
9205 (acc_get_num_devices): Likewise.
9206 (acc_set_device_type): Likewise.
9207 (acc_get_device_num): Likewise.
9208 (acc_set_device_num): Likewise.
9209 (acc_on_device): Add comment that argument validity is not checked.
9211 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
9213 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
9215 (check_effective_target_openacc_amdgcn_accel_present): New proc.
9216 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
9217 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
9218 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9219 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9221 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
9224 * configure.tgt: Avoid IE tls on *-*-musl*.
9226 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
9228 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
9229 adding a common-block test case.
9231 2019-11-29 Jakub Jelinek <jakub@redhat.com>
9234 * testsuite/libgomp.c++/udr-20.C: New test.
9235 * testsuite/libgomp.c++/udr-21.C: New test.
9237 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
9239 * testsuite/lib/libgomp.exp
9240 (check_effective_target_offload_target_nvptx): New proc.
9241 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
9243 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
9244 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
9245 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
9247 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9249 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
9250 * testsuite/libgomp.c/pr39591-2.c: Likewise.
9251 * testsuite/libgomp.c/pr39591-3.c: Likewise.
9252 * testsuite/libgomp.c/private-1.c: Likewise.
9253 * testsuite/libgomp.c/task-1.c: Likewise.
9254 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
9256 2019-11-20 Julian Brown <julian@codesourcery.com>
9258 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
9260 (queue_push_launch): Lock aq->mutex before calling
9261 wait_for_queue_nonfull.
9262 (queue_push_callback): Likewise.
9263 (queue_push_asyncwait): Likewise.
9264 (queue_push_placeholder): Likewise.
9266 2019-11-20 Julian Brown <julian@codesourcery.com>
9268 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
9269 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
9270 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
9273 2019-11-20 Julian Brown <julian@codesourcery.com>
9277 * oacc-mem.c (present_create_copy): Fix device pointer return value in
9278 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
9279 in non-present/create case.
9280 (delete_copyout): Change error condition to fail only on copies outside
9281 of mapped block. Adjust error message accordingly.
9282 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
9283 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
9284 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
9286 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9287 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
9288 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9290 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
9292 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
9293 libatomic in build-tree testing.
9295 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
9297 * testsuite/Makefile.in: Regenerate.
9299 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
9301 * testsuite/libgomp.c/target-print-1.c: New file.
9302 * testsuite/libgomp.fortran/target-print-1.f90: New file.
9303 * testsuite/libgomp.oacc-c/print-1.c: New file.
9304 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
9306 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
9307 Kwok Cheung Yeung <kcy@codesourcery.com>
9308 Julian Brown <julian@codesourcery.com>
9309 Tom de Vries <tom@codesourcery.com>
9311 * plugin/Makefrag.am: Add amdgcn plugin support.
9312 * plugin/configfrag.ac: Likewise.
9313 * plugin/plugin-gcn.c: New file.
9314 * configure: Regenerate.
9315 * Makefile.in: Regenerate.
9316 * testsuite/Makefile.in: Regenerate.
9318 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
9320 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
9321 and use team_malloc variants.
9322 (gomp_gcn_exit_kernel): Use team_free.
9323 * libgomp.h (TEAM_ARENA_SIZE): Define.
9324 (TEAM_ARENA_START): Define.
9325 (TEAM_ARENA_FREE): Define.
9326 (TEAM_ARENA_END): Define.
9327 (team_malloc): New function.
9328 (team_malloc_cleared): New function.
9329 (team_free): New function.
9330 * team.c (gomp_new_team): Initialize and use team_malloc.
9331 (free_team): Use team_free.
9332 (gomp_free_thread): Use team_free.
9333 (gomp_pause_host): Use team_free.
9334 * work.c (gomp_init_work_share): Use team_malloc.
9335 (gomp_fini_work_share): Use team_free.
9337 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
9338 Kwok Cheung Yeung <kcy@codesourcery.com>
9339 Julian Brown <julian@codesourcery.com>
9340 Tom de Vries <tom@codesourcery.com>
9342 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
9343 * Makefile.in: Regenerate.
9344 * config.h.in (PLUGIN_GCN): Add new undef.
9345 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
9346 * config/gcn/affinity-fmt.c: New file.
9347 * config/gcn/bar.c: New file.
9348 * config/gcn/bar.h: New file.
9349 * config/gcn/doacross.h: New file.
9350 * config/gcn/icv-device.c: New file.
9351 * config/gcn/oacc-target.c: New file.
9352 * config/gcn/simple-bar.h: New file.
9353 * config/gcn/target.c: New file.
9354 * config/gcn/task.c: New file.
9355 * config/gcn/team.c: New file.
9356 * config/gcn/time.c: New file.
9357 * configure.ac: Add amdgcn*-*-*.
9358 * configure: Regenerate.
9359 * configure.tgt: Add amdgcn*-*-*.
9360 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
9361 * libgomp.h (gcn_thrs): Add amdgcn variant.
9362 (set_gcn_thrs): Likewise.
9363 (gomp_thread): Likewise.
9364 * oacc-int.h (goacc_thread): Likewise.
9365 * oacc-target.c: New file.
9366 * openacc.f90 (acc_device_gcn): New parameter.
9367 * openacc.h (acc_device_t): Add acc_device_gcn.
9368 * team.c (gomp_free_pool_helper): Add amdgcn support.
9370 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
9371 Julian Brown <julian@codesourcery.com>
9373 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
9375 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
9377 * oacc-host.c (host_openacc_async_construct): Add device parameter.
9378 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
9381 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
9383 * configure.tgt (nvptx*-*-*): Add "accel" directory.
9384 * config/nvptx/libgomp-plugin.c: Move ...
9385 * config/accel/libgomp-plugin.c: ... to here.
9386 * config/nvptx/lock.c: Move ...
9387 * config/accel/lock.c: ... to here.
9388 * config/nvptx/mutex.c: Move ...
9389 * config/accel/mutex.c: ... to here.
9390 * config/nvptx/mutex.h: Move ...
9391 * config/accel/mutex.h: ... to here.
9392 * config/nvptx/oacc-async.c: Move ...
9393 * config/accel/oacc-async.c: ... to here.
9394 * config/nvptx/oacc-cuda.c: Move ...
9395 * config/accel/oacc-cuda.c: ... to here.
9396 * config/nvptx/oacc-host.c: Move ...
9397 * config/accel/oacc-host.c: ... to here.
9398 * config/nvptx/oacc-init.c: Move ...
9399 * config/accel/oacc-init.c: ... to here.
9400 * config/nvptx/oacc-mem.c: Move ...
9401 * config/accel/oacc-mem.c: ... to here.
9402 * config/nvptx/oacc-plugin.c: Move ...
9403 * config/accel/oacc-plugin.c: ... to here.
9404 * config/nvptx/omp-lock.h: Move ...
9405 * config/accel/omp-lock.h: ... to here.
9406 * config/nvptx/openacc.f90: Move ...
9407 * config/accel/openacc.f90: ... to here.
9408 * config/nvptx/pool.h: Move ...
9409 * config/accel/pool.h: ... to here.
9410 * config/nvptx/proc.c: Move ...
9411 * config/accel/proc.c: ... to here.
9412 * config/nvptx/ptrlock.c: Move ...
9413 * config/accel/ptrlock.c: ... to here.
9414 * config/nvptx/ptrlock.h: Move ...
9415 * config/accel/ptrlock.h: ... to here.
9416 * config/nvptx/sem.c: Move ...
9417 * config/accel/sem.c: ... to here.
9418 * config/nvptx/sem.h: Move ...
9419 * config/accel/sem.h: ... to here.
9420 * config/nvptx/thread-stacksize.h: Move ...
9421 * config/accel/thread-stacksize.h: ... to here.
9423 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
9424 Tobias Burnus <tobias@codesourcery.com>
9425 Frederik Harwath <frederik@codesourcery.com>
9426 Thomas Schwinge <thomas@codesourcery.com>
9429 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
9430 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
9431 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
9433 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
9434 Kwok Cheung Yeung <kcy@codesourcery.com>
9436 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
9437 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
9439 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
9441 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
9443 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
9445 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
9446 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
9448 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
9450 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
9451 Add expected warnings about missing reduction clauses.
9452 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9454 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
9456 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
9459 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
9461 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
9462 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
9463 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
9464 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9465 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9466 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9468 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
9471 * testsuite/libgomp.fortran/allocatable2.f90: Use
9472 unique numbers with 'stop'.
9473 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9474 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9475 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
9476 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
9477 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
9479 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
9481 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
9482 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
9483 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
9484 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
9485 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
9486 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
9488 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
9490 * testsuite/libgomp.fortran/target9.f90: New.
9492 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
9494 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
9495 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
9496 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
9497 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
9498 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
9499 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
9500 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
9501 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
9502 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
9503 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
9504 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
9505 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
9506 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
9507 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
9508 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
9509 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
9510 * testsuite/libgomp.fortran/associate1.f90: Ditto.
9511 * testsuite/libgomp.fortran/associate2.f90: Ditto.
9512 * testsuite/libgomp.fortran/associate3.f90: Ditto.
9513 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
9514 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
9515 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
9516 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
9517 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
9518 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
9519 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
9520 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
9521 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
9522 * testsuite/libgomp.fortran/character1.f90: Ditto.
9523 * testsuite/libgomp.fortran/character2.f90: Ditto.
9524 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
9525 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
9526 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
9527 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
9528 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
9529 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
9530 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
9531 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
9532 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
9533 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
9534 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
9535 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
9536 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
9537 * testsuite/libgomp.fortran/do1.f90: Ditto.
9538 * testsuite/libgomp.fortran/do2.f90: Ditto.
9539 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
9540 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
9541 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
9542 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
9543 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
9544 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
9545 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
9546 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
9547 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
9548 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
9549 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
9550 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
9551 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
9552 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
9553 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
9554 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9555 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9556 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9557 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9558 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9559 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9560 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9561 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9562 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9563 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9564 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9565 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9566 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9567 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9568 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9569 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9570 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9571 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9572 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9573 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9574 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9575 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9576 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9577 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9578 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9579 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9580 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9581 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9582 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9583 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9584 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9585 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9586 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9587 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9588 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9589 * testsuite/libgomp.fortran/lib1.f90: Ditto.
9590 * testsuite/libgomp.fortran/lib4.f90: Ditto.
9591 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9592 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9593 * testsuite/libgomp.fortran/nested1.f90: Ditto.
9594 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9595 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9596 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9597 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9598 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9599 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9600 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9601 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9602 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9603 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9604 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9605 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9606 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9607 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9608 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9609 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9610 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9611 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9612 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9613 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9614 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9615 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9616 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9617 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9618 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9619 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9620 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9621 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9622 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9623 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9624 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9625 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9626 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9627 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9628 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9629 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9630 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9631 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9632 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9633 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9634 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9635 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9636 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9637 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9638 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9639 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9640 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9641 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9642 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9643 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9644 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9645 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9646 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9647 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9648 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9649 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9650 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9651 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9652 * testsuite/libgomp.fortran/reference1.f90: Ditto.
9653 * testsuite/libgomp.fortran/reference2.f90: Ditto.
9654 * testsuite/libgomp.fortran/retval1.f90: Ditto.
9655 * testsuite/libgomp.fortran/retval2.f90: Ditto.
9656 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9657 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9658 * testsuite/libgomp.fortran/simd1.f90: Ditto.
9659 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9660 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9661 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9662 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9663 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9664 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9665 * testsuite/libgomp.fortran/stack.f90: Ditto.
9666 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9667 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9668 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9669 * testsuite/libgomp.fortran/target1.f90: Ditto.
9670 * testsuite/libgomp.fortran/target2.f90: Ditto.
9671 * testsuite/libgomp.fortran/target3.f90: Ditto.
9672 * testsuite/libgomp.fortran/target4.f90: Ditto.
9673 * testsuite/libgomp.fortran/target5.f90: Ditto.
9674 * testsuite/libgomp.fortran/target6.f90: Ditto.
9675 * testsuite/libgomp.fortran/target7.f90: Ditto.
9676 * testsuite/libgomp.fortran/target8.f90: Ditto.
9677 * testsuite/libgomp.fortran/task1.f90: Ditto.
9678 * testsuite/libgomp.fortran/task2.f90: Ditto.
9679 * testsuite/libgomp.fortran/task3.f90: Ditto.
9680 * testsuite/libgomp.fortran/task4.f90: Ditto.
9681 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9682 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9683 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9684 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9685 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9686 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9687 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9688 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9689 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9690 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9691 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9692 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9693 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9694 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9695 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9696 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9697 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9698 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9699 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9700 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9701 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9702 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9703 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9704 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9705 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9706 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9707 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9708 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9709 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9710 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9711 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9712 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9713 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9714 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9716 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
9718 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9719 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9720 Ditto; add 'dg-do run' for torture testing.
9721 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9722 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9723 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9724 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9725 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9726 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9727 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9728 * testsuite/libgomp.fortran/task2.f90: Ditto.
9729 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9730 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9731 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9732 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9733 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9734 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9736 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
9738 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9739 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9740 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9741 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9742 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9743 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9744 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9745 Use 'stop' not abort().
9746 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9747 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9748 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9749 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9750 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9751 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9752 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9753 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9754 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9755 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9756 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9757 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9758 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9759 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9760 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9761 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9762 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9764 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9766 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9768 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9770 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9772 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9774 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9776 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9778 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9780 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9782 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9784 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9786 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9788 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9790 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9791 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9792 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9793 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9794 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9795 Likewise and also add 'dg-do run'.
9796 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9799 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9800 Tobias Burnus <tobias@codesourcery.com>
9802 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9803 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9804 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9806 2019-10-14 Jakub Jelinek <jakub@redhat.com>
9809 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9812 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
9814 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9815 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9817 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9820 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9823 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
9826 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9828 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9830 2019-10-09 Jakub Jelinek <jakub@redhat.com>
9833 * target.c (gomp_map_vars_internal): Readd the previous
9834 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9835 though do that just in the !not_found_cnt case.
9837 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
9839 * gfortran.dg/gomp/target-simd.f90: New.
9841 2019-10-02 Julian Brown <julian@codesourcery.com>
9842 Cesar Philippidis <cesar@codesourcery.com>
9844 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9845 * target.c (FIELD_TGT_EMPTY): Define.
9846 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9847 as switch instead of list of ifs.
9848 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9850 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9852 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9853 include. Replace alloca () with __builtin_alloca ().
9854 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9856 2019-10-01 Jakub Jelinek <jakub@redhat.com>
9858 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9859 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9860 * oacc-parallel.c: Don't include "libgomp_g.h".
9861 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9862 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9863 * aclocal.m4: Regenerated.
9864 * config.h.in: Regenerated.
9865 * configure: Regenerated.
9866 * Makefile.in: Regenerated.
9868 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9870 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9872 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
9874 * configure: Regenerate.
9876 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
9878 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9879 string is initialized.
9881 2019-09-06 Florian Weimer <fweimer@redhat.com>
9883 * configure: Regenerate.
9885 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9888 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9889 scanning to conform to the GNU Coding Standards.
9890 * configure: Regenerate.
9892 2019-08-28 Jakub Jelinek <jakub@redhat.com>
9895 * testsuite/libgomp.c/scan-21.c: New test.
9896 * testsuite/libgomp.c/scan-22.c: New test.
9898 2019-08-27 Jakub Jelinek <jakub@redhat.com>
9901 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9903 * testsuite/libgomp.c/scan-12.c: Likewise.
9904 * testsuite/libgomp.c/scan-13.c: Likewise.
9905 * testsuite/libgomp.c/scan-14.c: Likewise.
9906 * testsuite/libgomp.c/scan-15.c: Likewise.
9907 * testsuite/libgomp.c/scan-16.c: Likewise.
9908 * testsuite/libgomp.c/scan-17.c: Likewise.
9909 * testsuite/libgomp.c/scan-18.c: Likewise.
9910 * testsuite/libgomp.c/scan-19.c: Likewise.
9911 * testsuite/libgomp.c/scan-20.c: Likewise.
9912 * testsuite/libgomp.c++/scan-9.C: Likewise.
9913 * testsuite/libgomp.c++/scan-10.C: Likewise.
9914 * testsuite/libgomp.c++/scan-11.C: Likewise.
9915 * testsuite/libgomp.c++/scan-12.C: Likewise.
9916 * testsuite/libgomp.c++/scan-14.C: Likewise.
9917 * testsuite/libgomp.c++/scan-15.C: Likewise.
9918 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9919 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9920 * testsuite/libgomp.c++/scan-16.C: Likewise.
9922 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9925 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9926 -std=legacy so invalid code in the test case is accepted.
9928 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9931 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9934 2019-08-08 Jakub Jelinek <jakub@redhat.com>
9936 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9937 perform the lookup in the first loop only if !not_found_cnt, otherwise
9938 perform lookups for it in the second loop guarded with
9939 if (not_found_cnt || has_firstprivate).
9940 * testsuite/libgomp.c/target-37.c: New test.
9941 * testsuite/libgomp.c++/target-22.C: New test.
9943 2019-08-07 Jakub Jelinek <jakub@redhat.com>
9945 * testsuite/libgomp.c/target-18.c (struct S): New type.
9946 (foo): Use use_device_addr clause instead of use_device_ptr clause
9947 where required by OpenMP 5.0, add further tests for both use_device_ptr
9948 and use_device_addr clauses.
9949 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9950 (foo): Use use_device_addr clause instead of use_device_ptr clause
9951 where required by OpenMP 5.0, add further tests for both use_device_ptr
9952 and use_device_addr clauses. Add t and u arguments.
9953 (main): Adjust caller.
9955 2019-08-06 Jakub Jelinek <jakub@redhat.com>
9957 * testsuite/libgomp.c++/loop-13.C: New test.
9958 * testsuite/libgomp.c++/loop-14.C: New test.
9959 * testsuite/libgomp.c++/loop-15.C: New test.
9961 2019-07-31 Jakub Jelinek <jakub@redhat.com>
9964 * testsuite/libgomp.c++/for-27.C: New test.
9966 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9968 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
9969 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9971 2019-07-20 Jakub Jelinek <jakub@redhat.com>
9973 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9975 2019-07-08 Jakub Jelinek <jakub@redhat.com>
9977 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9978 * testsuite/libgomp.c++/scan-16.C: Likewise.
9980 2019-07-06 Jakub Jelinek <jakub@redhat.com>
9982 * testsuite/libgomp.c/scan-19.c: New test.
9983 * testsuite/libgomp.c/scan-20.c: New test.
9985 * testsuite/libgomp.c/scan-11.c: New test.
9986 * testsuite/libgomp.c/scan-12.c: New test.
9987 * testsuite/libgomp.c/scan-13.c: New test.
9988 * testsuite/libgomp.c/scan-14.c: New test.
9989 * testsuite/libgomp.c/scan-15.c: New test.
9990 * testsuite/libgomp.c/scan-16.c: New test.
9991 * testsuite/libgomp.c/scan-17.c: New test.
9992 * testsuite/libgomp.c/scan-18.c: New test.
9993 * testsuite/libgomp.c++/scan-9.C: New test.
9994 * testsuite/libgomp.c++/scan-10.C: New test.
9995 * testsuite/libgomp.c++/scan-11.C: New test.
9996 * testsuite/libgomp.c++/scan-12.C: New test.
9997 * testsuite/libgomp.c++/scan-13.C: New test.
9998 * testsuite/libgomp.c++/scan-14.C: New test.
9999 * testsuite/libgomp.c++/scan-15.C: New test.
10000 * testsuite/libgomp.c++/scan-16.C: New test.
10002 2019-07-04 Jakub Jelinek <jakub@redhat.com>
10004 * testsuite/libgomp.c/scan-9.c: New test.
10005 * testsuite/libgomp.c/scan-10.c: New test.
10007 2019-07-03 Jakub Jelinek <jakub@redhat.com>
10009 * testsuite/libgomp.c++/scan-1.C: New test.
10010 * testsuite/libgomp.c++/scan-2.C: New test.
10011 * testsuite/libgomp.c++/scan-3.C: New test.
10012 * testsuite/libgomp.c++/scan-4.C: New test.
10013 * testsuite/libgomp.c++/scan-5.C: New test.
10014 * testsuite/libgomp.c++/scan-6.C: New test.
10015 * testsuite/libgomp.c++/scan-7.C: New test.
10016 * testsuite/libgomp.c++/scan-8.C: New test.
10017 * testsuite/libgomp.c/scan-1.c: New test.
10018 * testsuite/libgomp.c/scan-2.c: New test.
10019 * testsuite/libgomp.c/scan-3.c: New test.
10020 * testsuite/libgomp.c/scan-4.c: New test.
10021 * testsuite/libgomp.c/scan-5.c: New test.
10022 * testsuite/libgomp.c/scan-6.c: New test.
10023 * testsuite/libgomp.c/scan-7.c: New test.
10024 * testsuite/libgomp.c/scan-8.c: New test.
10026 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
10028 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
10029 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
10032 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
10035 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
10037 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
10040 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
10043 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
10045 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
10046 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
10047 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
10048 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
10051 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
10053 PR middle-end/90862
10054 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
10056 2019-06-16 Tom de Vries <tdevries@suse.de>
10058 PR tree-optimization/89376
10059 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
10061 2019-06-15 Tom de Vries <tdevries@suse.de>
10063 PR tree-optimization/89713
10064 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
10065 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
10067 2019-06-15 Jakub Jelinek <jakub@redhat.com>
10069 PR middle-end/90779
10070 * testsuite/libgomp.c/pr90779.c: New test.
10071 * testsuite/libgomp.fortran/pr90779.f90: New test.
10073 2019-06-15 Tom de Vries <tdevries@suse.de>
10075 PR tree-optimization/90009
10076 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
10078 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
10080 PR tree-optimization/89713
10081 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
10083 2019-06-11 Jakub Jelinek <jakub@redhat.com>
10086 * testsuite/libgomp.c/pr90811.c: New test.
10088 2019-06-05 Jakub Jelinek <jakub@redhat.com>
10090 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
10091 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
10093 2019-06-04 Jakub Jelinek <jakub@redhat.com>
10095 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
10096 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
10097 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
10098 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
10100 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10102 * configure.ac: Call AX_COUNT_CPUS.
10103 Substitute CPU_COUNT.
10104 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
10106 * aclocal.m4: Regenerate.
10107 * configure: Regenerate.
10108 * Makefile.in, testsuite/Makefile.in: Regenerate.
10110 2019-05-29 Jakub Jelinek <jakub@redhat.com>
10112 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
10114 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
10115 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
10116 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
10118 2019-05-27 Jakub Jelinek <jakub@redhat.com>
10120 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
10122 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
10125 * work.c (gomp_init_work_share): Instead of aligning final ordered
10126 value to multiples of long long alignment, align to that the
10127 first part (ordered team ids) and if inline_ordered_team_ids
10128 is not on a long long alignment boundary within the structure,
10129 use __alignof__ (long long) - 1 pad size always.
10130 * loop.c (GOMP_loop_start): Fix *mem computation if
10131 inline_ordered_team_ids is not aligned on long long alignment boundary
10132 within the structure.
10133 * loop-ull.c (GOMP_loop_ull_start): Likewise.
10134 * sections.c (GOMP_sections2_start): Likewise.
10136 2019-05-24 Jakub Jelinek <jakub@redhat.com>
10138 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
10139 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
10142 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
10143 HAVE_INTTYPES_H is defined.
10144 (print_uint64_t): New typedef.
10145 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
10146 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
10147 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
10148 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
10149 before casting to void *.
10150 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
10151 * oacc-mem.c: Don't include config.h nor stdint.h.
10152 * target.c: Don't include config.h.
10153 * oacc-cuda.c: Likewise.
10154 * oacc-host.c: Don't include stdint.h.
10156 2019-05-20 Jakub Jelinek <jakub@redhat.com>
10159 * alloc.c (_GNU_SOURCE): Define.
10161 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
10163 * acc_prof.h: New file.
10164 * oacc-profiling.c: Likewise.
10165 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
10166 Add these, respectively.
10167 * Makefile.in: Regenerate.
10168 * env.c (initialize_env): Call goacc_profiling_initialize.
10169 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
10170 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
10171 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
10172 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
10173 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
10174 acc_prof_register, acc_prof_unregister, and acc_register_library.
10175 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
10176 GOMP_PLUGIN_goacc_thread.
10177 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
10178 prof_callbacks_enabled members.
10179 (goacc_prof_enabled, goacc_profiling_initialize)
10180 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
10181 (goacc_profiling_dispatch): Declare.
10182 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
10183 (GOACC_PROFILING_SETUP_P): Define.
10184 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
10185 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
10186 OpenACC Profiling Interface.
10187 * oacc-cuda.c (acc_get_current_cuda_device)
10188 (acc_get_current_cuda_context, acc_get_cuda_stream)
10189 (acc_set_cuda_stream): Likewise.
10190 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
10191 (acc_init, acc_set_device_type, acc_get_device_type)
10192 (acc_get_device_num, goacc_lazy_initialize): Likewise.
10193 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
10194 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
10195 (acc_unmap_data, present_create_copy, delete_copyout)
10196 (update_dev_host): Likewise.
10197 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
10198 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
10200 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
10201 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
10203 * libgomp.texi: Update.
10204 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
10206 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
10207 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
10209 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
10211 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
10213 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
10216 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
10218 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
10219 (struct goacc_asyncqueue_list): Likewise.
10220 (goacc_aq): Likewise.
10221 (goacc_aq_list): Likewise.
10222 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
10223 (GOMP_OFFLOAD_openacc_async_test): Remove.
10224 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
10225 (GOMP_OFFLOAD_openacc_async_wait): Remove.
10226 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
10227 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
10228 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
10229 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
10230 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
10231 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
10232 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
10233 (GOMP_OFFLOAD_openacc_async_exec): Declare.
10234 (GOMP_OFFLOAD_openacc_async_construct): Declare.
10235 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
10236 (GOMP_OFFLOAD_openacc_async_test): Declare.
10237 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
10238 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
10239 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
10240 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
10241 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
10243 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
10244 (gomp_acc_insert_pointer): Adjust declaration.
10245 (gomp_copy_host2dev): New declaration.
10246 (gomp_copy_dev2host): Likewise.
10247 (gomp_map_vars_async): Likewise.
10248 (gomp_unmap_tgt): Likewise.
10249 (gomp_unmap_vars_async): Likewise.
10250 (gomp_fini_device): Likewise.
10252 * oacc-async.c (get_goacc_thread): New function.
10253 (get_goacc_thread_device): New function.
10254 (lookup_goacc_asyncqueue): New function.
10255 (get_goacc_asyncqueue): New function.
10256 (acc_async_test): Adjust code to use new async design.
10257 (acc_async_test_all): Likewise.
10258 (acc_wait): Likewise.
10259 (acc_wait_async): Likewise.
10260 (acc_wait_all): Likewise.
10261 (acc_wait_all_async): Likewise.
10262 (goacc_async_free): New function.
10263 (goacc_init_asyncqueues): Likewise.
10264 (goacc_fini_asyncqueues): Likewise.
10265 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
10267 (acc_set_cuda_stream): Likewise.
10268 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
10269 (host_openacc_register_async_cleanup): Remove.
10270 (host_openacc_async_exec): New function.
10271 (host_openacc_async_test): Adjust parameters.
10272 (host_openacc_async_test_all): Remove.
10273 (host_openacc_async_wait): Remove.
10274 (host_openacc_async_wait_async): Remove.
10275 (host_openacc_async_wait_all): Remove.
10276 (host_openacc_async_wait_all_async): Remove.
10277 (host_openacc_async_set_async): Remove.
10278 (host_openacc_async_synchronize): New function.
10279 (host_openacc_async_serialize): New function.
10280 (host_openacc_async_host2dev): New function.
10281 (host_openacc_async_dev2host): New function.
10282 (host_openacc_async_queue_callback): New function.
10283 (host_openacc_async_construct): New function.
10284 (host_openacc_async_destruct): New function.
10285 (struct gomp_device_descr host_dispatch): Remove initialization of old
10286 interface, add initialization of new async sub-struct.
10287 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
10288 (goacc_attach_host_thread_to_device): Remove old async code usage.
10289 * oacc-int.h (goacc_init_asyncqueues): New declaration.
10290 (goacc_fini_asyncqueues): Likewise.
10291 (goacc_async_copyout_unmap_vars): Likewise.
10292 (goacc_async_free): Likewise.
10293 (get_goacc_asyncqueue): Likewise.
10294 (lookup_goacc_asyncqueue): Likewise.
10295 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
10297 (present_create_copy): Adjust code to use new async design.
10298 (delete_copyout): Likewise.
10299 (update_dev_host): Likewise.
10300 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
10302 (gomp_acc_remove_pointer): Adjust code to use new async design.
10303 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
10305 (GOACC_enter_exit_data): Likewise.
10306 (goacc_wait): Likewise.
10307 (GOACC_update): Likewise.
10308 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
10309 when called, warn as obsolete in comment.
10310 * target.c (goacc_device_copy_async): New function.
10311 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
10312 add goacc_device_copy_async case.
10313 (gomp_copy_dev2host): Likewise.
10314 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
10315 (gomp_map_pointer): Likewise.
10316 (gomp_map_fields_existing): Likewise.
10317 (gomp_map_vars_internal): New always_inline function, renamed from
10319 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
10320 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
10321 passing goacc_asyncqueue argument.
10322 (gomp_unmap_tgt): Remove static, add attribute_hidden.
10323 (gomp_unref_tgt): New function.
10324 (gomp_unmap_vars_internal): New always_inline function, renamed from
10326 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
10327 (gomp_unmap_vars_async): Implement by calling
10328 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
10329 (gomp_fini_device): New function.
10330 (gomp_exit_data): Adjust gomp_copy_dev2host call.
10331 (gomp_load_plugin_for_device): Remove old interface, adjust to load
10332 new async interface.
10333 (gomp_target_fini): Adjust code to call gomp_fini_device.
10335 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
10336 (struct ptx_stream): Remove.
10337 (struct nvptx_thread): Remove current_stream field.
10338 (cuda_map_create): Remove.
10339 (cuda_map_destroy): Remove.
10340 (map_init): Remove.
10341 (map_fini): Remove.
10343 (map_push): Remove.
10344 (struct goacc_asyncqueue): Define.
10345 (struct nvptx_callback): Define.
10346 (struct ptx_free_block): Define.
10347 (struct ptx_device): Remove null_stream, active_streams, async_streams,
10348 stream_lock, and next fields.
10349 (enum ptx_event_type): Remove.
10350 (struct ptx_event): Remove.
10351 (ptx_event_lock): Remove.
10352 (ptx_events): Remove.
10353 (init_streams_for_device): Remove.
10354 (fini_streams_for_device): Remove.
10355 (select_stream_for_async): Remove.
10356 (nvptx_init): Remove ptx_events and ptx_event_lock references.
10357 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
10359 (nvptx_open_device): Add free_blocks initialization, remove
10360 init_streams_for_device call.
10361 (nvptx_close_device): Remove fini_streams_for_device call, add
10362 free_blocks destruct code.
10363 (event_gc): Remove.
10364 (event_add): Remove.
10365 (nvptx_exec): Adjust parameters and code.
10366 (nvptx_free): Likewise.
10367 (nvptx_host2dev): Remove.
10368 (nvptx_dev2host): Remove.
10369 (nvptx_set_async): Remove.
10370 (nvptx_async_test): Remove.
10371 (nvptx_async_test_all): Remove.
10372 (nvptx_wait): Remove.
10373 (nvptx_wait_async): Remove.
10374 (nvptx_wait_all): Remove.
10375 (nvptx_wait_all_async): Remove.
10376 (nvptx_get_cuda_stream): Remove.
10377 (nvptx_set_cuda_stream): Remove.
10378 (GOMP_OFFLOAD_alloc): Adjust code.
10379 (GOMP_OFFLOAD_free): Likewise.
10380 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
10381 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
10382 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
10383 (GOMP_OFFLOAD_openacc_async_wait): Remove.
10384 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
10385 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
10386 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
10387 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
10388 (cuda_free_argmem): New function.
10389 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
10390 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
10391 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
10392 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
10393 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
10394 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
10395 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
10396 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
10397 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
10398 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
10399 (cuda_callback_wrapper): New function.
10400 (cuda_memcpy_sanity_check): New function.
10401 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
10402 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
10403 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
10404 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
10406 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
10409 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
10411 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
10413 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
10415 2019-03-27 Kevin Buettner <kevinb@redhat.com>
10417 * team.c (gomp_team_start): Initialize pool->threads[0].
10419 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
10421 * testsuite/libgomp.oacc-c++/c++.exp: Specify
10422 "-foffload=$offload_target".
10423 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10424 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10425 * testsuite/lib/libgomp.exp
10426 (check_effective_target_openacc_nvidia_accel_configured): Remove,
10427 as (conceptually) merged into
10428 check_effective_target_openacc_nvidia_accel_selected. Adjust all
10431 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
10432 * testsuite/libgomp-test-support.exp.in: Adjust.
10433 * testsuite/lib/libgomp.exp: Likewise. Don't populate
10434 openacc_device_types_s.
10435 (offload_target_to_openacc_device_type): New proc.
10436 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
10437 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10438 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10439 * Makefile.in: Regenerate.
10440 * configure: Likewise.
10441 * testsuite/Makefile.in: Likewise.
10443 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
10444 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
10445 instead of OFFLOAD_TARGETS.
10446 * target.c (gomp_target_init): Adjust.
10447 * testsuite/libgomp-test-support.exp.in: Likewise.
10448 * testsuite/lib/libgomp.exp: Likewise. Populate
10449 openacc_device_types_s instead of offload_targets_s_openacc.
10450 (check_effective_target_openacc_nvidia_accel_selected)
10451 (check_effective_target_openacc_host_selected): Adjust.
10452 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
10453 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10454 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10455 * Makefile.in: Regenerate.
10456 * config.h.in: Likewise.
10457 * configure: Likewise.
10458 * testsuite/Makefile.in: Likewise.
10460 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
10461 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
10462 "offloading: supported, but hardware not accessible".
10463 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10464 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10466 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
10469 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
10471 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
10472 and related adjustment.
10474 2019-01-30 Jakub Jelinek <jakub@redhat.com>
10477 * testsuite/libgomp.c++/pr88988.C: New test.
10479 2019-01-28 Jakub Jelinek <jakub@redhat.com>
10481 PR middle-end/89002
10482 * testsuite/libgomp.c/pr89002.c: New test.
10484 2019-01-28 Richard Biener <rguenther@suse.de>
10487 PR tree-optimization/86865
10488 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
10490 2019-01-24 Tom de Vries <tdevries@suse.de>
10492 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
10493 once instantiated_devices drops to 0.
10495 2019-01-23 Tom de Vries <tdevries@suse.de>
10498 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
10500 (nvptx_exec): Don't call map_push if mapnum == 0.
10501 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
10503 2019-01-23 Tom de Vries <tdevries@suse.de>
10507 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
10508 (map_fini): Remove "assert (!s->map->active)".
10509 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
10511 2019-01-23 Tom de Vries <tdevries@suse.de>
10514 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
10515 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
10517 2019-01-15 Tom de Vries <tdevries@suse.de>
10520 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
10523 2019-01-12 Tom de Vries <tdevries@suse.de>
10525 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
10526 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
10527 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
10528 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
10530 2019-01-12 Tom de Vries <tdevries@suse.de>
10532 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
10534 2019-01-12 Tom de Vries <tdevries@suse.de>
10536 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
10537 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
10538 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
10540 2019-01-12 Tom de Vries <tdevries@suse.de>
10543 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
10544 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
10546 2019-01-12 Tom de Vries <tdevries@suse.de>
10549 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
10550 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
10552 2019-01-12 Tom de Vries <tdevries@suse.de>
10554 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10555 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10556 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10558 2019-01-12 Tom de Vries <tdevries@suse.de>
10560 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10561 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10562 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10564 2019-01-12 Tom de Vries <tdevries@suse.de>
10566 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10567 resources diagnostic.
10569 2019-01-12 Tom de Vries <tdevries@suse.de>
10571 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10572 vector length to be 128.
10573 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10574 length 2097152 to be reduced to 1024 instead of 32.
10576 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
10577 James Norris <jnorris@codesourcery.com>
10579 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10580 Library Routines", and "Environment Variables".
10582 2019-01-11 Tom de Vries <tdevries@suse.de>
10584 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10587 2019-01-11 Tom de Vries <tdevries@suse.de>
10589 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10591 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10592 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10593 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10594 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10596 2019-01-11 Tom de Vries <tdevries@suse.de>
10598 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10601 2019-01-10 Nathan Sidwell <nathan@acm.org>
10602 Julian Brown <julian@codesourcery.com>
10605 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10606 * testsuite/libgomp.oacc-c++/pr71959.C: New.
10608 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10610 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10613 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10615 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
10616 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10619 2019-01-09 Tom de Vries <tdevries@suse.de>
10622 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10623 #define instead of "const int".
10624 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10625 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10626 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10627 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10629 2019-01-09 Tom de Vries <tdevries@suse.de>
10631 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10634 2019-01-07 Tom de Vries <tdevries@suse.de>
10636 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10637 GOMP_OPENACC_DIM argument.
10639 2019-01-03 Tom de Vries <tdevries@suse.de>
10641 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10642 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10644 2019-01-01 Jakub Jelinek <jakub@redhat.com>
10646 Update copyright years.
10648 2019-01-01 Jakub Jelinek <jakub@redhat.com>
10650 * libgomp.texi: Bump @copying's copyright year.
10652 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10654 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10655 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10656 (GOACC_declare): Redefine the "device" argument to "flags".
10658 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10659 Cesar Philippidis <cesar@codesourcery.com>
10661 * target.c (struct gomp_coalesce_chunk): New structure.
10662 (struct gomp_coalesce_buf): Update the chunks member to use that
10663 type. Adjust all users.
10665 2018-12-19 Tom de Vries <tdevries@suse.de>
10667 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10668 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10669 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10671 2018-12-19 Tom de Vries <tdevries@suse.de>
10673 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10674 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10675 gcc/testsuite/gcc.dg/goacc.
10676 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10678 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10679 Chung-Lin Tang <cltang@codesourcery.com>
10681 * oacc-mem.c (acc_present_or_create): Remove definition and change
10682 to alias of acc_create.
10683 (acc_present_or_copyin): Remove definition and change to alias of
10685 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10686 of acc_present_or_create.
10687 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10688 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10689 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10690 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10691 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10692 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10693 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10694 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10695 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10696 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10697 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10698 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10699 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10700 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10701 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10702 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10704 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10707 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10708 "identical parameters".
10709 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10710 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10713 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10714 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10717 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10718 (nvptx_wait_async): Unseen async-argument is a no-op.
10719 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10720 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10721 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10722 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10723 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10724 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10725 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10726 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10727 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10729 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10730 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10732 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10734 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10735 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10736 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10738 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10741 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10742 (acc_set_cuda_stream): Clarify.
10743 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10745 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10747 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10748 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10749 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10750 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10752 2018-12-14 Tom de Vries <tdevries@suse.de>
10754 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10755 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10756 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10757 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10758 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10760 2018-12-13 Tom de Vries <tdevries@suse.de>
10762 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10763 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10764 * fortran.c (omp_display_affinity_): ... here.
10765 * libgomp.h (gomp_print_string): Declare.
10766 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10767 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10770 2018-12-13 Jakub Jelinek <jakub@redhat.com>
10773 * testsuite/libgomp.c++/for-24.C (results): Include it in
10774 omp declare target region.
10775 (main): Use map (always, tofrom: results) instead of
10776 map (tofrom: results).
10778 2018-12-12 Jakub Jelinek <jakub@redhat.com>
10781 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10782 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10784 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10786 2018-12-12 Andreas Schwab <schwab@suse.de>
10788 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10791 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10794 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10796 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10797 Jakub Jelinek <jakub@redhat.com>
10799 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10800 devicep->host2dev_func.
10802 2018-12-08 Jakub Jelinek <jakub@redhat.com>
10805 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10806 tls_runtime effective target.
10807 (t): New threadprivate variable.
10808 (main): Set t in threads which execute iterations of the worksharing
10809 loop. Propagate that to the task after the loop and don't abort
10810 if the current taskgroup hasn't been cancelled.
10812 2018-12-02 Jakub Jelinek <jakub@redhat.com>
10814 * testsuite/libgomp.c/task-reduction-3.c: New test.
10816 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10818 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10821 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10822 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10824 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10826 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10828 2018-10-19 Richard Biener <rguenther@suse.de>
10830 PR tree-optimization/88182
10831 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10833 2018-11-26 Jakub Jelinek <jakub@redhat.com>
10835 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10836 (RUNTEST): Don't define.
10837 (RUNTESTDEFAULTFLAGS): Add.
10838 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10839 (distclean-am): Depend on distclean-DEJAGNU.
10840 (check-am): If -j% option is present in MFLAGS and if
10841 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10842 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10843 * testsuite/Makefile.in: Regenerated.
10845 2018-11-26 Richard Biener <rguenther@suse.de>
10847 PR tree-optimization/88182
10848 * testsuite/libgomp.c++/pr88182.C: New testcase.
10850 2018-11-20 Jakub Jelinek <jakub@redhat.com>
10853 * config/mingw32/affinity-fmt.c: New file.
10855 2018-11-09 Jakub Jelinek <jakub@redhat.com>
10857 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10858 (gomp_display_affinity): Use __builtin_choose_expr to handle
10859 properly handle argument having integral, or pointer or some other
10860 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10861 with uint64_t type instead of %llx and unsigned long long.
10863 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10864 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10866 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10868 * affinity.c: Include <string.h>, <stdio.h>.
10869 (gomp_display_affinity_place): Remove cpusetp.
10870 * teams.c: Include <limits.h>.
10872 2018-11-08 Jakub Jelinek <jakub@redhat.com>
10874 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10875 in_reduction clause for s[0].
10877 * affinity.c (gomp_display_affinity_place): New function.
10878 * affinity-fmt.c: New file.
10879 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10880 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10881 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10882 Move these functions to ...
10883 * config/nvptx/teams.c: ... here. New file.
10884 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10886 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10888 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10889 and _aligned_malloc.
10890 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10891 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10892 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10893 gomp_affinity_format_len): New variables.
10894 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10895 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10896 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10897 modifiers. Display (non-default) chunk sizes. Print
10898 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10899 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10900 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10901 * fortran.c: Include stdio.h and string.h.
10902 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10903 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10904 (omp_set_affinity_format_, omp_get_affinity_format_,
10905 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10906 omp_pause_resource_all_): New functions.
10907 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10909 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10911 * teams.c: ... here. New file.
10912 * libgomp_g.h: Include gstdint.h.
10913 (GOMP_loop_nonmonotonic_runtime_start,
10914 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10915 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10916 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10917 GOMP_parallel_loop_nonmonotonic_runtime,
10918 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10919 GOMP_loop_ull_nonmonotonic_runtime_start,
10920 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10921 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10922 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10923 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10924 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10925 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10926 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10927 GOMP_teams_reg): Declare.
10928 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10929 gomp_aligned_alloc uses fallback implementation.
10930 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10931 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10932 (struct gomp_doacross_work_share): Add extra field.
10933 (struct gomp_work_share): Add task_reductions field.
10934 (struct gomp_taskgroup): Add workshare and reductions fields.
10935 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10936 (gomp_thread_handle): New typedef.
10937 (gomp_display_affinity_place, gomp_set_affinity_format,
10938 gomp_display_string, gomp_display_affinity,
10939 gomp_display_affinity_thread): Declare.
10940 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10941 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10942 gomp_workshare_task_reduction_register): Declare.
10943 (gomp_team_start): Add taskgroup argument.
10944 (gomp_pause_host): Declare.
10945 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10947 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10948 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10949 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10950 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10951 GOMP_loop_ull_doacross_start,
10952 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10953 GOMP_loop_maybe_nonmonotonic_runtime_next,
10954 GOMP_loop_maybe_nonmonotonic_runtime_start,
10955 GOMP_loop_nonmonotonic_runtime_next,
10956 GOMP_loop_nonmonotonic_runtime_start,
10957 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10958 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10959 GOMP_loop_ull_nonmonotonic_runtime_next,
10960 GOMP_loop_ull_nonmonotonic_runtime_start,
10961 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10962 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10963 GOMP_taskgroup_reduction_register,
10964 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10965 GOMP_teams_reg and GOMP_taskwait_depend.
10966 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10967 omp_{capture,display}_affinity{,_}, and
10968 omp_[gs]et_affinity_format{,_}.
10969 * loop.c: Include string.h.
10970 (GOMP_loop_runtime_next): Add ialias.
10971 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10972 (gomp_loop_static_start, gomp_loop_dynamic_start,
10973 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10974 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10975 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10976 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10977 or gomp_doacross_init callers.
10978 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10979 GOMP_loop_doacross_start): New functions.
10980 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10981 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10982 Mask off GFS_MONOTONIC bit.
10983 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10984 GOMP_loop_maybe_nonmonotonic_runtime_start,
10985 GOMP_loop_nonmonotonic_runtime_next,
10986 GOMP_loop_nonmonotonic_runtime_start,
10987 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10988 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10990 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10992 * loop_ull.c: Include string.h.
10993 (GOMP_loop_ull_runtime_next): Add ialias.
10994 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10995 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10996 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10997 gomp_loop_ull_ordered_dynamic_start,
10998 gomp_loop_ull_ordered_guided_start,
10999 gomp_loop_ull_doacross_static_start,
11000 gomp_loop_ull_doacross_dynamic_start,
11001 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
11002 and gomp_doacross_ull_init callers.
11003 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
11004 GOMP_loop_ull_doacross_start): New functions.
11005 (GOMP_loop_ull_runtime_start,
11006 GOMP_loop_ull_ordered_runtime_start,
11007 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
11008 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
11009 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
11010 GOMP_loop_ull_nonmonotonic_runtime_next,
11011 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
11012 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
11013 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
11014 (omp_pause_resource_t, omp_depend_t): New typedefs.
11015 (enum omp_lock_hint_t): Renamed to ...
11016 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
11017 enumerators using numbers and omp_lock_hint_* as their aliases.
11018 (omp_lock_hint_t): New typedef. Rename to ...
11019 (omp_sync_hint_t): ... this.
11020 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
11021 omp_sync_hint_t instead of omp_lock_hint_t.
11022 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
11023 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
11025 (omp_target_is_present, omp_target_disassociate_ptr):
11026 Change first argument from void * to const void *.
11027 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
11028 from void * to const void *.
11029 (omp_target_associate_ptr): Change first and second arguments from
11030 void * to const void *.
11031 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
11032 omp_pause_hard): New parameters.
11033 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
11034 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
11036 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
11037 omp_pause_hard): New parameters.
11038 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
11039 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
11041 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
11042 EXTRA argument. If not needed to prepare array, if extra is 0,
11043 clear ws->doacross, otherwise allocate just doacross structure and
11044 extra payload. If array is needed, allocate also extra payload.
11045 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
11046 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
11048 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
11050 (GOMP_parallel): Likewise. Formatting fix.
11051 (GOMP_parallel_reductions): New function.
11052 (GOMP_cancellation_point): If taskgroup has workshare
11053 flag set, check cancelled of prev taskgroup if any.
11054 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
11055 on prev taskgroup if any.
11056 * sections.c: Include string.h.
11057 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
11058 (GOMP_sections_start): Adjust gomp_work_share_start caller.
11059 (GOMP_sections2_start): New function.
11060 (GOMP_parallel_sections_start, GOMP_parallel_sections):
11061 Pass NULL as taskgroup to gomp_team_start.
11062 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
11063 gomp_work_share_start callers.
11064 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
11065 If taskgroup has workshare flag set, check cancelled on prev
11066 taskgroup if any. Guard all cancellation tests with
11067 gomp_cancel_var test.
11068 (omp_target_is_present, omp_target_disassociate_ptr):
11069 Change ptr argument from void * to const void *.
11070 (omp_target_memcpy): Change src argument from void * to const void *.
11071 (omp_target_memcpy_rect): Likewise.
11072 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
11073 instead of char * where needed.
11074 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
11075 from void * to const void *.
11076 (omp_pause_resource, omp_pause_resource_all): New functions.
11077 * task.c (gomp_task_handle_depend): Handle new depend array format
11078 in addition to the old. Handle mutexinoutset kinds the same as
11079 inout for now, handle unspecified kinds.
11080 (gomp_create_target_task): If taskgroup has workshare flag set, check
11081 cancelled on prev taskgroup if any. Guard all cancellation tests with
11082 gomp_cancel_var test. Handle new depend array format count in
11083 addition to the old.
11084 (GOMP_task): Likewise. Adjust function comment.
11085 (gomp_task_run_pre): If taskgroup has workshare flag set, check
11086 cancelled on prev taskgroup if any. Guard all cancellation tests with
11087 gomp_cancel_var test.
11088 (GOMP_taskwait_depend): New function.
11089 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
11090 format in addition to the old. Handle mutexinoutset kinds the same as
11091 inout for now, handle unspecified kinds. Fix a function comment typo.
11092 (gomp_taskgroup_init): New function.
11093 (GOMP_taskgroup_start): Use it.
11094 (gomp_reduction_register, gomp_create_artificial_team,
11095 GOMP_taskgroup_reduction_register,
11096 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
11097 gomp_parallel_reduction_register,
11098 gomp_workshare_task_reduction_register,
11099 gomp_workshare_taskgroup_start,
11100 GOMP_workshare_task_reduction_unregister): New functions.
11101 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
11102 check cancelled on prev taskgroup if any. Guard all cancellation
11103 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
11104 by calling GOMP_taskgroup_reduction_register.
11105 * team.c (gomp_thread_attr): Remove comment.
11106 (struct gomp_thread_start_data): Add handle field.
11107 (gomp_thread_start): Call pthread_detach.
11108 (gomp_new_team): Adjust gomp_init_work_share caller.
11109 (gomp_free_pool_helper): Call pthread_detach.
11110 (gomp_team_start): Add taskgroup argument, initialize implicit
11111 tasks' taskgroup field to that. Don't call
11112 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
11113 (gomp_team_end): Determine nesting by thr->ts.level != 0
11114 rather than thr->ts.team != NULL.
11115 (gomp_pause_pool_helper, gomp_pause_host): New functions.
11116 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
11117 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
11118 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
11119 if more than 1 allocate also extra payload at the end of array. Never
11120 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
11121 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
11122 return true instead of ws.
11123 * Makefile.in: Regenerated.
11124 * configure: Regenerated.
11125 * config.h.in: Regenerated.
11126 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
11128 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
11129 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
11130 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
11131 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
11132 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
11133 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
11134 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
11135 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
11136 * testsuite/libgomp.c-c++-common/for-10.c: New test.
11137 * testsuite/libgomp.c-c++-common/for-11.c: New test.
11138 * testsuite/libgomp.c-c++-common/for-12.c: New test.
11139 * testsuite/libgomp.c-c++-common/for-13.c: New test.
11140 * testsuite/libgomp.c-c++-common/for-14.c: New test.
11141 * testsuite/libgomp.c-c++-common/for-15.c: New test.
11142 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
11143 define a different N(test), don't define N(f0) to N(f14), but instead
11144 define N(f20) to N(f34) using != comparisons.
11145 * testsuite/libgomp.c-c++-common/for-7.c: New test.
11146 * testsuite/libgomp.c-c++-common/for-8.c: New test.
11147 * testsuite/libgomp.c-c++-common/for-9.c: New test.
11148 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
11149 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
11150 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
11151 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
11152 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
11153 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
11154 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
11155 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
11156 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
11157 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
11158 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
11159 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
11160 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
11161 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
11162 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
11163 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
11164 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
11165 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
11166 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
11167 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
11168 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
11169 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
11170 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
11171 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
11172 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
11173 * testsuite/libgomp.c++/depend-1.C: New test.
11174 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
11175 * testsuite/libgomp.c++/depobj-1.C: New test.
11176 * testsuite/libgomp.c++/for-16.C: New test.
11177 * testsuite/libgomp.c++/for-21.C: New test.
11178 * testsuite/libgomp.c++/for-22.C: New test.
11179 * testsuite/libgomp.c++/for-23.C: New test.
11180 * testsuite/libgomp.c++/for-24.C: New test.
11181 * testsuite/libgomp.c++/for-25.C: New test.
11182 * testsuite/libgomp.c++/for-26.C: New test.
11183 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
11184 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
11185 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
11186 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
11187 * testsuite/libgomp.c++/task-reduction-10.C: New test.
11188 * testsuite/libgomp.c++/task-reduction-11.C: New test.
11189 * testsuite/libgomp.c++/task-reduction-12.C: New test.
11190 * testsuite/libgomp.c++/task-reduction-13.C: New test.
11191 * testsuite/libgomp.c++/task-reduction-14.C: New test.
11192 * testsuite/libgomp.c++/task-reduction-15.C: New test.
11193 * testsuite/libgomp.c++/task-reduction-16.C: New test.
11194 * testsuite/libgomp.c++/task-reduction-17.C: New test.
11195 * testsuite/libgomp.c++/task-reduction-18.C: New test.
11196 * testsuite/libgomp.c++/task-reduction-19.C: New test.
11197 * testsuite/libgomp.c/task-reduction-1.c: New test.
11198 * testsuite/libgomp.c++/task-reduction-1.C: New test.
11199 * testsuite/libgomp.c/task-reduction-2.c: New test.
11200 * testsuite/libgomp.c++/task-reduction-2.C: New test.
11201 * testsuite/libgomp.c++/task-reduction-3.C: New test.
11202 * testsuite/libgomp.c++/task-reduction-4.C: New test.
11203 * testsuite/libgomp.c++/task-reduction-5.C: New test.
11204 * testsuite/libgomp.c++/task-reduction-6.C: New test.
11205 * testsuite/libgomp.c++/task-reduction-7.C: New test.
11206 * testsuite/libgomp.c++/task-reduction-8.C: New test.
11207 * testsuite/libgomp.c++/task-reduction-9.C: New test.
11208 * testsuite/libgomp.c/teams-1.c: New test.
11209 * testsuite/libgomp.c/teams-2.c: New test.
11210 * testsuite/libgomp.c/thread-limit-4.c: New test.
11211 * testsuite/libgomp.c/thread-limit-5.c: New test.
11212 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
11214 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
11216 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
11217 acc_memcpy_to/from_device functions, now with async parameter.
11218 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
11219 (acc_memcpy_from_device): Likewise.
11220 (acc_memcpy_to_device_async): New API function.
11221 (acc_memcpy_from_device_async): Likewise.
11222 (present_create_copy): Add async parameter and async setting/unsetting.
11223 (acc_create): Adjust present_create_copy call.
11224 (acc_copyin): Likewise.
11225 (acc_present_or_create): Likewise.
11226 (acc_present_or_copyin): Likewise.
11227 (acc_create_async): New API function.
11228 (acc_copyin_async): New API function.
11229 (delete_copyout): Add async parameter and async setting/unsetting.
11230 (acc_delete): Adjust delete_copyout call.
11231 (acc_copyout): Likewise.
11232 (acc_delete_async): New API function.
11233 (acc_copyout_async): Likewise.
11234 (update_dev_host): Add async parameter and async setting/unsetting.
11235 (acc_update_device): Adjust update_dev_host call.
11236 (acc_update_self): Likewise.
11237 (acc_update_device_async): New API function.
11238 (acc_update_self_async): Likewise.
11239 * openacc.h (acc_copyin_async): Declare new API function.
11240 (acc_create_async): Likewise.
11241 (acc_copyout_async): Likewise.
11242 (acc_delete_async): Likewise.
11243 (acc_update_device_async): Likewise.
11244 (acc_update_self_async): Likewise.
11245 (acc_memcpy_to_device_async): Likewise.
11246 (acc_memcpy_from_device_async): Likewise.
11247 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
11248 (acc_copyin_async_64_h): New subroutine.
11249 (acc_copyin_async_array_h): New subroutine.
11250 (acc_create_async_32_h): New subroutine.
11251 (acc_create_async_64_h): New subroutine.
11252 (acc_create_async_array_h): New subroutine.
11253 (acc_copyout_async_32_h): New subroutine.
11254 (acc_copyout_async_64_h): New subroutine.
11255 (acc_copyout_async_array_h): New subroutine.
11256 (acc_delete_async_32_h): New subroutine.
11257 (acc_delete_async_64_h): New subroutine.
11258 (acc_delete_async_array_h): New subroutine.
11259 (acc_update_device_async_32_h): New subroutine.
11260 (acc_update_device_async_64_h): New subroutine.
11261 (acc_update_device_async_array_h): New subroutine.
11262 (acc_update_self_async_32_h): New subroutine.
11263 (acc_update_self_async_64_h): New subroutine.
11264 (acc_update_self_async_array_h): New subroutine.
11265 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
11266 (acc_copyin_async_64_h): New subroutine.
11267 (acc_copyin_async_array_h): New subroutine.
11268 (acc_create_async_32_h): New subroutine.
11269 (acc_create_async_64_h): New subroutine.
11270 (acc_create_async_array_h): New subroutine.
11271 (acc_copyout_async_32_h): New subroutine.
11272 (acc_copyout_async_64_h): New subroutine.
11273 (acc_copyout_async_array_h): New subroutine.
11274 (acc_delete_async_32_h): New subroutine.
11275 (acc_delete_async_64_h): New subroutine.
11276 (acc_delete_async_array_h): New subroutine.
11277 (acc_update_device_async_32_h): New subroutine.
11278 (acc_update_device_async_64_h): New subroutine.
11279 (acc_update_device_async_array_h): New subroutine.
11280 (acc_update_self_async_32_h): New subroutine.
11281 (acc_update_self_async_64_h): New subroutine.
11282 (acc_update_self_async_array_h): New subroutine.
11283 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
11284 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
11285 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
11286 acc_memcpy_to_device_async*, acc_update_device_async*, and
11287 acc_update_self_async* entries.
11288 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
11289 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
11290 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
11292 2018-10-31 Joseph Myers <joseph@codesourcery.com>
11295 * Makefile.am: Include multilib.am
11296 (AUTOMAKE_OPTIONS): Add info-in-builddir.
11297 (CLEANFILES): Remove libgomp.info.
11298 * configure.ac: Remove AC_PREREQ.
11299 * testsuite/Makefile.am (RUNTEST): Remove quotes.
11300 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
11303 2018-10-29 Joseph Myers <joseph@codesourcery.com>
11304 Julian Brown <julian@codesourcery.com>
11306 * testsuite/libgomp.oacc-c++/this.C: New.
11308 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
11310 * plugin/plugin-nvptx.c (struct cuda_map): New.
11311 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
11312 h_tail with (cuda_map *) map.
11313 (cuda_map_create): New function.
11314 (cuda_map_destroy): New function.
11315 (map_init): Update to use a linked list of cuda_map objects.
11316 (map_fini): Likewise.
11317 (map_pop): Likewise.
11318 (map_push): Likewise. Return CUdeviceptr instead of void.
11319 (init_streams_for_device): Remove stales references to ptx_stream
11321 (select_stream_for_async): Likewise.
11322 (nvptx_exec): Update call to map_init.
11324 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
11325 Julian Brown <julian@codesourcery.com>
11327 PR middle-end/86336
11328 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
11330 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
11331 Thomas Koenig <tkoenig@gcc.gnu.org>
11334 * testsuite/libgomp.fortran/async_io_1.f90: New test.
11335 * testsuite/libgomp.fortran/async_io_2.f90: New test.
11336 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11337 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11338 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11339 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11340 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11342 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
11343 Tom de Vries <tdevries@suse.de>
11346 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
11347 (cuOccupancyMaxPotentialBlockSize): Declare.
11348 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
11349 CUDA_ONE_CALL_MAYBE_NULL.
11350 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
11351 CUoccupancyB2DSize and declare
11352 cuOccupancyMaxPotentialBlockSize.
11353 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
11354 default num_gangs and num_workers when the driver supports it.
11356 2018-08-08 Tom de Vries <tdevries@suse.de>
11358 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
11359 CUDA_ONE_CALL_MAYBE_NULL.
11360 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
11361 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
11362 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
11365 2018-08-08 Tom de Vries <tdevries@suse.de>
11367 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
11368 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
11371 2018-08-08 Tom de Vries <tdevries@suse.de>
11373 * plugin/plugin-nvptx.c
11374 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
11375 (nvptx_open_device): Use
11376 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
11378 2018-08-08 Tom de Vries <tdevries@suse.de>
11380 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
11381 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
11383 2018-08-07 Tom de Vries <tdevries@suse.de>
11385 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
11386 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
11387 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
11388 corresponding call in CUDA_ONE_CALL. Add def/undef of
11389 CUDA_ONE_CALL_MAYBE_NULL.
11390 (CUDA_CALL_EXISTS): Define.
11392 2018-08-07 Tom de Vries <tdevries@suse.de>
11394 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
11395 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
11396 corresponding undefs right after.
11398 2018-08-04 Tom de Vries <tdevries@suse.de>
11400 * plugin/configfrag.ac: For --without-cuda-driver, set
11401 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
11402 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
11403 * configure: Regenerate.
11405 2018-08-02 Tom de Vries <tdevries@suse.de>
11408 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
11409 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
11410 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
11412 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
11413 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
11414 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
11416 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
11417 Thomas Schwinge <thomas@codesourcery.com>
11419 * config/nvptx/oacc-parallel.c: Truncate.
11421 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
11422 James Norris <jnorris@codesourcery.com>
11424 * plugin/plugin-nvptx.c (struct map): Removed.
11425 (map_init, map_pop): Remove use of struct map.
11426 (map_push): Likewise and change argument list.
11427 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
11429 2018-08-01 Tom de Vries <tdevries@suse.de>
11431 * plugin/cuda-lib.def: New file. Factor out of ...
11432 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
11433 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
11436 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
11438 Revert 'AsyncI/O patch committed'.
11439 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
11440 Thomas Koenig <tkoenig@gcc.gnu.org>
11443 * testsuite/libgomp.fortran/async_io_1.f90: New test.
11444 * testsuite/libgomp.fortran/async_io_2.f90: New test.
11445 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11446 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11447 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11448 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11449 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11451 2018-07-30 Tom de Vries <tdevries@suse.de>
11453 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
11454 (nvptx_exec): Ensure worker and vector default dims don't exceed
11455 targ_fn->max_threads_per_block.
11457 2018-07-30 Tom de Vries <tdevries@suse.de>
11459 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
11460 (nvptx_open_device): Init default_dims for device.
11461 (nvptx_exec): Use default_dims from device.
11463 2018-07-26 Jakub Jelinek <jakub@redhat.com>
11466 * testsuite/libgomp.c++/for-15.C (results): Include it in
11467 omp declare target region.
11468 (main): Use map (always, tofrom: results) instead of
11469 map (tofrom: results).
11471 PR middle-end/86660
11472 * testsuite/libgomp.c/pr86660.c: New test.
11474 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
11475 Tom de Vries <tdevries@suse.de>
11477 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
11478 sufficient resources to launch a kernel, and give a hint on how to fix
11481 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
11482 Tom de Vries <tdevries@suse.de>
11484 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
11485 max_threads_per_block and max_threads_per_multiprocessor fields.
11486 (nvptx_open_device): Initialize new fields.
11487 (nvptx_exec): Use num_sms, and new fields.
11489 2018-07-26 Tom de Vries <tdevries@suse.de>
11491 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
11492 to correct locations. Remove xfail.
11494 2018-07-26 Tom de Vries <tdevries@suse.de>
11496 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
11497 acc_wait. Move acc_async_test calls to correct locations. Remove
11500 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
11501 Thomas Koenig <tkoenig@gcc.gnu.org>
11504 * testsuite/libgomp.fortran/async_io_1.f90: New test.
11505 * testsuite/libgomp.fortran/async_io_2.f90: New test.
11506 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11507 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11508 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11509 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11510 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11512 2018-07-17 Jakub Jelinek <jakub@redhat.com>
11514 PR middle-end/86542
11515 * testsuite/libgomp.c++/pr86542.C: New test.
11517 PR middle-end/86539
11518 * testsuite/libgomp.c++/pr86539.C: New test.
11520 2018-07-11 Jakub Jelinek <jakub@redhat.com>
11523 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
11524 (results): Make sure the variable is not inside declare target region.
11525 (qux): Remove unused function.
11527 2018-07-10 Jakub Jelinek <jakub@redhat.com>
11530 * testsuite/libgomp.c++/for-15.C: New test.
11532 2018-06-26 Jakub Jelinek <jakub@redhat.com>
11535 * testsuite/libgomp.c++/pr86291.C: New test.
11537 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
11539 * libgomp.texi (Top): Move www.openmp.org to https.
11540 (Enabling OpenMP): Ditto.
11541 (omp_get_active_level): Ditto.
11542 (omp_get_ancestor_thread_num): Ditto.
11543 (omp_get_cancellation): Ditto.
11544 (omp_get_default_device): Ditto.
11545 (omp_get_dynamic): Ditto.
11546 (omp_get_level): Ditto.
11547 (omp_get_max_active_levels): Ditto.
11548 (omp_get_max_task_priority): Ditto.
11549 (omp_get_max_threads): Ditto.
11550 (omp_get_nested): Ditto.
11551 (omp_get_num_devices): Ditto.
11552 (omp_get_num_procs): Ditto.
11553 (omp_get_num_teams): Ditto.
11554 (omp_get_num_threads): Ditto.
11555 (omp_get_proc_bind): Ditto.
11556 (omp_get_schedule): Ditto.
11557 (omp_get_team_num): Ditto.
11558 (omp_get_team_size): Ditto.
11559 (omp_get_thread_limit): Ditto.
11560 (omp_get_thread_num): Ditto.
11561 (omp_in_parallel): Ditto.
11562 (omp_in_final): Ditto.
11563 (omp_is_initial_device): Ditto.
11564 (omp_set_default_device): Ditto.
11565 (omp_set_dynamic): Ditto.
11566 (omp_set_max_active_levels): Ditto.
11567 (omp_set_nested): Ditto.
11568 (omp_set_num_threads): Ditto.
11569 (omp_set_schedule): Ditto.
11570 (omp_init_lock): Ditto.
11571 (omp_set_lock): Ditto.
11572 (omp_test_lock): Ditto.
11573 (omp_unset_lock): Ditto.
11574 (omp_destroy_lock): Ditto.
11575 (omp_init_nest_lock): Ditto.
11576 (omp_set_nest_lock): Ditto.
11577 (omp_test_nest_lock): Ditto.
11578 (omp_unset_nest_lock): Ditto.
11579 (omp_destroy_nest_lock): Ditto.
11580 (omp_get_wtick): Ditto.
11581 (omp_get_wtime): Ditto.
11582 (OMP_CANCELLATION): Ditto.
11583 (OMP_DISPLAY_ENV): Ditto.
11584 (OMP_DEFAULT_DEVICE): Ditto.
11585 (OMP_DYNAMIC): Ditto.
11586 (OMP_MAX_ACTIVE_LEVELS): Ditto.
11587 (OMP_MAX_TASK_PRIORITY): Ditto.
11588 (OMP_NESTED): Ditto.
11589 (OMP_NUM_THREADS): Ditto.
11590 (OMP_PROC_BIND): Ditto.
11591 (OMP_PLACES): Ditto.
11592 (OMP_STACKSIZE): Ditto.
11593 (OMP_SCHEDULE): Ditto.
11594 (OMP_THREAD_LIMIT): Ditto.
11595 (OMP_WAIT_POLICY): Ditto.
11597 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
11598 James Norris <jnorris@codesourcery.com>
11599 Julian Brown <julian@codesourcery.com>
11600 Thomas Schwinge <thomas@codesourcery.com>
11601 Tom de Vries <tom@codesourcery.com>
11603 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11604 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11605 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11606 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11607 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11608 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11609 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11610 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11611 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11612 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11614 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11616 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11618 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11620 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11622 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11624 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11626 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11628 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11630 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11632 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11634 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11636 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11638 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11640 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11642 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11644 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11646 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11648 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11650 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11652 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11654 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11656 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11658 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11660 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11662 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11664 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11666 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11667 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11668 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11669 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11670 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11671 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11672 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11673 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11674 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11676 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11678 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11679 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11680 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11682 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11683 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11684 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11686 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11688 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11690 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11692 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11694 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11696 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11698 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11700 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11702 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11704 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11706 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11708 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11710 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11712 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11714 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11715 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11716 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11717 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11718 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11719 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11720 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11722 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11723 Thomas Schwinge <thomas@codesourcery.com>
11724 Cesar Philippidis <cesar@codesourcery.com>
11726 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11727 (gomp_acc_remove_pointer): Update declaration.
11728 (gomp_acc_declare_allocate): Declare.
11729 (gomp_remove_var): Declare.
11730 * libgomp.map (OACC_2.5): Define.
11731 * oacc-mem.c (acc_map_data): Update refcount.
11732 (acc_unmap_data): Likewise.
11733 (present_create_copy): Likewise.
11734 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11735 (acc_copyin): Likewise.
11736 (FLAG_FINALIZE): Define.
11737 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11738 (acc_delete_finalize): New function.
11739 (acc_delete_finalize_async): New function.
11740 (acc_copyout_finalize): New function.
11741 (acc_copyout_finalize_async): New function.
11742 (gomp_acc_insert_pointer): Update refcounts.
11743 (gomp_acc_remove_pointer): Return if data is not present on the
11745 * oacc-parallel.c (find_pset): Rename to find_pointer.
11746 (find_pointer): Add support for GOMP_MAP_POINTER.
11747 (handle_ftn_pointers): New function.
11748 (GOACC_parallel_keyed): Update refcounts of variables.
11749 (GOACC_enter_exit_data): Add support for finalized data mappings.
11750 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11752 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11753 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11754 for GOMP_MAP_FORCE_FROM.
11755 * openacc.f90 (module openacc_internal): Add
11756 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11757 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11758 acc_copyout_finalize and acc_delete_finalize.
11759 (acc_copyout_finalize_32_h): New subroutine.
11760 (acc_copyout_finalize_64_h): New subroutine.
11761 (acc_copyout_finalize_array_h): New subroutine.
11762 (acc_delete_finalize_32_h): New subroutine.
11763 (acc_delete_finalize_64_h): New subroutine.
11764 (acc_delete_finalize_array_h): New subroutine.
11765 * openacc.h (acc_copyout_finalize): Declare.
11766 (acc_copyout_finalize_async): Declare.
11767 (acc_delete_finalize): Declare.
11768 (acc_delete_finalize_async): Declare.
11769 * openacc_lib.h (acc_copyout_finalize): New interface.
11770 (acc_delete_finalize): New interface.
11771 * target.c (gomp_map_vars): Update dynamic_refcount.
11772 (gomp_remove_var): New function.
11773 (gomp_unmap_vars): Use it.
11774 (gomp_unload_image_from_device): Likewise.
11775 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11776 case to utilize OpenACC 2.5 data clause semantics.
11777 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11778 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11779 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11780 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11781 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11782 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11783 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11784 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11785 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11786 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11787 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11788 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11789 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11790 utilize OpenACC 2.5 data clause semantics.
11791 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11792 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11793 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11794 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11795 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11796 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11797 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11798 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11799 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11801 2018-05-21 Janus Weil <janus@gcc.gnu.org>
11805 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11806 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11807 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11808 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11809 * testsuite/libgomp.fortran/task2.f90: Ditto.
11810 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11811 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11812 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11813 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11814 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11815 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11816 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11817 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11818 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11820 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11823 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11825 2018-05-09 Tom de Vries <tom@codesourcery.com>
11828 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11829 to GOACC_enter_exit_data.
11831 2018-05-09 Tom de Vries <tom@codesourcery.com>
11834 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11835 (async_synchronous_p): New function.
11836 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11838 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11839 async_valid_stream_id_p.
11840 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11841 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11843 2018-05-07 Tom de Vries <tom@codesourcery.com>
11846 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11847 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11849 2018-05-03 Tom de Vries <tom@codesourcery.com>
11852 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11853 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11854 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11855 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11857 2018-05-02 Tom de Vries <tom@codesourcery.com>
11860 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11861 GOMP_OPENACC_DIM ...
11862 * env.c (parse_gomp_openacc_dim): ... here. New function.
11863 (initialize_env): Call parse_gomp_openacc_dim.
11864 (goacc_default_dims): Define.
11865 * libgomp.h (goacc_default_dims): Declare.
11866 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11867 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11868 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11869 GOMP_PLUGIN_acc_default_dim.
11870 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11871 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11873 2018-05-02 Tom de Vries <tom@codesourcery.com>
11876 * testsuite/libgomp.c++/udr-9.C: Update.
11877 * testsuite/libgomp.c++/atomic-16.C: Remove.
11878 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11879 * testsuite/libgomp.c++/loop-13.C: Remove.
11880 * testsuite/libgomp.c++/loop-14.C: Remove.
11881 * testsuite/libgomp.c++/loop-15.C: Remove.
11882 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11883 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11884 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11885 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11886 * testsuite/libgomp.c++/ordered-1.C: Remove.
11887 * testsuite/libgomp.c++/pr45784.C: Remove.
11888 * testsuite/libgomp.c++/pr64824.C: Remove.
11889 * testsuite/libgomp.c++/pr64868.C: Remove.
11890 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11891 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11892 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11893 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11894 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11895 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11896 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11897 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11898 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11899 * testsuite/libgomp.c++/pr69389.C: Remove.
11900 * testsuite/libgomp.c++/simd10.C: Remove.
11901 * testsuite/libgomp.c++/simd11.C: Remove.
11902 * testsuite/libgomp.c++/simd12.C: Remove.
11903 * testsuite/libgomp.c++/simd13.C: Remove.
11904 * testsuite/libgomp.c++/target-1.C: Remove.
11905 * testsuite/libgomp.c++/target-3.C: Remove.
11906 * testsuite/libgomp.c++/target-4.C: Remove.
11907 * testsuite/libgomp.c++/target-5.C: Remove.
11908 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11909 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11910 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11911 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11912 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11913 * testsuite/libgomp.c++/udr-9.C: Remove.
11914 * testsuite/libgomp.c++/for-10.C: Remove.
11915 * testsuite/libgomp.c++/for-11.C: Remove.
11916 * testsuite/libgomp.c++/for-12.C: Remove.
11917 * testsuite/libgomp.c++/for-13.C: Remove.
11918 * testsuite/libgomp.c++/for-14.C: Remove.
11919 * testsuite/libgomp.c++/for-9.C: Remove.
11920 * testsuite/libgomp.c/atomic-18.c: Move ...
11921 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11922 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11923 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11924 * testsuite/libgomp.c/loop-13.c: Move ...
11925 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11926 * testsuite/libgomp.c/loop-14.c: Move ...
11927 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11928 * testsuite/libgomp.c/loop-15.c: Remove.
11929 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11930 * testsuite/libgomp.c/monotonic-1.c: Move ...
11931 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11932 * testsuite/libgomp.c/monotonic-2.c: Move ...
11933 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11934 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11935 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11936 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11937 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11938 * testsuite/libgomp.c/ordered-4.c: Move ...
11939 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11940 * testsuite/libgomp.c/pr45784.c: Move ...
11941 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11942 * testsuite/libgomp.c/pr64824.c: Move ...
11943 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11944 * testsuite/libgomp.c/pr64868.c: Move ...
11945 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11946 * testsuite/libgomp.c/pr66199-1.c: Move ...
11947 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11948 * testsuite/libgomp.c/pr66199-2.c: Move ...
11949 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11950 * testsuite/libgomp.c/pr66199-3.c: Move ...
11951 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11952 * testsuite/libgomp.c/pr66199-4.c: Move ...
11953 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11954 * testsuite/libgomp.c/pr66199-5.c: Move ...
11955 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11956 * testsuite/libgomp.c/pr66199-6.c: Move ...
11957 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11958 * testsuite/libgomp.c/pr66199-7.c: Move ...
11959 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11960 * testsuite/libgomp.c/pr66199-8.c: Move ...
11961 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11962 * testsuite/libgomp.c/pr66199-9.c: Move ...
11963 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11964 * testsuite/libgomp.c/pr69389.c: Move ...
11965 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11966 * testsuite/libgomp.c/simd-14.c: Move ...
11967 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11968 * testsuite/libgomp.c/simd-15.c: Move ...
11969 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11970 * testsuite/libgomp.c/simd-16.c: Move ...
11971 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11972 * testsuite/libgomp.c/simd-17.c: Move ...
11973 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11974 * testsuite/libgomp.c/target-1.c: Move ...
11975 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11976 * testsuite/libgomp.c/target-10.c: Move ...
11977 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11978 * testsuite/libgomp.c/target-13.c: Move ...
11979 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11980 * testsuite/libgomp.c/target-2.c: Move ...
11981 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11982 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11983 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11984 * testsuite/libgomp.c/taskloop-1.c: Move ...
11985 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11986 * testsuite/libgomp.c/taskloop-2.c: Move ...
11987 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11988 * testsuite/libgomp.c/taskloop-3.c: Move ...
11989 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11990 * testsuite/libgomp.c/taskloop-4.c: Move ...
11991 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11992 * testsuite/libgomp.c/udr-1.c: Move ...
11993 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11994 * testsuite/libgomp.c/for-1.c: Move ...
11995 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11996 * testsuite/libgomp.c/for-1.h: Move ...
11997 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11998 * testsuite/libgomp.c/for-2.c: Move ...
11999 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
12000 * testsuite/libgomp.c/for-2.h: Move ...
12001 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
12002 * testsuite/libgomp.c/for-3.c: Move ...
12003 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
12004 * testsuite/libgomp.c/for-4.c: Move ...
12005 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
12006 * testsuite/libgomp.c/for-5.c: Move ...
12007 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
12008 * testsuite/libgomp.c/for-6.c: Move ...
12009 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
12011 2018-05-02 Tom de Vries <tom@codesourcery.com>
12014 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
12015 __builtin_goacc_parlevel_{id,size}.
12016 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
12017 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
12018 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
12019 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
12020 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
12021 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
12022 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
12023 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
12024 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
12025 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
12026 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
12027 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
12028 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
12029 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
12030 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
12031 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
12032 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
12033 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
12034 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
12035 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
12036 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
12037 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
12038 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
12040 2018-05-02 Tom de Vries <tom@codesourcery.com>
12043 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
12045 2018-05-02 Tom de Vries <tom@codesourcery.com>
12048 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
12050 2018-04-29 Julian Brown <julian@codesourcery.com>
12051 Tom de Vries <tom@codesourcery.com>
12054 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
12055 arbitrary order for iterations of atomic subtract check.
12057 2018-04-28 Tom de Vries <tom@codesourcery.com>
12060 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
12061 atomic capture results obtained in parallel loop to an array, instead of
12064 2018-04-26 Tom de Vries <tom@codesourcery.com>
12067 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
12068 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
12069 (process_GOMP_NVPTX_JIT): New function.
12070 (link_ptx): Use process_GOMP_NVPTX_JIT.
12072 2018-04-26 Richard Biener <rguenther@suse.de>
12073 Tom de Vries <tom@codesourcery.com>
12076 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
12078 2018-04-26 Tom de Vries <tom@codesourcery.com>
12081 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
12082 recursion depth from 25 to 23.
12083 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
12085 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
12087 * configure: Regenerated.
12089 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
12090 Tom de Vries <tom@codesourcery.com>
12093 * testsuite/libgomp.oacc-c++/ref-1.C: New.
12095 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
12098 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
12099 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
12100 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
12101 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
12102 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
12103 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
12105 PR libfortran/85166
12106 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
12108 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12110 2018-04-19 Jakub Jelinek <jakub@redhat.com>
12112 * configure: Regenerated.
12114 2018-04-18 David Malcolm <dmalcolm@redhat.com>
12117 * configure: Regenerate.
12119 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
12120 Tom de Vries <tom@codesourcery.com>
12122 PR middle-end/84955
12123 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
12124 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
12126 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
12130 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
12131 test from gfortran.dg to here.
12133 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
12135 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
12136 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
12138 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
12140 PR middle-end/84955
12141 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
12142 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
12144 2018-04-05 Tom de Vries <tom@codesourcery.com>
12147 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
12149 2018-03-26 Tom de Vries <tom@codesourcery.com>
12151 PR tree-optimization/85063
12152 * testsuite/libgomp.c/switch-conversion-2.c: New test.
12153 * testsuite/libgomp.c/switch-conversion.c: New test.
12154 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
12155 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
12157 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
12160 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
12161 call abort by STOP n.
12162 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
12163 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
12164 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
12165 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
12166 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
12167 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
12168 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
12169 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
12170 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
12171 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
12172 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
12173 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
12174 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
12175 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
12176 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
12177 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
12178 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
12179 * testsuite/libgomp.fortran/associate1.f90: Likewise.
12180 * testsuite/libgomp.fortran/associate2.f90: Likewise.
12181 * testsuite/libgomp.fortran/associate3.f90: Likewise.
12182 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
12183 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
12184 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
12185 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
12186 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
12187 * testsuite/libgomp.fortran/character1.f90: Likewise.
12188 * testsuite/libgomp.fortran/character2.f90: Likewise.
12189 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
12190 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
12191 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
12192 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
12193 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
12194 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
12195 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
12196 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
12197 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
12198 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
12199 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
12200 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
12201 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
12202 * testsuite/libgomp.fortran/do1.f90: Likewise.
12203 * testsuite/libgomp.fortran/do2.f90: Likewise.
12204 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
12205 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
12206 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
12207 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
12208 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
12209 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
12210 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
12211 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
12212 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
12213 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
12214 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
12215 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
12216 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
12217 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
12218 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
12219 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
12220 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
12221 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
12222 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
12223 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
12224 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
12225 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
12226 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
12227 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
12228 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
12229 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
12230 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
12231 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
12232 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
12233 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
12234 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
12235 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
12236 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
12237 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
12238 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
12239 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
12240 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
12241 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
12242 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
12243 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
12244 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
12245 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
12246 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
12247 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
12248 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
12249 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
12250 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
12251 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
12252 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
12253 * testsuite/libgomp.fortran/lib1.f90: Likewise.
12254 * testsuite/libgomp.fortran/lib2.f: Likewise.
12255 * testsuite/libgomp.fortran/lib3.f: Likewise.
12256 * testsuite/libgomp.fortran/lib4.f90: Likewise.
12257 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
12258 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
12259 * testsuite/libgomp.fortran/nested1.f90: Likewise.
12260 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
12261 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
12262 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
12263 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
12264 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
12265 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
12266 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
12267 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
12268 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
12269 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
12270 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
12271 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
12272 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
12273 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
12274 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
12275 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
12276 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
12277 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
12278 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
12279 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12280 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
12281 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
12282 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
12283 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
12284 * testsuite/libgomp.fortran/pr25162.f: Likewise.
12285 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
12286 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
12287 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
12288 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
12289 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
12290 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
12291 * testsuite/libgomp.fortran/pr28390.f: Likewise.
12292 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
12293 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
12294 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
12295 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
12296 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
12297 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
12298 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
12299 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
12300 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
12301 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
12302 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
12303 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
12304 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
12305 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
12306 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
12307 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
12308 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
12309 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
12310 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
12311 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
12312 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
12313 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
12314 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
12315 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
12316 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
12317 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12318 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
12319 * testsuite/libgomp.fortran/reference1.f90: Likewise.
12320 * testsuite/libgomp.fortran/reference2.f90: Likewise.
12321 * testsuite/libgomp.fortran/retval1.f90: Likewise.
12322 * testsuite/libgomp.fortran/retval2.f90: Likewise.
12323 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
12324 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
12325 * testsuite/libgomp.fortran/simd1.f90: Likewise.
12326 * testsuite/libgomp.fortran/simd2.f90: Likewise.
12327 * testsuite/libgomp.fortran/simd3.f90: Likewise.
12328 * testsuite/libgomp.fortran/simd4.f90: Likewise.
12329 * testsuite/libgomp.fortran/simd5.f90: Likewise.
12330 * testsuite/libgomp.fortran/simd6.f90: Likewise.
12331 * testsuite/libgomp.fortran/simd7.f90: Likewise.
12332 * testsuite/libgomp.fortran/stack.f90: Likewise.
12333 * testsuite/libgomp.fortran/strassen.f90: Likewise.
12334 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
12335 * testsuite/libgomp.fortran/tabs2.f: Likewise.
12336 * testsuite/libgomp.fortran/target1.f90: Likewise.
12337 * testsuite/libgomp.fortran/target2.f90: Likewise.
12338 * testsuite/libgomp.fortran/target3.f90: Likewise.
12339 * testsuite/libgomp.fortran/target4.f90: Likewise.
12340 * testsuite/libgomp.fortran/target5.f90: Likewise.
12341 * testsuite/libgomp.fortran/target6.f90: Likewise.
12342 * testsuite/libgomp.fortran/target7.f90: Likewise.
12343 * testsuite/libgomp.fortran/target8.f90: Likewise.
12344 * testsuite/libgomp.fortran/task1.f90: Likewise.
12345 * testsuite/libgomp.fortran/task2.f90: Likewise.
12346 * testsuite/libgomp.fortran/task3.f90: Likewise.
12347 * testsuite/libgomp.fortran/task4.f90: Likewise.
12348 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
12349 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
12350 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
12351 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
12352 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
12353 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12354 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12355 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12356 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
12357 * testsuite/libgomp.fortran/udr1.f90: Likewise.
12358 * testsuite/libgomp.fortran/udr10.f90: Likewise.
12359 * testsuite/libgomp.fortran/udr11.f90: Likewise.
12360 * testsuite/libgomp.fortran/udr12.f90: Likewise.
12361 * testsuite/libgomp.fortran/udr13.f90: Likewise.
12362 * testsuite/libgomp.fortran/udr14.f90: Likewise.
12363 * testsuite/libgomp.fortran/udr15.f90: Likewise.
12364 * testsuite/libgomp.fortran/udr2.f90: Likewise.
12365 * testsuite/libgomp.fortran/udr3.f90: Likewise.
12366 * testsuite/libgomp.fortran/udr4.f90: Likewise.
12367 * testsuite/libgomp.fortran/udr5.f90: Likewise.
12368 * testsuite/libgomp.fortran/udr6.f90: Likewise.
12369 * testsuite/libgomp.fortran/udr7.f90: Likewise.
12370 * testsuite/libgomp.fortran/udr8.f90: Likewise.
12371 * testsuite/libgomp.fortran/udr9.f90: Likewise.
12372 * testsuite/libgomp.fortran/vla1.f90: Likewise.
12373 * testsuite/libgomp.fortran/vla2.f90: Likewise.
12374 * testsuite/libgomp.fortran/vla3.f90: Likewise.
12375 * testsuite/libgomp.fortran/vla4.f90: Likewise.
12376 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12377 * testsuite/libgomp.fortran/vla6.f90: Likewise.
12378 * testsuite/libgomp.fortran/vla7.f90: Likewise.
12379 * testsuite/libgomp.fortran/vla8.f90: Likewise.
12380 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
12381 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
12382 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12383 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12384 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12385 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12386 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12387 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12388 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12389 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12390 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
12391 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
12392 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
12393 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
12394 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
12395 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12396 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12397 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12398 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12399 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12400 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12401 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12402 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12403 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
12404 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
12405 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12406 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12407 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12408 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12409 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12410 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12411 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12412 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12413 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12414 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12415 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12416 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12417 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12418 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
12419 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12420 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
12421 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12422 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
12423 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
12424 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
12425 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
12426 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
12427 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
12428 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12429 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12430 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12431 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12432 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
12433 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12434 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12435 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12436 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12437 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12438 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12439 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12440 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12441 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12442 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12443 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12444 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12445 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12446 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
12447 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12448 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
12449 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12450 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
12451 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
12452 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
12453 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
12454 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12455 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12456 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12457 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12458 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12459 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12460 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12461 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12462 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
12463 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
12464 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12465 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12466 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12467 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12468 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
12469 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
12470 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
12471 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12472 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12473 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
12475 2018-03-20 Richard Biener <rguenther@suse.de>
12477 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
12478 parallelizable loop.
12480 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12483 * configure: Regenerate.
12485 2018-02-16 Jakub Jelinek <jakub@redhat.com>
12488 * libgomp.fortran/pr84418-1.f90: New test.
12489 * libgomp.fortran/pr84418-2.f90: New test.
12491 2018-02-14 Jakub Jelinek <jakub@redhat.com>
12494 * testsuite/libgomp.fortran/threadprivate4.f90: Add
12495 -std=f2003 -fall-intrinsics into dg-additional-options.
12497 2018-02-08 Martin Jambor <mjambor@suse.cz>
12499 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
12502 2018-02-08 Martin Jambor <mjambor@suse.cz>
12504 * testsuite/libgomp.hsa.c/staticvar.c: New test.
12506 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12508 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
12509 [__cplusplus]: Declare extern "C".
12511 2018-02-07 Tom de Vries <tom@codesourcery.com>
12514 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
12516 2018-01-29 Christoph Spiel <cspiel@freenet.de>
12517 Jakub Jelinek <jakub@redhat.com>
12520 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
12521 instead of omp_lock_t.
12523 2018-01-25 Tom de Vries <tom@codesourcery.com>
12526 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
12528 2018-01-24 Tom de Vries <tom@codesourcery.com>
12531 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
12533 2018-01-24 Tom de Vries <tom@codesourcery.com>
12536 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
12538 2018-01-19 Tom de Vries <tom@codesourcery.com>
12539 Cesar Philippidis <cesar@codesourcery.com>
12542 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
12543 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
12545 2018-01-03 Jakub Jelinek <jakub@redhat.com>
12547 Update copyright years.
12549 * libgomp.texi: Bump @copying's copyright year.
12551 2017-12-30 Tom de Vries <tom@codesourcery.com>
12554 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12555 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12557 2017-12-27 Tom de Vries <tom@codesourcery.com>
12560 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12561 (test_nonstatic): Fix return type to workaround PR83046.
12563 2017-12-05 Jakub Jelinek <jakub@redhat.com>
12566 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12567 j suffix instead of i.
12568 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12571 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
12573 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12574 call to acc_wait (1).
12576 2017-11-24 Jakub Jelinek <jakub@redhat.com>
12579 * testsuite/libgomp.fortran/pr81304.f90: New test.
12581 2017-11-23 Jakub Jelinek <jakub@redhat.com>
12584 * libgomp.fortran/pr81841.f90: New test.
12586 2017-11-22 Jakub Jelinek <jakub@redhat.com>
12589 * target.c (gomp_target_init): Compute lengths just once and
12590 use them in both malloc size and subsequent copying.
12592 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12594 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12595 * acinclude.m4: Add cet.m4.
12596 * configure: Regenerate.
12597 * Makefile.in: Likewise.
12598 * testsuite/Makefile.in: Likewise.
12600 2017-11-15 Tom de Vries <tom@codesourcery.com>
12602 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12603 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
12604 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12605 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
12606 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12607 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
12609 2017-11-14 Tom de Vries <tom@codesourcery.com>
12611 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12612 non-nvidia devices.
12614 2017-11-07 Jakub Jelinek <jakub@redhat.com>
12617 * testsuite/libgomp.c++/pr82835.C: New test.
12619 2017-11-06 Martin Liska <mliska@suse.cz>
12621 * testsuite/libgomp.c++/loop-2.C: Return a value
12622 for functions with non-void return type, or change type to void,
12623 or add -Wno-return-type for test.
12624 * testsuite/libgomp.c++/loop-4.C: Likewise.
12625 * testsuite/libgomp.c++/parallel-1.C: Likewise.
12626 * testsuite/libgomp.c++/shared-1.C: Likewise.
12627 * testsuite/libgomp.c++/single-1.C: Likewise.
12628 * testsuite/libgomp.c++/single-2.C: Likewise.
12630 2017-10-31 Tom de Vries <tom@codesourcery.com>
12632 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12633 "do {} while (false)".
12634 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12635 after HSA_DEBUG call.
12637 2017-10-28 Jakub Jelinek <jakub@redhat.com>
12639 * target.c (struct gomp_coalesce_buf): New type.
12640 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12641 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12642 (gomp_copy_host2dev): Add CBUF argument, if copying into
12643 the cached ranges, memcpy into buffer instead of copying
12645 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12646 Add CBUF argument, pass it through to other calls.
12647 (gomp_map_vars): Aggregate copies from host to device if small enough
12648 and with small enough gaps in between into memcpy into a buffer and
12649 fewer host to device copies from the buffer.
12650 (gomp_update): Adjust gomp_copy_host2dev caller.
12652 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
12654 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12656 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12657 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12658 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12659 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12661 2017-10-16 Tom de Vries <tom@codesourcery.com>
12663 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12664 openacc_nvidia_accel_selected.
12665 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12666 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12667 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12668 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12669 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12670 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12671 openacc_nvidia_accel_selected. Skip for shared memory device.
12672 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12673 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12675 2017-10-09 Martin Jambor <mjambor@suse.cz>
12678 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12680 2017-10-07 Tom de Vries <tom@codesourcery.com>
12682 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12683 Remove acc_device_nvidia references.
12684 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12687 2017-10-05 Tom de Vries <tom@codesourcery.com>
12689 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12690 vector_length(32) clause from acc parallel directive.
12691 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12693 2017-10-04 Tom de Vries <tom@codesourcery.com>
12695 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12696 (main): Reduce sum of arr elements. Assert that hres is exactly
12697 representable in 32-bit floating point.
12698 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12699 (main): Reduce sum of arr elements. Assert that hres and hmres are
12700 exactly representable in 32-bit floating point.
12701 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12703 2017-09-28 Tom de Vries <tom@codesourcery.com>
12705 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12707 * testsuite/libgomp.c++/pr69393.C: Same.
12708 * testsuite/libgomp.c++/taskloop-1.C: Same.
12709 * testsuite/libgomp.c++/taskloop-3.C: Same.
12710 * testsuite/libgomp.c++/taskloop-4.C: Same.
12711 * testsuite/libgomp.c/for-4.c: Same.
12712 * testsuite/libgomp.c/pr66199-3.c: Same.
12713 * testsuite/libgomp.c/pr66199-4.c: Same.
12714 * testsuite/libgomp.c/pr66199-6.c: Same.
12715 * testsuite/libgomp.c/taskloop-1.c: Same.
12716 * testsuite/libgomp.c/taskloop-3.c: Same.
12717 * testsuite/libgomp.c/taskloop-4.c: Same.
12718 * testsuite/libgomp.fortran/aligned1.f03: Same.
12719 * testsuite/libgomp.fortran/condinc1.f: Same.
12720 * testsuite/libgomp.fortran/condinc3.f90: Same.
12721 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12722 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12723 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12724 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12725 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12726 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12727 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12728 * testsuite/libgomp.fortran/recursion1.f90: Same.
12729 * testsuite/libgomp.fortran/target2.f90: Same.
12730 * testsuite/libgomp.fortran/target5.f90: Same.
12731 * testsuite/libgomp.fortran/task3.f90: Same.
12733 2017-09-28 Tom de Vries <tom@codesourcery.com>
12735 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12736 vector_length(32) clause from acc parallel directive.
12737 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12739 2017-09-27 Tom de Vries <tom@codesourcery.com>
12741 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12742 Remove acc_device_nvidia references.
12744 2017-09-16 Tom de Vries <tom@codesourcery.com>
12747 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12749 2017-09-14 Tom de Vries <tom@codesourcery.com>
12751 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12752 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12753 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12754 * testsuite/libgomp.c/c.exp: Include test-cases from
12755 libgomp.c-c++-common.
12756 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12759 2017-09-14 Jakub Jelinek <jakub@redhat.com>
12762 * testsuite/libgomp.c++/pr81314.C: New test.
12764 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12766 * libgomp.texi (Top): www.openacc.org now uses https.
12767 (Enabling OpenACC): Ditto.
12768 (acc_get_num_devices): Ditto.
12769 (acc_set_device_type): Ditto.
12770 (acc_get_device_type): Ditto.
12771 (acc_set_device_num): Ditto.
12772 (acc_get_device_num): Ditto.
12773 (acc_async_test): Ditto.
12774 (acc_async_test_all): Ditto.
12776 (acc_wait_all): Ditto.
12777 (acc_wait_all_async): Ditto.
12778 (acc_wait_async): Ditto.
12780 (acc_shutdown): Ditto.
12781 (acc_on_device): Ditto.
12782 (acc_malloc): Ditto.
12784 (acc_copyin): Ditto.
12785 (acc_present_or_copyin): Ditto.
12786 (acc_create): Ditto.
12787 (acc_present_or_create): Ditto.
12788 (acc_copyout): Ditto.
12789 (acc_delete): Ditto.
12790 (acc_update_device): Ditto.
12791 (acc_update_self): Ditto.
12792 (acc_map_data): Ditto.
12793 (acc_unmap_data): Ditto.
12794 (acc_deviceptr): Ditto.
12795 (acc_hostptr): Ditto.
12796 (acc_is_present): Ditto.
12797 (acc_memcpy_to_device): Ditto.
12798 (acc_memcpy_from_device): Ditto.
12799 (acc_get_current_cuda_device): Ditto.
12800 (acc_get_current_cuda_context): Ditto.
12801 (acc_get_cuda_stream): Ditto.
12802 (acc_set_cuda_stream): Ditto.
12803 (ACC_DEVICE_TYPE): Ditto.
12804 (ACC_DEVICE_NUM): Ditto.
12805 (OpenACC Library Interoperability): Ditto.
12807 2017-08-09 Jakub Jelinek <jakub@redhat.com>
12810 * testsuite/libgomp.c/pr81687-1.c: New test.
12811 * testsuite/libgomp.c/pr81687-2.c: New test.
12813 2017-08-07 Jakub Jelinek <jakub@redhat.com>
12816 * testsuite/libgomp.c/pr69389.c: New test.
12817 * testsuite/libgomp.c++/pr69389.C: New test.
12819 2017-08-07 Tom de Vries <tom@codesourcery.com>
12821 PR middle-end/78266
12822 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12823 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12825 2017-07-27 Jakub Jelinek <jakub@redhat.com>
12828 * testsuite/libgomp.c/pr45784.c: New test.
12829 * testsuite/libgomp.c++/pr45784.C: New test.
12831 2017-07-19 Tom de Vries <tom@codesourcery.com>
12833 * testsuite/libgomp.oacc-c/vec.c: New test.
12835 2017-07-03 Tom de Vries <tom@codesourcery.com>
12837 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12839 2017-06-27 Tom de Vries <tom@codesourcery.com>
12841 * plugin/plugin-nvptx.c (notify_var): New function.
12842 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12844 2017-06-27 Tom de Vries <tom@codesourcery.com>
12846 * env.c (parse_unsigned_long_1): Factor out of ...
12847 (parse_unsigned_long): ... here.
12848 (parse_int_1): Factor out of ...
12849 (parse_int): ... here.
12850 (parse_int_secure): New function.
12851 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12852 * secure_getenv.h: Factor out of ...
12853 * plugin/plugin-hsa.c: ... here.
12854 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12856 2017-06-21 Jakub Jelinek <jakub@redhat.com>
12859 * testsuite/libgomp.c++/pr81130.C: New test.
12861 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12863 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12865 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12866 dg-xfail-run-if default args.
12868 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12870 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12871 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12873 2017-05-30 Jakub Jelinek <jakub@redhat.com>
12876 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12877 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12878 sibling lists, depending on level just pick up what CPUs to put
12879 together into a place vs. whether add multiple ordered places.
12881 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12883 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12884 * libgomp.map (OACC_2.0.1): Add these.
12885 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12886 for "acc_wait", and "acc_wait_all", respectively.
12887 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12888 for "acc_wait", and "acc_wait_all", respectively.
12889 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12890 * libgomp.texi (acc_wait, acc_wait_all): Update.
12891 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12892 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12893 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12895 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12896 acc_present_or_copyin and acc_present_or_create procedures,
12898 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12899 generally different variants of OpenACC Runtime Library functions.
12900 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12902 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12903 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12905 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12906 of preprocessor definitions.
12907 * libgomp.h (strong_alias): Guard by "#ifdef
12908 HAVE_ATTRIBUTE_ALIAS".
12909 * oacc-mem.c: Provide "acc_pcreate" as alias for
12910 "acc_present_or_create", and "acc_pcopyin" as alias for
12911 "acc_present_or_copyin".
12912 * libgomp.map: New version "OACC_2.0.1".
12913 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12914 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12915 its content into...
12916 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12919 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12920 when disabling nvptx offloading.
12922 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12924 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12925 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12926 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12928 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12929 * testsuite/lib/libgomp.exp
12930 (check_effective_target_openacc_nvidia_accel_configured): New
12932 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12933 (check_effective_target_c++): New procs.
12934 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12935 (check_effective_target_c++): Likewise.
12937 2017-05-22 Jakub Jelinek <jakub@redhat.com>
12939 PR middle-end/80809
12940 * testsuite/libgomp.c/pr80809-2.c: New test.
12941 * testsuite/libgomp.c/pr80809-3.c: New test.
12943 PR middle-end/80809
12944 * testsuite/libgomp.c/pr80809-1.c: New test.
12946 PR middle-end/80853
12947 * testsuite/libgomp.c/pr80853.c: New test.
12949 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12951 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12952 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12953 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12954 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12955 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12957 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12958 Debug output for failure.
12960 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12962 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12964 2017-04-27 Jakub Jelinek <jakub@redhat.com>
12967 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12968 bootstrap compare failures.
12970 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
12972 * testsuite/libgomp.c/target-36.c: New testcase.
12974 2017-04-13 Jakub Jelinek <jakub@redhat.com>
12976 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12979 2017-04-11 Jakub Jelinek <jakub@redhat.com>
12982 * testsuite/libgomp.c/pr80394.c: New test.
12984 2017-04-04 Jakub Jelinek <jakub@redhat.com>
12987 * config/posix/thread-stacksize.h: New file.
12988 * config/darwin/thread-stacksize.h: New file.
12989 * config/nvptx/thread-stacksize.h: New file.
12990 * env.c: Include thread-stacksize.h.
12991 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12992 instead of 0. Call pthread_attr_setstacksize even if
12993 GOMP_DEFAULT_STACKSIZE is non-zero.
12995 2017-03-30 Jakub Jelinek <jakub@redhat.com>
12997 * env.c (initialize_env): Initialize stacksize to 0.
12999 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
13002 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
13004 2017-03-08 Jakub Jelinek <jakub@redhat.com>
13007 * testsuite/libgomp.c/pr79940.c: New test.
13009 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13011 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
13013 Add __float128 options.
13015 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
13017 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
13018 hppa*-*-* dg-skip-if directive.
13020 2017-02-09 Jakub Jelinek <jakub@redhat.com>
13022 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
13023 dg-skip-if directive into a comment.
13025 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
13026 Chung-Lin Tang <cltang@codesourcery.com>
13028 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
13029 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
13030 add additional case.
13031 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
13032 "openacc_nvidia_accel_selected".
13033 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
13034 Add num_workers(8) clause.
13036 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
13038 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
13040 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
13041 include complex.h on hppa*-*-hpux*.
13042 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
13044 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
13046 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
13048 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
13049 GOMP_OFFLOAD_openacc_exec. Adjust all users.
13050 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
13051 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
13052 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
13053 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
13054 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
13055 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
13056 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
13057 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
13059 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
13061 * libgomp-plugin.h: #include <stdbool.h>.
13062 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
13063 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
13064 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
13065 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
13066 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
13067 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
13068 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
13069 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
13070 (GOMP_OFFLOAD_openacc_register_async_cleanup)
13071 (GOMP_OFFLOAD_openacc_async_test)
13072 (GOMP_OFFLOAD_openacc_async_test_all)
13073 (GOMP_OFFLOAD_openacc_async_wait)
13074 (GOMP_OFFLOAD_openacc_async_wait_async)
13075 (GOMP_OFFLOAD_openacc_async_wait_all)
13076 (GOMP_OFFLOAD_openacc_async_wait_all_async)
13077 (GOMP_OFFLOAD_openacc_async_set_async)
13078 (GOMP_OFFLOAD_openacc_create_thread_data)
13079 (GOMP_OFFLOAD_openacc_destroy_thread_data)
13080 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
13081 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
13082 (GOMP_OFFLOAD_openacc_get_cuda_stream)
13083 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
13084 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
13086 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
13087 (GOMP_OFFLOAD_unload_image): Fix argument types.
13089 2017-01-26 Jakub Jelinek <jakub@redhat.com>
13091 * testsuite/lib/libgomp.exp
13092 (check_effective_target_hsa_offloading_selected_nocache): Fix up
13093 check_compile invocation. Fix up removal of executable. Drop
13094 bogus "2>&1" argument.
13096 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
13099 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
13100 Martin Jambor <mjambor@suse.cz>
13102 * plugin/hsa.h: Moved to top level include.
13103 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
13105 2017-01-21 Jakub Jelinek <jakub@redhat.com>
13108 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
13109 of cat to get version from BASE-VER file.
13110 * testsuite/Makefile.in: Regenerated.
13112 2017-01-19 Jakub Jelinek <jakub@redhat.com>
13114 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
13117 2017-01-17 Jakub Jelinek <jakub@redhat.com>
13119 * plugin/hsa.h: Add GCC runtime library exception.
13120 * plugin/hsa_ext_finalize.h: Likewise.
13122 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
13123 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
13124 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
13125 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
13126 plugin/include/cuda as include dir and -ldl instead of -lcuda as
13127 library to link ptx plugin against.
13128 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
13129 (CUDA_CALLS): Define.
13130 (cuda_lib, cuda_lib_inited): New variables.
13131 (init_cuda_lib): New function.
13132 (CUDA_CALL_PREFIX): Define.
13133 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
13134 (CUDA_CALL): Use FN instead of (FN).
13135 (CUDA_CALL_NOCHECK): Define.
13136 (cuda_error, fini_streams_for_device, select_stream_for_async,
13137 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
13138 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
13139 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
13140 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
13142 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
13144 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
13145 Use CUDA_CALL_NOCHECK.
13146 * plugin/cuda/cuda.h: New file.
13147 * config.h.in: Regenerated.
13148 * configure: Regenerated.
13151 * configure.ac: Add GCC_BASE_VER.
13152 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
13153 get version from BASE-VER file.
13154 * testsuite/Makefile.in: Regenerated.
13155 * configure: Regenerated.
13156 * Makefile.in: Regenerated.
13158 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13161 * Makefile.am: Make fincludedir multilib-aware.
13162 * Makefile.in: Regenerate.
13164 2017-01-01 Jakub Jelinek <jakub@redhat.com>
13166 Update copyright years.
13168 * libgomp.texi: Bump @copying's copyright year.
13170 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
13172 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
13173 pthread_spinlock_t instead of gomp_mutex_t lock.
13174 (gomp_get_thread_pool): Likewise.
13175 (gomp_release_thread_pool): Likewise.
13176 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
13179 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
13181 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
13182 thread pool in case nthreads == 1.
13184 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
13186 * config/nvptx/env.c: Delete.
13187 * icv.c: Move definitions of ICV variables back ...
13188 * env.c: ...here. Do not compile environment-related functionality if
13189 LIBGOMP_OFFLOADED_ONLY is set.
13191 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
13193 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
13194 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
13195 * configure: Regenerate.
13196 * config.h.in: Likewise.
13198 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
13200 * Makefile.in: Regenerate with automake-1.11.6.
13201 * aclocal.m4: Likewise.
13202 * configure: Likewise.
13203 * testsuite/Makefile.in: Likewise.
13205 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
13207 * config/nvptx/critical.c: Delete to use generic implementation.
13209 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
13211 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
13212 ../../affinity.c as fallback.
13213 * config/nvptx/affinity.c: Delete to use fallback implementation.
13215 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
13216 Jakub Jelinek <jakub@redhat.com>
13217 Dmitry Melnik <dm@ispras.ru>
13219 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
13220 * Makefile.in. Regenerate.
13221 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
13222 (LIBGOMP_USE_PTHREADS): ...here; new define.
13223 * configure: Regenerate.
13224 * config.h.in: Likewise.
13225 * config/posix/affinity.c: Move to...
13226 * affinity.c: ...here (new file). Guard use of Pthreads-specific
13227 interface by LIBGOMP_USE_PTHREADS.
13228 * critical.c: Split out GOMP_atomic_{start,end} into...
13229 * atomic.c: ...here (new file).
13230 * env.c: Split out ICV definitions into...
13231 * icv.c: ...here (new file) and...
13232 * icv-device.c: ...here. New file.
13233 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
13234 (gomp_destroy_lock_30): Ditto.
13235 (gomp_set_lock_30): Ditto.
13236 (gomp_unset_lock_30): Ditto.
13237 (gomp_test_lock_30): Ditto.
13238 (gomp_init_nest_lock_30): Ditto.
13239 (gomp_destroy_nest_lock_30): Ditto.
13240 (gomp_set_nest_lock_30): Ditto.
13241 (gomp_unset_nest_lock_30): Ditto.
13242 (gomp_test_nest_lock_30): Ditto.
13244 * config/nvptx/lock.c: New.
13245 * config/nvptx/bar.c: New.
13246 * config/nvptx/bar.h: New.
13247 * config/nvptx/doacross.h: New.
13248 * config/nvptx/error.c: New.
13249 * config/nvptx/icv-device.c: New.
13250 * config/nvptx/mutex.h: New.
13251 * config/nvptx/pool.h: New.
13252 * config/nvptx/proc.c: New.
13253 * config/nvptx/ptrlock.h: New.
13254 * config/nvptx/sem.h: New.
13255 * config/nvptx/simple-bar.h: New.
13256 * config/nvptx/target.c: New.
13257 * config/nvptx/task.c: New.
13258 * config/nvptx/team.c: New.
13259 * config/nvptx/time.c: New.
13260 * config/posix/simple-bar.h: New.
13261 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
13262 (gomp_num_teams_var): Declare.
13263 (struct gomp_thread_pool): Change threads_dock member to
13264 gomp_simple_barrier_t.
13265 [__nvptx__] (gomp_thread): New implementation.
13266 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
13267 (gomp_thread_destructor): Ditto.
13268 (gomp_init_thread_affinity): Ditto.
13269 * team.c: Guard uses of Pthreads-specific interfaces by
13270 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
13271 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
13272 * config/nvptx/alloc.c: Delete.
13273 * config/nvptx/barrier.c: Ditto.
13274 * config/nvptx/fortran.c: Ditto.
13275 * config/nvptx/iter.c: Ditto.
13276 * config/nvptx/iter_ull.c: Ditto.
13277 * config/nvptx/loop.c: Ditto.
13278 * config/nvptx/loop_ull.c: Ditto.
13279 * config/nvptx/ordered.c: Ditto.
13280 * config/nvptx/parallel.c: Ditto.
13281 * config/nvptx/priority_queue.c: Ditto.
13282 * config/nvptx/sections.c: Ditto.
13283 * config/nvptx/single.c: Ditto.
13284 * config/nvptx/splay-tree.c: Ditto.
13285 * config/nvptx/work.c: Ditto.
13286 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
13287 -foffload=-lgfortran in addition to -lgfortran.
13288 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
13289 * plugin/plugin-nvptx.c: Include <limits.h>.
13290 (struct targ_fn_descriptor): Add new fields.
13291 (struct ptx_device): Ditto. Set them...
13292 (nvptx_open_device): ...here.
13293 (nvptx_adjust_launch_bounds): New.
13294 (nvptx_host2dev): Allow NULL 'nvthd'.
13295 (nvptx_dev2host): Ditto.
13296 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
13297 (link_ptx): Adjust log sizes.
13298 (nvptx_host2dev): Allow NULL 'nvthd'.
13299 (nvptx_dev2host): Ditto.
13300 (nvptx_set_clocktick): New. Use it...
13301 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
13303 (GOMP_OFFLOAD_dev2dev): New.
13304 (nvptx_adjust_launch_bounds): New.
13305 (nvptx_stacks_size): New.
13306 (nvptx_stacks_alloc): New.
13307 (nvptx_stacks_free): New.
13308 (GOMP_OFFLOAD_run): New.
13309 (GOMP_OFFLOAD_async_run): New (stub).
13311 2016-11-23 Martin Jambor <mjambor@suse.cz>
13313 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
13314 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
13315 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
13317 2016-11-23 Martin Liska <mliska@suse.cz>
13318 Martin Jambor <mjambor@suse.cz>
13320 * plugin/hsa.h: New file.
13321 * plugin/hsa_ext_finalize.h: New file.
13322 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
13323 header file unistd.h, and functions secure_getenv, __secure_getenv,
13324 getuid, geteuid, getgid and getegid.
13325 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
13327 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
13328 Handle various cases of secure_getenv presence, add an implementation
13329 when we can test effective UID and GID.
13330 (struct hsa_runtime_fn_info): New structure.
13331 (hsa_runtime_fn_info hsa_fns): New variable.
13332 (hsa_runtime_lib): Likewise.
13333 (support_cpu_devices): Likewise.
13334 (init_enviroment_variables): Load newly introduced ENV
13336 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
13337 (hsa_fatal): Likewise.
13338 (DLSYM_FN): New macro.
13339 (init_hsa_runtime_functions): New function.
13340 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
13341 structure. Depending on environment, also allow CPU devices.
13342 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
13343 (get_kernarg_memory_region): Likewise.
13344 (GOMP_OFFLOAD_init_device): Likewise.
13345 (destroy_hsa_program): Likewise.
13346 (init_basic_kernel_info): New function.
13347 (GOMP_OFFLOAD_load_image): Use it.
13348 (create_and_finalize_hsa_program): Call hsa run-time functions via
13350 (create_single_kernel_dispatch): Likewise.
13351 (release_kernel_dispatch): Likewise.
13352 (init_single_kernel): Likewise.
13353 (parse_target_attributes): Allow up multiple HSA grid dimensions.
13354 (get_group_size): New function.
13355 (run_kernel): Likewise.
13356 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
13357 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
13359 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
13360 * testsuite/libgomp-test-support.exp.in: Likewise.
13361 * Makefile.in: Regenerated.
13362 * aclocal.m4: Likewise.
13363 * config.h.in: Likewise.
13364 * configure: Likewise.
13365 * testsuite/Makefile.in: Likewise.
13367 2016-11-15 Martin Jambor <mjambor@suse.cz>
13368 Alexander Monakov <amonakov@ispras.ru>
13370 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
13371 mapping clauses to target constructs.
13372 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
13374 2016-11-15 Matthias Klose <doko@ubuntu.com>
13376 * configure: Regenerate.
13378 2016-11-10 Jakub Jelinek <jakub@redhat.com>
13380 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
13381 * omp_lib.h.in (openmp_version): Likewise.
13382 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
13384 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13386 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
13387 (fib_wrapper): Add map(from: x) clause.
13388 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
13389 (e_53_2): Likewise.
13390 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
13391 (accum): Add map(tmp) clause.
13392 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
13393 (accum): Add map(tofrom: tmp) clause.
13394 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
13395 (gramSchmidt): Likewise.
13396 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
13397 map(tofrom: sum) clause.
13398 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
13399 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
13400 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
13401 only allowed on the loop iterator.
13402 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
13403 * testsuite/libgomp.fortran/taskloop2.f90: New test.
13404 * testsuite/libgomp.fortran/taskloop4.f90: New test.
13405 * testsuite/libgomp.fortran/doacross1.f90: New test.
13406 * testsuite/libgomp.fortran/doacross3.f90: New test.
13407 * testsuite/libgomp.fortran/taskloop1.f90: New test.
13408 * testsuite/libgomp.fortran/taskloop3.f90: New test.
13409 * testsuite/libgomp.fortran/doacross2.f90: New test.
13410 * testsuite/libgomp.c/doacross-1.c (main): Add missing
13411 #pragma omp atomic read.
13412 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13413 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
13415 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
13416 Nathan Sidwell <nathan@acm.org>
13418 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
13419 to determine default geometry.
13420 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
13423 2016-11-01 Jakub Jelinek <jakub@redhat.com>
13425 * hashtab.h: Use standard GPLv3 with runtime exception
13428 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
13430 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
13431 size when allocating new thread.
13433 2016-09-14 Marek Polacek <polacek@redhat.com>
13435 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
13437 2016-08-19 Jakub Jelinek <jakub@redhat.com>
13440 * testsuite/libgomp.fortran/pr71014.f90: New test.
13442 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
13444 PR middle-end/70895
13445 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
13446 firstprivate clauses.
13447 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
13449 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13450 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
13451 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
13452 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13453 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13454 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13455 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13456 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13457 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13458 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13459 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13460 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
13462 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
13465 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
13467 2016-08-08 Jakub Jelinek <jakub@redhat.com>
13470 * testsuite/libgomp.c++/pr58706.C: New test.
13472 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
13474 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
13475 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
13476 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
13478 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
13479 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
13481 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
13483 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
13484 test, and don't hardcode -O0.
13486 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
13488 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
13490 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
13492 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
13495 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
13497 PR middle-end/71734
13498 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
13499 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
13501 2016-07-01 Jakub Jelinek <jakub@redhat.com>
13504 * testsuite/libgomp.fortran/associate3.f90: New test.
13506 2016-06-17 Jakub Jelinek <jakub@redhat.com>
13508 * testsuite/libgomp.c++/target-21.C: New test.
13510 2016-06-16 Jakub Jelinek <jakub@redhat.com>
13512 * testsuite/libgomp.c++/target-20.C: New test.
13514 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
13515 Cesar Philippidis <cesar@codesourcery.com>
13517 PR middle-end/71373
13518 * libgomp.oacc-c/nested-function-1.c: New file.
13519 * libgomp.oacc-c/nested-function-2.c: Likewise.
13520 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
13521 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
13522 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
13524 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
13527 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
13528 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
13529 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
13531 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
13533 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
13534 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
13536 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
13539 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
13541 2016-05-26 Jakub Jelinek <jakub@redhat.com>
13543 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
13544 instead of invalid schedule(static, 0).
13545 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13547 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13549 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
13550 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
13551 parameter, use to set async stream around call to gomp_unmap_vars,
13552 call gomp_unmap_vars() with 'do_copyfrom' set to true.
13553 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
13554 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13555 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13556 (event_add): Add int parameter, initialize 'val' field when
13557 adding new ptx_event struct.
13558 (nvptx_evec): Adjust event_add() call arguments.
13559 (nvptx_host2dev): Likewise.
13560 (nvptx_dev2host): Likewise.
13561 (nvptx_wait_async): Likewise.
13562 (nvptx_wait_all_async): Likewise.
13563 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13564 pass to event_add() call.
13565 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13567 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13568 call openacc.register_async_cleanup_func() hook.
13569 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13570 * target.c (gomp_copy_from_async): Delete function.
13571 (gomp_map_vars): Remove async_refcount.
13572 (gomp_unmap_vars): Likewise.
13573 (gomp_load_image_to_device): Likewise.
13574 (omp_target_associate_ptr): Likewise.
13575 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13576 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13577 (gomp_copy_from_async): Remove.
13579 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13581 * target.c (gomp_device_copy): New function.
13582 (gomp_copy_host2dev): Likewise.
13583 (gomp_copy_dev2host): Likewise.
13584 (gomp_free_device_memory): Likewise.
13585 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13586 (gomp_map_pointer): Likewise.
13587 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13588 NULL value from alloc_func plugin hook.
13589 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13590 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13591 (gomp_unmap_vars): Likewise.
13592 (gomp_update): Adjust to call gomp_copy_dev2host and
13593 gomp_copy_host2dev functions.
13594 (gomp_unload_image_from_device): Handle false value from
13595 unload_image_func plugin hook.
13596 (gomp_init_device): Handle false value from init_device_func
13598 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13599 (omp_target_free): Adjust to call gomp_free_device_memory.
13600 (omp_target_memcpy): Handle return values from host2dev_func,
13601 dev2host_func, and dev2dev_func plugin hooks.
13602 (omp_target_memcpy_rect_worker): Likewise.
13603 (gomp_target_fini): Handle false value from fini_device_func
13605 * libgomp.h (struct gomp_device_descr): Adjust return type of
13606 init_device_func, fini_device_func, unload_image_func, free_func,
13607 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13608 * oacc-init.c (acc_shutdown_1): Handle false value from
13609 fini_device_func plugin hook.
13610 * oacc-host.c (host_init_device): Change return type to bool.
13611 (host_fini_device): Likewise.
13612 (host_unload_image): Likewise.
13613 (host_free): Likewise.
13614 (host_dev2host): Likewise.
13615 (host_host2dev): Likewise.
13616 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13617 (acc_memcpy_to_device): Likewise.
13618 (acc_memcpy_from_device): Likewise.
13619 (delete_copyout): Add libfnname parameter, handle free_func
13620 hook fatal error case.
13621 (acc_delete): Adjust delete_copyout call.
13622 (acc_copyout): Likewise.
13623 (update_dev_host): Move gomp_mutex_unlock to after
13624 host2dev/dev2host hook calls.
13626 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13627 to 'hsa_error_msg', for clarity.
13628 (hsa_fatal): Likewise.
13629 (hsa_error): New function.
13630 (init_hsa_context): Change return type to bool, adjust to return
13632 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13634 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13635 return false on error.
13636 (get_agent_info): Adjust to return NULL on error.
13637 (destroy_hsa_program): Change return type to bool, adjust to
13638 return false on error.
13639 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13640 (destroy_module): Change return type to bool, adjust to
13641 return false on error.
13642 (GOMP_OFFLOAD_unload_image): Likewise.
13643 (GOMP_OFFLOAD_fini_device): Likewise.
13644 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13645 (GOMP_OFFLOAD_free): Change to return false when called.
13646 (GOMP_OFFLOAD_dev2host): Likewise.
13647 (GOMP_OFFLOAD_host2dev): Likewise.
13648 (GOMP_OFFLOAD_dev2dev): Likewise.
13650 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13651 (CUDA_CALL): Likewise.
13652 (CUDA_CALL_ASSERT): Likewise.
13653 (map_init): Change return type to bool, use CUDA_CALL* macros.
13654 (map_fini): Likewise.
13655 (init_streams_for_device): Change return type to bool, adjust
13657 (fini_streams_for_device): Change return type to bool, adjust
13659 (select_stream_for_async): Release stream_lock before calls to
13660 GOMP_PLUGIN_fatal, adjust call to map_init.
13661 (nvptx_init): Use CUDA_CALL* macros.
13662 (nvptx_attach_host_thread_to_device): Change return type to bool,
13663 use CUDA_CALL* macros.
13664 (nvptx_open_device): Use CUDA_CALL* macros.
13665 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13667 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13668 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13669 (nvptx_exec): Use CUDA_CALL* macros.
13670 (nvptx_alloc): Use CUDA_CALL* macros.
13671 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13672 (nvptx_host2dev): Likewise.
13673 (nvptx_dev2host): Likewise.
13674 (nvptx_wait): Use CUDA_CALL* macros.
13675 (nvptx_wait_async): Likewise.
13676 (nvptx_wait_all): Likewise.
13677 (nvptx_wait_all_async): Likewise.
13678 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13679 use CUDA_CALL* macros, adjust call to map_fini.
13680 (GOMP_OFFLOAD_init_device): Change return type to bool,
13681 adjust code accordingly.
13682 (GOMP_OFFLOAD_fini_device): Likewise.
13683 (GOMP_OFFLOAD_load_image): Adjust calls to
13684 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13685 use CUDA_CALL* macros.
13686 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13688 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13689 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13690 handle error return.
13691 (GOMP_OFFLOAD_dev2host): Likewise.
13692 (GOMP_OFFLOAD_host2dev): Likewise.
13693 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13694 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13696 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13698 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13699 (acc_free): Likewise.
13700 (acc_memcpy_to_device): Likewise.
13701 (acc_memcpy_from_device): Likewise.
13702 (acc_deviceptr): Likewise.
13703 (acc_hostptr): Likewise.
13704 (acc_is_present): Likewise.
13705 (acc_map_data): Likewise.
13706 (acc_unmap_data): Likewise.
13707 (present_create_copy): Likewise.
13708 (delete_copyout): Likewise.
13709 (update_dev_host): Likewise.
13710 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13711 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13712 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13713 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13714 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13715 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13716 it only runs on nvptx targets.
13717 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13718 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13719 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13720 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13721 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13722 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13723 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13724 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13725 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13726 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13727 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13728 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13729 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13730 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13731 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13732 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13733 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13734 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13735 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13736 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13737 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13738 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13739 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13741 2016-05-23 Martin Jambor <mjambor@suse.cz>
13743 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13745 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13747 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13748 to gomp_init_targets_once.
13749 (acc_set_device_type): Remove !cached_base_dev condition on call to
13750 gomp_init_targets_once, move call to before acc_device_lock acquire,
13752 (acc_get_device_num): Remove !cached_base_dev condition on call to
13753 gomp_init_targets_once.
13754 (acc_set_device_num): Likewise.
13756 2016-05-16 Martin Jambor <mjambor@suse.cz>
13758 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
13760 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13762 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13763 expected partitioning.
13765 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13767 PR middle-end/70626
13768 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13769 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13770 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13772 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
13774 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13777 2016-04-19 Jakub Jelinek <jakub@redhat.com>
13779 PR middle-end/70680
13780 * testsuite/libgomp.c/pr70680-1.c: New test.
13781 * testsuite/libgomp.c/pr70680-2.c: New test.
13783 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13785 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13786 pass parameter variables to subroutines.
13788 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13790 PR middle-end/70643
13791 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13793 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13796 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13797 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13799 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13801 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13802 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13803 GOACC_declare prototype.
13805 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13806 Merge this file, and...
13807 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13808 ... this file, and...
13809 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13810 ... this file, and...
13811 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13812 ... this file, and...
13813 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13814 ... this file, and...
13815 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13816 ... this file, and...
13817 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13818 ... this file, and...
13819 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13820 ... this file, and...
13821 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13822 ... this file, and...
13823 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13824 ... this file, and...
13825 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13826 ... this file, and...
13827 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13828 ... this file, and...
13829 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13830 ... this file into...
13831 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13834 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13835 Make failure observable.
13837 2016-04-12 Jakub Jelinek <jakub@redhat.com>
13839 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13841 * target.c (gomp_target_fallback_firstprivate,
13842 gomp_target_unshare_firstprivate): Removed.
13843 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13844 before waiting for dependencies.
13845 (gomp_target_task_fn): Don't copy firstprivate vars here.
13846 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13847 firstprivate_copies here.
13848 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13849 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13850 explicit/implicit firstprivate.
13852 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13856 PR tree-optimization/70373
13857 PR middle-end/70533
13858 PR middle-end/70534
13859 PR middle-end/70535
13860 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13862 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13864 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13866 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13868 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13870 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13872 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13874 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13876 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13878 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13879 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13880 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13881 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13883 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13885 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13887 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13889 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13891 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13892 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13893 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13894 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13895 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13896 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13898 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13899 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13900 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13901 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13902 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13903 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13904 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13905 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13906 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13907 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13908 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13909 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13910 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13911 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13912 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13914 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13915 James Norris <jnorris@codesourcery.com>
13916 Nathan Sidwell <nathan@codesourcery.com>
13917 Julian Brown <julian@codesourcery.com>
13918 Cesar Philippidis <cesar@codesourcery.com>
13919 Chung-Lin Tang <cltang@codesourcery.com>
13920 Tom de Vries <tom@codesourcery.com>
13922 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13923 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13924 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13925 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13926 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13927 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13928 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13929 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13930 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13932 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13934 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13936 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13937 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13938 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13939 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13941 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13943 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13944 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13945 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13946 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13947 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13948 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13949 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13950 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13951 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13952 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13954 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13955 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13956 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13958 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13960 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13962 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13964 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13966 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13967 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13968 ... this new file. Update.
13969 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13970 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13971 ... this new file. Update.
13972 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13973 file. Incorporate...
13974 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13976 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13978 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13980 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13982 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13984 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13985 set-torture-options.
13987 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13989 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13991 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13992 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13993 -fno-builtin-acc_on_device instead of -O0.
13994 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13996 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13997 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13999 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
14000 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
14001 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
14002 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
14003 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
14004 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
14005 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
14006 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
14007 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14008 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
14009 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
14010 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
14011 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
14012 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
14013 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
14014 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
14015 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
14016 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
14018 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
14020 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
14023 2016-03-24 Martin Liska <mliska@suse.cz>
14025 * plugin/plugin-hsa.c (packet_store_release): New function
14026 that is taken from the HSA runtime manual.
14027 (GOMP_OFFLOAD_run): Use the function.
14029 2016-03-23 Jakub Jelinek <jakub@redhat.com>
14032 * testsuite/libgomp.c++/pr70376.C: New test.
14034 2016-03-23 Tom de Vries <tom@codesourcery.com>
14036 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
14037 initialization of lresult and lvresult.
14038 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
14040 2016-03-23 James Norris <jnorris@codesourcery.com>
14041 Daichi Fukuoka <dc-fukuoka@sgi.com>
14044 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
14045 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
14046 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
14047 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
14049 2016-03-23 Martin Liska <mliska@suse.cz>
14052 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
14053 argument just in case a dispatched kernel uses that argument.
14055 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
14057 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
14058 -ftree-parallelize-loops/-fopenacc changes.
14059 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
14061 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
14063 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
14065 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
14067 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
14068 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
14070 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
14072 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
14073 always_ld_library_path the path to libgcc_s.
14075 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
14078 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
14080 2016-03-09 Tom de Vries <tom@codesourcery.com>
14082 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
14083 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
14084 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
14086 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
14087 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
14088 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
14089 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
14091 2016-03-07 Martin Jambor <mjambor@suse.cz>
14093 * testsuite/lib/libgomp.exp
14094 (check_effective_target_hsa_offloading_selected_nocache): New.
14095 (check_effective_target_hsa_offloading_selected): Likewise.
14096 * testsuite/libgomp.hsa.c/c.exp: Likewise.
14097 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
14098 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
14099 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
14100 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
14101 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
14102 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
14103 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
14104 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
14105 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
14106 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
14107 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
14108 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
14109 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
14110 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
14111 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
14112 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
14114 2016-03-07 Martin Jambor <mjambor@suse.cz>
14116 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
14117 non-shared memory accelerators.
14118 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
14119 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
14120 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
14121 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
14122 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
14123 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
14124 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
14125 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
14126 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
14128 2016-03-07 Martin Jambor <mjambor@suse.cz>
14130 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
14133 2016-03-02 Jakub Jelinek <jakub@redhat.com>
14136 * testsuite/libgomp.c++/pr69555-1.C: New test.
14137 * testsuite/libgomp.c++/pr69555-2.C: New test.
14139 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
14140 Martin Jambor <mjambor@suse.cz>
14142 * testsuite/lib/libgomp.exp
14143 (check_effective_target_offload_device_shared_as): New proc.
14144 * testsuite/libgomp.c++/declare_target-1.C: New test.
14146 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
14149 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
14151 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
14153 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
14154 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
14156 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
14157 -ftree-parallelize-loops/-fopenacc changes.
14158 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
14159 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
14161 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
14163 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
14165 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
14167 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
14169 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
14171 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
14173 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
14174 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
14176 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
14177 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
14179 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
14180 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
14183 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
14185 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
14187 2016-02-19 Jakub Jelinek <jakub@redhat.com>
14190 * testsuite/libgomp.c/pr69805.c: New test.
14192 2016-02-16 Tom de Vries <tom@codesourcery.com>
14195 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
14197 2016-02-09 Tom de Vries <tom@codesourcery.com>
14199 PR tree-optimization/69599
14200 * testsuite/libgomp.c/omp-nested-3.c: New test.
14201 * testsuite/libgomp.c/pr46032-2.c: New test.
14202 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
14203 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
14205 2016-02-09 Tom de Vries <tom@codesourcery.com>
14208 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
14210 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
14212 * testsuite/libgomp.c/target-31.c: Fix testcase.
14214 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
14216 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
14218 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
14219 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
14220 reduction and map clauses.
14221 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
14223 2016-02-02 James Norris <jnorris@codesourcery.com>
14225 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
14227 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
14229 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
14230 * oacc-parallel.c (GOACC_host_data): Remove function definition.
14232 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
14235 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
14237 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
14238 (hsa_kmt_lib): Set variables.
14239 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
14240 always_ld_library_path.
14241 * Makefile.in: Regenerate.
14242 * configure: Likewise.
14243 * testsuite/Makefile.in: Likewise.
14245 * plugin/configfrag.ac (offload_additional_options)
14246 (offload_additional_lib_paths): Don't amend for hsa offloading.
14247 * configure: Regenerate.
14249 * plugin/configfrag.ac: Don't configure for offloading target if
14250 we don't build the corresponding plugin.
14251 * configure: Regenerate.
14253 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
14255 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
14256 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
14258 2016-01-26 Tom de Vries <tom@codesourcery.com>
14260 PR tree-optimization/69110
14261 * testsuite/libgomp.c/pr69110.c: New test.
14263 2016-01-25 Richard Biener <rguenther@suse.de>
14266 * testsuite/libgomp.c++/pr69393.C: New testcase.
14268 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
14270 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
14271 function wasn't mapped to the device with non-shared memory.
14273 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
14275 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
14277 2016-01-19 Martin Jambor <mjambor@suse.cz>
14278 Martin Liska <mliska@suse.cz>
14280 * plugin/Makefrag.am: Add HSA plugin requirements.
14281 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
14282 (HSA_RUNTIME_LIB): Likewise.
14283 (HSA_RUNTIME_CPPFLAGS): Likewise.
14284 (HSA_RUNTIME_INCLUDE): New substitution.
14285 (HSA_RUNTIME_LIB): Likewise.
14286 (HSA_RUNTIME_LDFLAGS): Likewise.
14287 (hsa-runtime): New configure option.
14288 (hsa-runtime-include): Likewise.
14289 (hsa-runtime-lib): Likewise.
14290 (PLUGIN_HSA): New substitution variable.
14291 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
14293 (PLUGIN_HSA_CPPFLAGS): Likewise.
14294 (PLUGIN_HSA_LDFLAGS): Likewise.
14295 (PLUGIN_HSA_LIBS): Likewise.
14296 Check that we have access to HSA run-time.
14297 * libgomp-plugin.h (offload_target_type): New element
14298 OFFLOAD_TARGET_TYPE_HSA.
14299 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
14301 (bool gomp_create_target_task): Updated.
14302 (gomp_device_descr): Extra parameter of run_func and async_run_func,
14303 new field can_run_func.
14304 * libgomp_g.h (GOMP_target_ext): Update prototype.
14305 * oacc-host.c (host_run): Added a new parameter args.
14306 * target.c (calculate_firstprivate_requirements): New function.
14307 (copy_firstprivate_data): Likewise.
14308 (gomp_target_fallback_firstprivate): Use them.
14309 (gomp_target_unshare_firstprivate): New function.
14310 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
14312 (GOMP_target): Do host fallback for all shared memory devices. Do not
14313 pass any args to plugins.
14314 (GOMP_target_ext): Introduce device-specific argument parameter args.
14315 Allow host fallback if device shares memory. Do not remap data if
14316 device has shared memory.
14317 (gomp_target_task_fn): Likewise. Also treat shared memory devices
14318 like host fallback for mappings.
14319 (GOMP_target_data): Treat shared memory devices like host fallback.
14320 (GOMP_target_data_ext): Likewise.
14321 (GOMP_target_update): Likewise.
14322 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
14323 gomp_create_target_task.
14324 (GOMP_target_enter_exit_data): Likewise.
14325 (omp_target_alloc): Treat shared memory devices like host fallback.
14326 (omp_target_free): Likewise.
14327 (omp_target_is_present): Likewise.
14328 (omp_target_memcpy): Likewise.
14329 (omp_target_memcpy_rect): Likewise.
14330 (omp_target_associate_ptr): Likewise.
14331 (gomp_load_plugin_for_device): Also load can_run.
14332 * task.c (GOMP_PLUGIN_target_task_completion): Free
14333 firstprivate_copies.
14334 (gomp_create_target_task): Accept new argument args and store it to
14336 * plugin/plugin-hsa.c: New file.
14338 2016-01-18 Tom de Vries <tom@codesourcery.com>
14340 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
14341 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
14342 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
14343 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
14344 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
14345 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
14346 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
14347 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
14348 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
14349 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
14350 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
14352 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
14354 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
14355 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
14356 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
14357 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
14358 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
14359 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
14360 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
14361 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
14363 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
14365 2016-01-15 Jakub Jelinek <jakub@redhat.com>
14367 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
14369 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
14371 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
14373 2016-01-12 James Norris <jnorris@codesourcery.com>
14375 * libgomp.texi: Updates for OpenACC.
14377 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
14379 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
14381 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
14384 * testsuite/libgomp.fortran/pr66680.f90: New test.
14386 2016-01-07 Jakub Jelinek <jakub@redhat.com>
14388 PR middle-end/68960
14389 * testsuite/libgomp.c/pr68960.c: New test.
14391 2016-01-06 Nathan Sidwell <nathan@acm.org>
14393 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
14394 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
14396 2016-01-04 Jakub Jelinek <jakub@redhat.com>
14398 Update copyright years.
14400 * libgomp.texi: Bump @copying's copyright year.
14402 2015-12-31 Nathan Sidwell <nathan@acm.org>
14404 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
14405 dg-additional-options syntax.
14406 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
14407 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
14408 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
14409 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
14410 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
14411 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
14412 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
14413 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
14414 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
14415 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
14416 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
14417 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
14418 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
14419 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
14420 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
14421 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
14422 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
14423 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
14425 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
14427 * libgomp.h (REFCOUNT_LINK): Define.
14428 (struct splay_tree_key_s): Add link_key.
14429 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
14430 Replace target address of the pointer with target address of newly
14431 mapped object in the splay tree. Set link pointer on target to the
14432 device address of the mapped object.
14433 (gomp_unmap_vars): Restore target address of the pointer in the splay
14434 tree for REFCOUNT_LINK objects after unmapping.
14435 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
14436 declare target link" objects.
14437 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
14438 "omp declare target link" objects, which were mapped for the image.
14439 (gomp_exit_data): Restore target address of the pointer in the splay
14440 tree for REFCOUNT_LINK objects after unmapping.
14441 * testsuite/libgomp.c/target-link-1.c: New file.
14443 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
14445 * libgomp.h (gomp_device_state): New enum.
14446 (struct gomp_device_descr): Replace is_initialized with state.
14447 (gomp_fini_device): Remove declaration.
14448 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
14449 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
14450 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
14451 (acc_set_device_type): Use state instead of is_initialized.
14452 (acc_set_device_num): Likewise.
14453 * target.c (resolve_device): Use state instead of is_initialized.
14454 Do not initialize finalized device.
14455 (gomp_map_vars): Do nothing if device is finalized.
14456 (gomp_unmap_vars): Likewise.
14457 (gomp_update): Likewise.
14458 (GOMP_offload_register_ver): Use state instead of is_initialized.
14459 (GOMP_offload_unregister_ver): Likewise.
14460 (gomp_init_device): Likewise.
14461 (gomp_unload_device): Likewise.
14462 (gomp_fini_device): Remove.
14463 (gomp_get_target_fn_addr): Do nothing if device is finalized.
14464 (GOMP_target): Go to host fallback if device is finalized.
14465 (GOMP_target_ext): Likewise.
14466 (gomp_exit_data): Do nothing if device is finalized.
14467 (gomp_target_task_fn): Go to host fallback if device is finalized.
14468 (gomp_target_fini): New static function.
14469 (gomp_target_init): Use state instead of is_initialized.
14470 Call gomp_target_fini at exit.
14472 2015-12-09 Tom de Vries <tom@codesourcery.com>
14474 PR tree-optimization/68716
14475 * testsuite/libgomp.c/omp-nested-2.c: New test.
14477 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
14479 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
14480 target openacc_nvidia_accel_selected.
14481 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
14482 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
14483 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
14484 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
14486 2015-12-01 Julian Brown <julian@codesourcery.com>
14487 James Norris <James_Norris@mentor.com>
14489 * oacc-parallel.c (GOACC_host_data): New function.
14490 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
14491 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
14492 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
14493 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
14494 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
14495 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
14496 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
14498 2015-11-30 James Norris <jnorris@codesourcery.com>
14499 Cesar Philippidis <cesar@codesourcery.com>
14502 * libgomp.oacc-fortran/routine-5.f90: New test.
14503 * libgomp.oacc-fortran/routine-7.f90: New test.
14504 * libgomp.oacc-fortran/routine-9.f90: New test.
14506 2015-11-30 Tom de Vries <tom@codesourcery.com>
14508 PR tree-optimization/46032
14509 * testsuite/libgomp.c/pr46032.c: New test.
14511 2015-11-27 Jakub Jelinek <jakub@redhat.com>
14514 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
14515 (gomp_create_target_task): Call it before freeing
14516 GOMP_TARGET_TASK_DATA tasks.
14519 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
14520 in between case label and OpenMP standalone directives.
14521 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
14523 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
14525 * configure: Regenerate.
14527 2015-11-26 Jakub Jelinek <jakub@redhat.com>
14529 * testsuite/libgomp.c/target-35.c: New test.
14531 2015-11-22 James Norris <jnorris@codesourcery.com>
14532 Cesar Philippidis <cesar@codesourcery.com>
14534 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
14535 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
14536 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
14537 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
14538 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
14540 2015-11-20 Jakub Jelinek <jakub@redhat.com>
14542 PR middle-end/68221
14543 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
14544 * testsuite/libgomp.c/reduction-12.c: Likewise.
14545 * testsuite/libgomp.c++/reduction-11.C: Likewise.
14546 * testsuite/libgomp.c++/reduction-12.C: Likewise.
14548 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
14550 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
14551 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
14552 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
14553 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
14554 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14556 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14557 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14559 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
14561 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14562 worker & gang cases.
14563 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14565 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
14567 * config/nvptx/priority_queue.c: New file.
14569 2015-11-14 Jakub Jelinek <jakub@redhat.com>
14571 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14574 2015-11-14 Jakub Jelinek <jakub@redhat.com>
14575 Aldy Hernandez <aldyh@redhat.com>
14576 Ilya Verbin <ilya.verbin@intel.com>
14578 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14579 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14580 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14581 iterators or IV by chunk size.
14582 * parallel.c (gomp_resolve_num_threads): Don't assume that
14583 if thr->ts.team is non-NULL, then pool must be non-NULL.
14584 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14585 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14586 GOMP_PLUGIN_target_task_completion.
14587 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14588 * Makefile.in: Regenerate.
14589 * libgomp.h: Shuffle prototypes and forward definitions around so
14590 priority queues can be defined.
14591 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14592 (enum gomp_target_task_state): New enum.
14593 (struct gomp_target_task): Add state, tgt, task and team fields.
14594 (gomp_create_target_task): Change return type to bool, add
14596 (gomp_target_task_fn): Change return type to bool.
14597 (struct gomp_device_descr): Add async_run_func.
14598 (struct gomp_task): Remove children, next_child, prev_child,
14599 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14601 (struct gomp_taskgroup): Remove children.
14602 Add taskgroup_queue.
14603 (struct gomp_team): Change task_queue type to a priority queue.
14604 (splay_compare): Define inline.
14605 (priority_queue_offset): New.
14606 (priority_node_to_task): New.
14607 (task_to_priority_node): New.
14608 * oacc-mem.c: Do not include splay-tree.h.
14609 * priority_queue.c: New file.
14610 * priority_queue.h: New file.
14611 * splay-tree.c: Do not include splay-tree.h.
14612 (splay_tree_foreach_internal): New.
14613 (splay_tree_foreach): New.
14614 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14615 (splay_tree_callback): Define typedef.
14616 * target.c (splay_compare): Move to libgomp.h.
14617 (GOMP_target): Don't adjust *thr in any way around running offloaded
14619 (GOMP_target_ext): Likewise. Handle target nowait.
14620 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14621 return value from gomp_create_target_task, if false, fallthrough
14622 as if no dependencies exist.
14623 (gomp_target_task_fn): Change return type to bool, return true
14624 if the task should have another part scheduled later. Handle
14626 (gomp_load_plugin_for_device): Initialize async_run.
14627 * task.c (gomp_init_task): Initialize children_queue.
14628 (gomp_clear_parent_in_list): New.
14629 (gomp_clear_parent_in_tree): New.
14630 (gomp_clear_parent): Handle priorities.
14631 (GOMP_task): Likewise.
14632 (priority_queue_move_task_first,
14633 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14635 (gomp_create_target_task): Use priority queues. Change return type
14636 to bool, add state argument, return false if for async
14637 {{enter,exit} data,update} constructs no dependencies need to be
14638 waited for, handle target nowait. Set task->fn to NULL instead of
14639 gomp_target_task_fn.
14640 (verify_children_queue): Remove.
14641 (priority_list_upgrade_task): New.
14642 (priority_queue_upgrade_task): New.
14643 (verify_task_queue): Remove.
14644 (priority_list_downgrade_task): New.
14645 (priority_queue_downgrade_task): New.
14646 (gomp_task_run_pre): Use priority queues.
14647 Abstract code out to priority_queue_downgrade_task.
14648 (gomp_task_run_post_handle_dependers): Use priority queues.
14649 (gomp_task_run_post_remove_parent): Likewise.
14650 (gomp_task_run_post_remove_taskgroup): Likewise.
14651 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
14653 (GOMP_taskwait): Likewise.
14654 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
14655 priority-queue_upgrade_task.
14656 (GOMP_taskgroup_start): Use priority queues.
14657 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
14658 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
14660 * taskloop.c (GOMP_taskloop): Handle priorities.
14661 * team.c (gomp_new_team): Call priority_queue_init.
14662 (free_team): Call priority_queue_free.
14663 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14664 team created for target nowait in implicit parallel region.
14665 (gomp_team_start): For nested check, test thr->ts.level instead of
14666 thr->ts.team != NULL.
14667 * testsuite/libgomp.c/doacross-3.c: New test.
14668 * testsuite/libgomp.c/ordered-5.c: New test.
14669 * testsuite/libgomp.c/priority.c: New test.
14670 * testsuite/libgomp.c/target-31.c: New test.
14671 * testsuite/libgomp.c/target-32.c: New test.
14672 * testsuite/libgomp.c/target-33.c: New test.
14673 * testsuite/libgomp.c/target-34.c: New test.
14675 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14677 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14679 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14680 loop is sequential.
14682 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14684 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14685 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14687 2015-11-12 James Norris <jnorris@codesourcery.com>
14688 Joseph Myers <joseph@codesourcery.com>
14690 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14691 * oacc-parallel.c (GOACC_declare): New function.
14692 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14693 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14694 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14695 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14696 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14698 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14700 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14702 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14704 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14705 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14707 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14709 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14710 inadvertent commit.
14712 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14714 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14715 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14716 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14717 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14718 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14720 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14722 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14723 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14725 2015-11-05 Jakub Jelinek <jakub@redhat.com>
14726 Ilya Verbin <ilya.verbin@intel.com>
14728 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14729 GOMP_loop_nonmonotonic_dynamic_start,
14730 GOMP_loop_nonmonotonic_guided_next,
14731 GOMP_loop_nonmonotonic_guided_start,
14732 GOMP_loop_ull_nonmonotonic_dynamic_next,
14733 GOMP_loop_ull_nonmonotonic_dynamic_start,
14734 GOMP_loop_ull_nonmonotonic_guided_next,
14735 GOMP_loop_ull_nonmonotonic_guided_start,
14736 GOMP_parallel_loop_nonmonotonic_dynamic,
14737 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14738 (GOMP_target_41): Renamed to ...
14739 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14741 (GOMP_target_data_41): Renamed to ...
14742 (GOMP_target_data_ext): ... this.
14743 (GOMP_target_update_41): Renamed to ...
14744 (GOMP_target_update_ext): ... this.
14745 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14746 GOMP_target_data_ext and GOMP_target_update_ext instead of
14747 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14748 Export GOMP_loop_nonmonotonic_dynamic_next,
14749 GOMP_loop_nonmonotonic_dynamic_start,
14750 GOMP_loop_nonmonotonic_guided_next,
14751 GOMP_loop_nonmonotonic_guided_start,
14752 GOMP_loop_ull_nonmonotonic_dynamic_next,
14753 GOMP_loop_ull_nonmonotonic_dynamic_start,
14754 GOMP_loop_ull_nonmonotonic_guided_next,
14755 GOMP_loop_ull_nonmonotonic_guided_start,
14756 GOMP_parallel_loop_nonmonotonic_dynamic and
14757 GOMP_parallel_loop_nonmonotonic_guided.
14758 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14759 GOMP_parallel_loop_nonmonotonic_guided,
14760 GOMP_loop_nonmonotonic_dynamic_start,
14761 GOMP_loop_nonmonotonic_guided_start,
14762 GOMP_loop_nonmonotonic_dynamic_next,
14763 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14764 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14765 GOMP_loop_ull_nonmonotonic_guided_start,
14766 GOMP_loop_ull_nonmonotonic_dynamic_next,
14767 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14768 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14770 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14771 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14772 Use gomp_map_val function.
14773 (gomp_target_fallback_firstprivate): New static function.
14774 (GOMP_target_41): Renamed to ...
14775 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14776 arguments. Move firstprivate fallback handling into a new
14778 (GOMP_target_data_41): Renamed to ...
14779 (GOMP_target_data_ext): ... this.
14780 (GOMP_target_update_41): Renamed to ...
14781 (GOMP_target_update_ext): ... this.
14782 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14783 gomp_map_0len_lookup instead of gomp_map_lookup.
14784 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14786 * testsuite/libgomp.c/target-28.c: Likewise.
14787 * testsuite/libgomp.c/monotonic-1.c: New test.
14788 * testsuite/libgomp.c/monotonic-2.c: New test.
14789 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14790 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14791 * testsuite/libgomp.c/pr66199-5.c: New test.
14792 * testsuite/libgomp.c/pr66199-6.c: New test.
14793 * testsuite/libgomp.c/pr66199-7.c: New test.
14794 * testsuite/libgomp.c/pr66199-8.c: New test.
14795 * testsuite/libgomp.c/pr66199-9.c: New test.
14796 * testsuite/libgomp.c/reduction-11.c: New test.
14797 * testsuite/libgomp.c/reduction-12.c: New test.
14798 * testsuite/libgomp.c/reduction-13.c: New test.
14799 * testsuite/libgomp.c/reduction-14.c: New test.
14800 * testsuite/libgomp.c/reduction-15.c: New test.
14801 * testsuite/libgomp.c/target-12.c (main): Adjust for
14802 omp_target_is_present change for one-past-last element.
14803 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14804 the same var is both mapped and privatized.
14805 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14806 handling of zero-length array sections.
14807 * testsuite/libgomp.c/target-28.c: New test.
14808 * testsuite/libgomp.c/target-29.c: New test.
14809 * testsuite/libgomp.c/target-30.c: New test.
14810 * testsuite/libgomp.c/target-teams-1.c: New test.
14811 * testsuite/libgomp.c++/member-6.C: New test.
14812 * testsuite/libgomp.c++/member-7.C: New test.
14813 * testsuite/libgomp.c++/monotonic-1.C: New test.
14814 * testsuite/libgomp.c++/monotonic-2.C: New test.
14815 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14816 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14817 * testsuite/libgomp.c++/pr66199-3.C: New test.
14818 * testsuite/libgomp.c++/pr66199-4.C: New test.
14819 * testsuite/libgomp.c++/pr66199-5.C: New test.
14820 * testsuite/libgomp.c++/pr66199-6.C: New test.
14821 * testsuite/libgomp.c++/pr66199-7.C: New test.
14822 * testsuite/libgomp.c++/pr66199-8.C: New test.
14823 * testsuite/libgomp.c++/pr66199-9.C: New test.
14824 * testsuite/libgomp.c++/reduction-11.C: New test.
14825 * testsuite/libgomp.c++/reduction-12.C: New test.
14826 * testsuite/libgomp.c++/target-13.C: New test.
14827 * testsuite/libgomp.c++/target-14.C: New test.
14828 * testsuite/libgomp.c++/target-15.C: New test.
14829 * testsuite/libgomp.c++/target-16.C: New test.
14830 * testsuite/libgomp.c++/target-17.C: New test.
14831 * testsuite/libgomp.c++/target-18.C: New test.
14832 * testsuite/libgomp.c++/target-19.C: New test.
14834 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14836 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14837 and reduction copy.
14838 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14839 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14840 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14841 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14842 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14843 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14844 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14845 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14846 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14847 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14848 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14849 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14850 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14851 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14853 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14855 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14856 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14857 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14858 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14859 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14860 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14861 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14862 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14864 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14866 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14867 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14868 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14869 * oacc-host.c (host_openacc_exec): Likewise.
14870 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14872 2015-11-03 Julian Brown <julian@codesourcery.com>
14873 Thomas Schwinge <thomas@codesourcery.com>
14875 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14876 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14877 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14879 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14880 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14882 2015-11-03 James Norris <jnorris@codesourcery.com>
14884 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14886 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14888 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14889 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14890 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14891 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14892 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14894 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14896 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14898 (enum acc_async_t): Reformat.
14899 (acc_on_device): Declare compatible with builtin and provide C++
14901 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14903 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14904 Cesar Philippidis <cesar@codesourcery.com>
14906 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14907 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14908 ... this. Add a description of the test at the top of the file.
14909 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14910 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14911 ... this. Add a description of the test at the top of the file.
14913 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14915 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14916 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14917 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14918 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14919 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14920 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14922 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14924 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14927 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14930 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14932 2015-10-27 James Norris <jnorris@codesourcery.com>
14934 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14935 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14937 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14939 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14940 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14942 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14943 acc_device_nvidia usage.
14944 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14945 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14946 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14948 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14949 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14952 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14956 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14957 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14959 2015-10-23 Tom de Vries <tom@codesourcery.com>
14962 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14964 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14966 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14968 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14970 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14971 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14973 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14974 to 0 when mapnum is 0.
14976 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14978 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14979 Cast to int from int32_t.
14981 2015-10-13 Jakub Jelinek <jakub@redhat.com>
14982 Aldy Hernandez <aldyh@redhat.com>
14983 Ilya Verbin <ilya.verbin@intel.com>
14985 * config/linux/affinity.c (omp_get_place_num_procs,
14986 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14987 * config/linux/doacross.h: New file.
14988 * config/posix/affinity.c (omp_get_place_num_procs,
14989 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14990 * config/posix/doacross.h: New file.
14991 * env.c: Include gomp-constants.h.
14992 (struct gomp_task_icv): Rename run_sched_modifier to
14993 run_sched_chunk_size.
14994 (gomp_max_task_priority_var): New variable.
14995 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14996 (handle_omp_display_env): Change _OPENMP value from 201307 to
14997 201511. Print OMP_MAX_TASK_PRIORITY.
14998 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14999 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
15000 chunk_size and run_sched_modifier to run_sched_chunk_size.
15001 (omp_get_max_task_priority, omp_get_initial_device,
15002 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
15003 omp_get_partition_place_nums): New functions.
15004 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
15005 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
15007 (omp_get_num_places_, omp_get_place_num_procs_,
15008 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
15009 omp_get_place_proc_ids_8_, omp_get_place_num_,
15010 omp_get_partition_num_places_, omp_get_partition_place_nums_,
15011 omp_get_partition_place_nums_8_, omp_get_initial_device_,
15012 omp_get_max_task_priority_): New functions.
15013 * libgomp_g.h (GOMP_loop_doacross_static_start,
15014 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
15015 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
15016 GOMP_loop_ull_doacross_dynamic_start,
15017 GOMP_loop_ull_doacross_guided_start,
15018 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
15019 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
15020 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
15021 GOMP_target_data_41, GOMP_target_update_41,
15022 GOMP_target_enter_exit_data): New prototypes.
15023 (GOMP_task): Add prototype argument.
15024 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
15025 (struct gomp_doacross_work_share): New type.
15026 (struct gomp_work_share): Add doacross field.
15027 (struct gomp_task_icv): Rename run_sched_modifier to
15028 run_sched_chunk_size.
15029 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
15030 GOMP_TASK_UNDEFERRED. Add comments.
15031 (struct gomp_task_depend_entry): Add comments.
15032 (struct gomp_task): Likewise.
15033 (struct gomp_taskgroup): Likewise.
15034 (struct gomp_target_task): New type.
15035 (struct gomp_team): Add comment.
15036 (gomp_get_place_proc_ids_8, gomp_doacross_init,
15037 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
15038 gomp_create_target_task, gomp_target_task_fn): New prototypes.
15039 (struct target_var_desc): New type.
15040 (struct target_mem_desc): Adjust comment. Use struct
15041 target_var_desc instead of splay_tree_key for list.
15042 (REFCOUNT_INFINITY): Define.
15043 (struct splay_tree_key_s): Remove copy_from field.
15044 (struct gomp_device_descr): Add dev2dev_func field.
15045 (enum gomp_map_vars_kind): New enum.
15046 (gomp_map_vars): Add one argument.
15047 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
15048 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
15049 omp_get_place_num_procs, omp_get_place_num_procs_,
15050 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
15051 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
15052 omp_get_place_num_, omp_get_partition_num_places,
15053 omp_get_partition_num_places_, omp_get_partition_place_nums,
15054 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
15055 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
15056 omp_target_free, omp_target_is_present, omp_target_memcpy,
15057 omp_target_memcpy_rect, omp_target_associate_ptr and
15058 omp_target_disassociate_ptr.
15059 (GOMP_4.0.2): Renamed to ...
15060 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
15061 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
15062 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
15063 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
15064 GOMP_loop_doacross_static_start, GOMP_doacross_post,
15065 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
15066 GOMP_loop_ull_doacross_guided_start,
15067 GOMP_loop_ull_doacross_runtime_start,
15068 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
15069 GOMP_doacross_ull_wait.
15070 * libgomp.texi: Document omp_get_max_task_priority.
15071 Rename modifier argument to chunk_size for omp_set_schedule and
15072 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
15073 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
15074 to run_sched_chunk_size renaming.
15075 (GOMP_loop_ordered_runtime_start): Likewise.
15076 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
15077 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
15078 GOMP_parallel_loop_runtime_start): New functions.
15079 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
15080 to run_sched_chunk_size renaming.
15081 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
15082 GOMP_loop_doacross_guided_start): New functions or aliases.
15083 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
15084 run_sched_modifier to run_sched_chunk_size renaming.
15085 (GOMP_loop_ull_ordered_runtime_start): Likewise.
15086 (gomp_loop_ull_doacross_static_start,
15087 gomp_loop_ull_doacross_dynamic_start,
15088 gomp_loop_ull_doacross_guided_start,
15089 GOMP_loop_ull_doacross_runtime_start): New functions.
15090 (GOMP_loop_ull_doacross_static_start,
15091 GOMP_loop_ull_doacross_dynamic_start,
15092 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
15093 * oacc-mem.c (acc_map_data, present_create_copy,
15094 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
15096 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
15097 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
15098 instead of false to gomp_map_vars.
15099 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
15100 * omp.h.in (omp_lock_hint_t): New type.
15101 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
15102 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
15103 omp_get_place_num, omp_get_partition_num_places,
15104 omp_get_partition_place_nums, omp_get_initial_device,
15105 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
15106 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
15107 omp_target_associate_ptr, omp_target_disassociate_ptr): New
15109 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
15110 (omp_lock_hint_none, omp_lock_hint_uncontended,
15111 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
15112 omp_lock_hint_speculative): New parameters.
15113 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
15114 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
15115 omp_get_place_num, omp_get_partition_num_places,
15116 omp_get_partition_place_nums, omp_get_initial_device,
15117 omp_get_max_task_priority): New interfaces.
15118 (omp_set_schedule, omp_get_schedule): Rename modifier argument
15120 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
15121 (omp_lock_hint_none, omp_lock_hint_uncontended,
15122 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
15123 omp_lock_hint_speculative): New parameters.
15124 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
15125 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
15126 omp_get_place_num, omp_get_partition_num_places,
15127 omp_get_partition_place_nums, omp_get_initial_device,
15128 omp_get_max_task_priority): New functions and subroutines.
15129 * ordered.c: Include stdarg.h and string.h.
15130 (MAX_COLLAPSED_BITS): Define.
15131 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
15132 gomp_doacross_ull_init, GOMP_doacross_ull_post,
15133 GOMP_doacross_ull_wait): New functions.
15134 * target.c: Include errno.h.
15135 (resolve_device): If device is not initialized, call
15136 gomp_init_device on it.
15137 (gomp_map_lookup): New function.
15138 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
15139 Don't bump refcount if REFCOUNT_INFINITY. Handle
15140 GOMP_MAP_ALWAYS_TO_P.
15141 (get_kind): Rename is_openacc argument to short_mapkind.
15142 (gomp_map_pointer): Use gomp_map_lookup.
15143 (gomp_map_fields_existing): New function.
15144 (gomp_map_vars): Rename is_openacc argument to short_mapkind
15145 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
15146 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
15147 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
15148 Adjust for tgt->list changed type and copy_from living in there.
15149 (gomp_copy_from_async): Adjust for tgt->list changed type and
15150 copy_from living in there.
15151 (gomp_unmap_vars): Likewise.
15152 (gomp_update): Likewise. Rename is_openacc argument to
15153 short_mapkind. Don't fail if object is not mapped.
15154 (gomp_load_image_to_device): Initialize refcount to
15156 (gomp_target_fallback): New function.
15157 (gomp_get_target_fn_addr): Likewise.
15158 (GOMP_target): Adjust gomp_map_vars caller, use
15159 gomp_get_target_fn_addr and gomp_target_fallback.
15160 (GOMP_target_41): New function.
15161 (gomp_target_data_fallback): New function.
15162 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
15163 (GOMP_target_data_41): New function.
15164 (GOMP_target_update): Adjust gomp_update caller.
15165 (GOMP_target_update_41): New function.
15166 (gomp_exit_data, GOMP_target_enter_exit_data,
15167 gomp_target_task_fn, omp_target_alloc, omp_target_free,
15168 omp_target_is_present, omp_target_memcpy,
15169 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
15170 omp_target_associate_ptr, omp_target_disassociate_ptr,
15171 gomp_load_plugin_for_device): New functions.
15172 * task.c: Include gomp-constants.h. Include taskloop.c
15173 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
15174 (gomp_task_handle_depend): New function.
15175 (GOMP_task): Use it. Add priority argument. Use
15176 gomp-constant.h constants instead of hardcoded numbers.
15177 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
15178 (gomp_create_target_task): New function.
15179 (verify_children_queue, verify_taskgroup_queue,
15180 verify_task_queue): New functions.
15181 (gomp_task_run_pre): Call verify_*_queue functions.
15182 If an upcoming tied task is about to leave the sibling or
15183 taskgroup queues in an invalid state, adjust appropriately.
15184 Remove taskgroup argument. Add comments.
15185 (gomp_task_run_post_handle_dependers): Add comments.
15186 (gomp_task_run_post_remove_parent): Likewise.
15187 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
15188 (GOMP_taskwait): Likewise. Add comments.
15189 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
15190 problem such that the first non parent_depends_on task does not
15191 end up at the end of the children queue.
15192 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
15193 GOMP_TASK_UNDEFERRED.
15194 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
15195 * taskloop.c: New file.
15196 * testsuite/lib/libgomp.exp
15197 (check_effective_target_offload_device_nonshared_as): New proc.
15198 * testsuite/libgomp.c/affinity-2.c: New test.
15199 * testsuite/libgomp.c/doacross-1.c: New test.
15200 * testsuite/libgomp.c/doacross-2.c: New test.
15201 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
15202 Add map clause to target.
15203 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
15204 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
15205 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
15206 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
15207 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
15209 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
15210 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
15211 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
15212 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
15213 not defined. Use those where needed.
15214 * testsuite/libgomp.c/for-4.c: New test.
15215 * testsuite/libgomp.c/for-5.c: New test.
15216 * testsuite/libgomp.c/for-6.c: New test.
15217 * testsuite/libgomp.c/linear-1.c: New test.
15218 * testsuite/libgomp.c/ordered-4.c: New test.
15219 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
15220 only allowed on the loop iterator.
15221 * testsuite/libgomp.c/pr66199-3.c: New test.
15222 * testsuite/libgomp.c/pr66199-4.c: New test.
15223 * testsuite/libgomp.c/reduction-7.c: New test.
15224 * testsuite/libgomp.c/reduction-8.c: New test.
15225 * testsuite/libgomp.c/reduction-9.c: New test.
15226 * testsuite/libgomp.c/reduction-10.c: New test.
15227 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
15229 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
15230 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
15231 * testsuite/libgomp.c/target-11.c: New test.
15232 * testsuite/libgomp.c/target-12.c: New test.
15233 * testsuite/libgomp.c/target-13.c: New test.
15234 * testsuite/libgomp.c/target-14.c: New test.
15235 * testsuite/libgomp.c/target-15.c: New test.
15236 * testsuite/libgomp.c/target-16.c: New test.
15237 * testsuite/libgomp.c/target-17.c: New test.
15238 * testsuite/libgomp.c/target-18.c: New test.
15239 * testsuite/libgomp.c/target-19.c: New test.
15240 * testsuite/libgomp.c/target-20.c: New test.
15241 * testsuite/libgomp.c/target-21.c: New test.
15242 * testsuite/libgomp.c/target-22.c: New test.
15243 * testsuite/libgomp.c/target-23.c: New test.
15244 * testsuite/libgomp.c/target-24.c: New test.
15245 * testsuite/libgomp.c/target-25.c: New test.
15246 * testsuite/libgomp.c/target-26.c: New test.
15247 * testsuite/libgomp.c/target-27.c: New test.
15248 * testsuite/libgomp.c/taskloop-1.c: New test.
15249 * testsuite/libgomp.c/taskloop-2.c: New test.
15250 * testsuite/libgomp.c/taskloop-3.c: New test.
15251 * testsuite/libgomp.c/taskloop-4.c: New test.
15252 * testsuite/libgomp.c++/ctor-13.C: New test.
15253 * testsuite/libgomp.c++/doacross-1.C: New test.
15254 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
15255 Replace offload_device with offload_device_nonshared_as.
15256 * testsuite/libgomp.c++/for-12.C: New test.
15257 * testsuite/libgomp.c++/for-13.C: New test.
15258 * testsuite/libgomp.c++/for-14.C: New test.
15259 * testsuite/libgomp.c++/linear-1.C: New test.
15260 * testsuite/libgomp.c++/member-1.C: New test.
15261 * testsuite/libgomp.c++/member-2.C: New test.
15262 * testsuite/libgomp.c++/member-3.C: New test.
15263 * testsuite/libgomp.c++/member-4.C: New test.
15264 * testsuite/libgomp.c++/member-5.C: New test.
15265 * testsuite/libgomp.c++/ordered-1.C: New test.
15266 * testsuite/libgomp.c++/reduction-5.C: New test.
15267 * testsuite/libgomp.c++/reduction-6.C: New test.
15268 * testsuite/libgomp.c++/reduction-7.C: New test.
15269 * testsuite/libgomp.c++/reduction-8.C: New test.
15270 * testsuite/libgomp.c++/reduction-9.C: New test.
15271 * testsuite/libgomp.c++/reduction-10.C: New test.
15272 * testsuite/libgomp.c++/reference-1.C: New test.
15273 * testsuite/libgomp.c++/simd14.C: New test.
15274 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
15275 * testsuite/libgomp.c++/target-5.C: New test.
15276 * testsuite/libgomp.c++/target-6.C: New test.
15277 * testsuite/libgomp.c++/target-7.C: New test.
15278 * testsuite/libgomp.c++/target-8.C: New test.
15279 * testsuite/libgomp.c++/target-9.C: New test.
15280 * testsuite/libgomp.c++/target-10.C: New test.
15281 * testsuite/libgomp.c++/target-11.C: New test.
15282 * testsuite/libgomp.c++/target-12.C: New test.
15283 * testsuite/libgomp.c++/taskloop-1.C: New test.
15284 * testsuite/libgomp.c++/taskloop-2.C: New test.
15285 * testsuite/libgomp.c++/taskloop-3.C: New test.
15286 * testsuite/libgomp.c++/taskloop-4.C: New test.
15287 * testsuite/libgomp.c++/taskloop-5.C: New test.
15288 * testsuite/libgomp.c++/taskloop-6.C: New test.
15289 * testsuite/libgomp.c++/taskloop-7.C: New test.
15290 * testsuite/libgomp.c++/taskloop-8.C: New test.
15291 * testsuite/libgomp.c++/taskloop-9.C: New test.
15292 * testsuite/libgomp.fortran/affinity1.f90: New test.
15293 * testsuite/libgomp.fortran/affinity2.f90: New test.
15295 2015-10-13 Tom de Vries <tom@codesourcery.com>
15297 PR tree-optimization/67476
15298 * testsuite/libgomp.c/autopar-3.c: New test.
15299 * testsuite/libgomp.c/autopar-4.c: New test.
15300 * testsuite/libgomp.c/autopar-5.c: New test.
15301 * testsuite/libgomp.c/autopar-6.c: New test.
15302 * testsuite/libgomp.c/autopar-7.c: New test.
15303 * testsuite/libgomp.c/autopar-8.c: New test.
15305 2015-10-12 James Norris <jnorris@codesourcery.com>
15307 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
15310 2015-10-09 David Malcolm <dmalcolm@redhat.com>
15312 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
15313 using load_gcc_lib.
15315 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
15317 * oacc-ptx.h: Remove file, moving its content into...
15318 * config/nvptx/fortran.c: ... here...
15319 * config/nvptx/oacc-init.c: ..., here...
15320 * config/nvptx/oacc-parallel.c: ..., and here.
15321 * config/nvptx/openacc.f90: New file.
15322 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
15323 (link_ptx): Don't link in predefined bits of PTX code.
15325 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
15326 Bernd Schmidt <bernds@codesourcery.com>
15328 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
15329 (struct targ_ptx_obj): New.
15330 (nvptx_tdata): Move earlier, change data format.
15331 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
15333 (GOMP_OFFLOAD_load_image): Adjust.
15335 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
15337 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
15338 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
15339 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
15340 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
15341 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15342 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
15343 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
15344 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
15345 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
15346 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
15347 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15348 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15349 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15350 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15351 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15352 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15353 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15354 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15355 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15356 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15357 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15358 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15359 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15360 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15361 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15362 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15363 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15364 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15365 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15366 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15367 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15368 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15369 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15370 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15371 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15372 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15373 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15374 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15375 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15376 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15377 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15378 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15379 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15380 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15381 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15382 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15383 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15384 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15385 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15386 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15387 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15388 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15389 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15390 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15391 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
15392 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15393 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15394 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
15395 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
15396 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
15397 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
15398 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
15399 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15401 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
15403 * oacc-init.c (acc_on_device): Force optimization level.
15405 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
15407 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
15408 (cuda_errlist): Delete.
15409 (cuda_error): Reimplement.
15411 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
15413 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
15415 * libgomp.map (GOACC_parallel_keyed): New.
15416 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
15418 (GOACC_parallel_keyed): New interface. Lose geometry arguments
15419 and take keyed varargs list. Adjust call to exec_func.
15420 (GOACC_parallel): Force host fallback.
15421 * libgomp_g.h (GOACC_parallel): Remove.
15422 (GOACC_parallel_keyed): Declare.
15423 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
15424 (struct targ_gn_descriptor): Replace name field with launch field.
15425 (nvptx_exec): Lose separate geometry args, take array. Process
15426 dynamic dimensions and adjust.
15427 (struct nvptx_tdata): Replace fn_names field with fn_descs.
15428 (GOMP_OFFLOAD_load_image): Adjust for change in function table
15430 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
15432 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
15435 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
15438 * oacc-int.h (goacc_host_init): Add declaration.
15439 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
15440 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
15442 2015-09-08 Aditya Kumar <hiraditya@msn.com>
15443 Sebastian Pop <s.pop@samsung.com>
15445 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
15447 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
15448 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
15449 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
15450 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
15451 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
15453 2015-09-03 Jakub Jelinek <jakub@redhat.com>
15455 * configure.tgt: Add missing ;; in between nvptx and rtems
15458 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15460 * config/posix/pool.h (gomp_adjust_thread_attr): New.
15461 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
15462 (gomp_thread_pool_reservoir): Add priority member.
15463 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
15465 (parse_thread_pools): Likewise.
15466 * team.c (gomp_team_start): Call configuration provided
15467 gomp_adjust_thread_attr(). Destroy thread attributes if
15469 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
15471 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15473 * config/posix/pool.h: New.
15474 * config/rtems/pool.h: Likewise.
15475 * config/rtems/proc.c: Likewise.
15476 * libgomp.h (gomp_thread_destructor): Declare.
15477 * team.c: Include configuration provided "pool.h".
15478 (gomp_get_thread_pool): Define in configuration.
15479 (gomp_team_end): Call configuration defined
15480 gomp_release_thread_pool().
15482 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15484 * config/rtems/bar.c: New.
15485 * config/rtems/bar.h: Likewise.
15486 * config/rtems/mutex.c: Likewise.
15487 * config/rtems/mutex.h: Likewise.
15488 * config/rtems/sem.c: Likewise.
15489 * config/rtems/sem.h: Likewise.
15490 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
15491 <sys/lock.h> header file.
15492 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
15493 supported by Newlib.
15494 * configure: Regenerate.
15496 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15498 * team.c (gomp_new_thread_pool): Delete and move content to ...
15499 (gomp_get_thread_pool): ... new function. Allocate and
15500 initialize thread pool on demand.
15501 (get_last_team): Use gomp_get_thread_pool().
15502 (gomp_team_start): Delete thread pool initialization.
15504 2015-09-03 Tom de Vries <tom@codesourcery.com>
15506 PR tree-optimization/65637
15507 * testsuite/libgomp.c/autopar-2.c: New test.
15509 2015-08-29 Tom de Vries <tom@codesourcery.com>
15511 PR tree-optimization/46193
15512 * testsuite/libgomp.c/pr46193.c: New test.
15514 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
15517 * libgomp.map: Add 4.0.2 version.
15518 * target.c (offload_image_descr): Add version field.
15519 (gomp_load_image_to_device): Add version argument. Adjust plugin
15520 call. Improve load mismatch diagnostic.
15521 (gomp_unload_image_from_device): Add version argument. Adjust plugin
15523 (GOMP_offload_regster): Make stub function, move bulk to ...
15524 (GOMP_offload_register_ver): ... here. Process version argument.
15525 (GOMP_offload_unregister): Make stub function, move bulk to ...
15526 (GOMP_offload_unregister_ver): ... here. Process version argument.
15527 (gomp_init_device): Process version field.
15528 (gomp_unload_device): Process version field.
15529 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
15530 macros. Check plugin version.
15531 * libgomp.h (gomp_device_descr): Add version function field. Adjust
15532 loader and unloader types.
15533 * oacc-host.c: Include gomp-constants.h.
15534 (host_version): New.
15535 (host_load_image, host_unload_image): Adjust.
15536 (host_dispatch): Add host_version.
15537 * plugin/plugin-nvptx.c: Include gomp-constants.h.
15538 (GOMP_OFFLOAD_version): New.
15539 (GOMP_OFFLOAD_load_image): Add version arg and check it.
15540 (GOMP_OFFLOAD_unload_image): Likewise.
15541 * plugin/plugin-host.c: Include gomp-constants.h.
15542 (GOMP_OFFLOAD_version): New.
15543 (GOMP_OFFLOAD_load_image): Add version arg.
15544 (GOMP_OFFLOAD_unload_image): Likewise.
15546 2015-08-24 Tom de Vries <tom@codesourcery.com>
15548 PR tree-optimization/65468
15549 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
15551 2015-08-24 Tom de Vries <tom@codesourcery.com>
15553 PR tree-optimization/65468
15554 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15556 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
15560 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15561 (gomp_iter_guided_next): Idem.
15562 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15563 (gomp_iter_ull_guided_next): Idem.
15564 * config/linux/wait.h (do_spin): Idem.
15566 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15568 * libgomp-plugin.h (enum offload_target_type): Remove
15569 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15570 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15571 * openacc.h (enum acc_device_t): Likewise.
15572 * openacc_lib.h: Likewise.
15573 * oacc-init.c (name_of_acc_device_t): Don't handle it.
15574 (acc_on_device): Just use __builtin_acc_on_device.
15575 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15576 of acc_on_device builtin.
15577 * plugin/plugin-host.h: Remove file.
15578 * plugin/plugin-host.c: Likewise, but salvage some content into...
15579 * oacc-host.c: ... this file.
15580 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15581 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15582 * Makefile.in: Regenerate.
15583 * configure: Likewise.
15584 * testsuite/lib/libgomp.exp
15585 (check_effective_target_openacc_host_nonshm_selected): Remove.
15586 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15587 ACC_DEVICE_TYPE=host_nonshm.
15588 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15589 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15590 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15591 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15592 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15593 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15595 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15596 Jakub Jelinek <jakub@redhat.com>
15598 * config/nvptx/affinity.c: New file.
15599 * config/nvptx/alloc.c: Likewise.
15600 * config/nvptx/bar.c: Likewise.
15601 * config/nvptx/barrier.c: Likewise.
15602 * config/nvptx/critical.c: Likewise.
15603 * config/nvptx/env.c: Likewise.
15604 * config/nvptx/error.c: Likewise.
15605 * config/nvptx/fortran.c: Likewise.
15606 * config/nvptx/iter.c: Likewise.
15607 * config/nvptx/iter_ull.c: Likewise.
15608 * config/nvptx/libgomp-plugin.c: Likewise.
15609 * config/nvptx/lock.c: Likewise.
15610 * config/nvptx/loop.c: Likewise.
15611 * config/nvptx/loop_ull.c: Likewise.
15612 * config/nvptx/mutex.c: Likewise.
15613 * config/nvptx/oacc-async.c: Likewise.
15614 * config/nvptx/oacc-cuda.c: Likewise.
15615 * config/nvptx/oacc-host.c: Likewise.
15616 * config/nvptx/oacc-init.c: Likewise.
15617 * config/nvptx/oacc-mem.c: Likewise.
15618 * config/nvptx/oacc-parallel.c: Likewise.
15619 * config/nvptx/oacc-plugin.c: Likewise.
15620 * config/nvptx/omp-lock.h: Likewise.
15621 * config/nvptx/ordered.c: Likewise.
15622 * config/nvptx/parallel.c: Likewise.
15623 * config/nvptx/proc.c: Likewise.
15624 * config/nvptx/ptrlock.c: Likewise.
15625 * config/nvptx/sections.c: Likewise.
15626 * config/nvptx/sem.c: Likewise.
15627 * config/nvptx/single.c: Likewise.
15628 * config/nvptx/splay-tree.c: Likewise.
15629 * config/nvptx/target.c: Likewise.
15630 * config/nvptx/task.c: Likewise.
15631 * config/nvptx/team.c: Likewise.
15632 * config/nvptx/time.c: Likewise.
15633 * config/nvptx/work.c: Likewise.
15634 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15635 * configure: Regenerate.
15636 * configure.tgt (config_path): Set to "nvptx" for target
15639 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15641 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15643 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
15645 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15646 (cuda_errlist): Constify.
15647 (errmsg): Move into ...
15648 (cuda_error): ... here. Make smaller.
15649 (_XSTR, _STR): Delete.
15650 (cuda_synames): Delete.
15651 (verify_device_library): Delete.
15652 (nvptx_init): Don't call it.
15654 2015-07-28 Tom de Vries <tom@codesourcery.com>
15656 * testsuite/libgomp.c/uns-outer-4.c: New test.
15658 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15660 * testsuite/libgomp.c/pr66714.c: New test.
15662 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15665 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15666 (fib_ref): New function.
15667 (fib): Correct corner cases in the recursion.
15668 (main): Replace the non-simd loop with fib_ref call.
15669 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15671 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15672 for the last array element value. Replace the non-simd loop with
15673 fib_ref call. Remove redundant b_ref array. Remove the comparison
15674 of the last array element with according Fibonacci sequence element.
15675 (fib): Correct corner cases in the recursion.
15677 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15679 * target.c (gomp_offload_image_to_device): Rename to ...
15680 (gomp_load_image_to_device): ... here.
15681 (GOMP_offload_register): Adjust call.
15682 (gomp_init_device): Likewise.
15683 (gomp_unload_image_from_device): New. Broken out of ...
15684 (GOMP_offload_unregister): ... here. Call it.
15685 (gomp_unload_device): New.
15686 * libgomp.h (gomp_unload_device): Declare.
15687 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15690 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15692 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15694 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15696 (goacc_waits): Move !num_waits handling to ...
15697 (GOACC_wait): ... here, the only caller that might have zero waits.
15699 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15700 (struct ptx_image_data): Move earlier, add fns field.
15701 (struct ptx_device): Add images and image_lock fields.
15702 (ptx_images, ptx_image_lock): Delete.
15703 (nvptx_open_device): Initialize images and image_lock fields.
15704 (nvptx_close_device): Destroy image_lock.
15705 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15706 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15709 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15711 * target.c (GOMP_offload_register): Use int for device type arg.
15712 (GOMP_offload_unregister): Likewise.
15714 * target.c (struct_offload_image_descr): Constify host_table.
15715 (gomp_offload_image_to_device): Likewise.
15716 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15718 * libgomp.h (gomp_device_descr): Constify target data arguments.
15719 * target.c (struct offload_image_descr): Constify target_data.
15720 (gomp_offload_image_to_device): Likewise.
15721 (GOMP_offload_register): Likewise.
15722 (GOMP_offload_unregister): Likewise.
15723 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15724 GOMP_OFFLOAD_unload_image): Constify target data.
15725 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15726 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15728 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15730 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15731 Workaround driver library const error.
15732 (struct nvptx_tdata, nvptx_tdata_t): New.
15733 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15736 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15738 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15739 of EPS parameter from integer to real.
15740 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15741 type of EPS parameter from integer to real.
15743 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15745 * team.c (get_last_team): New.
15746 (gomp_new_team): Recycle last non-nested team if possible.
15747 (gomp_team_end): Move team work share list free lock destruction
15749 (free_team): ... here.
15751 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15753 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15754 and ref from int to double. Replaced their comparison with
15755 an inequality of their difference and EPS.
15756 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15757 comparison of pri and a reference number with an inequality of their
15758 difference and EPS.
15759 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15760 the comparison of sum and sum_ref with an inequality of their
15761 difference and EPS.
15762 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15763 the comparison of pri and a reference number with an inequality of
15764 their difference and EPS.
15766 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15768 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15769 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15770 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15771 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15772 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15773 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15774 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15775 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15776 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15777 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15778 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15779 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15780 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15782 (vec_mult): Likewise. Add #pragma omp taskwait.
15783 (main): Adjust caller.
15784 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15785 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15786 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15787 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15788 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15789 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15790 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15791 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15792 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15793 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15794 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15795 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15796 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15797 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15798 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15799 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15800 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15801 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15802 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15803 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15804 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15805 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15806 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15807 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15808 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15809 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15810 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15811 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15812 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15813 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15814 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15815 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15816 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15817 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15818 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15819 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15820 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15821 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15822 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15823 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15824 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15825 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15826 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15827 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15828 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15829 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15830 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15831 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15832 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15833 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15834 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15835 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15836 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15837 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15838 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15839 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15840 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15841 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15842 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15843 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15844 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15845 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15846 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15847 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15848 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15849 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15850 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15851 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15852 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15853 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15854 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15855 (vec_mult): Add !$omp taskwait.
15856 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15857 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15858 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15859 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15860 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15861 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15862 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15863 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15864 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15865 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15866 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15867 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15868 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15869 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15870 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15871 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15872 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15873 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15874 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15875 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15876 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15877 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15878 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15879 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15880 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15881 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15882 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15883 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15884 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15885 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15886 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15887 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15888 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15889 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15890 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15891 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15892 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15893 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15894 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15895 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15896 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15897 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15898 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15899 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15900 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15901 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15902 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15903 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15904 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15905 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15906 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15907 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15908 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15909 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15910 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15911 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15912 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15913 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15914 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15915 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15916 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15917 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15918 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15919 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15920 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15921 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15922 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15924 2015-07-10 Tom de Vries <tom@codesourcery.com>
15926 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15927 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15929 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15932 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15933 in a 64-bit configuration.
15934 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15935 offloading testing if no such device is available.
15936 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15937 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15939 2015-07-08 Tom de Vries <tom@codesourcery.com>
15941 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15943 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15945 2015-07-07 Tom de Vries <tom@codesourcery.com>
15947 PR tree-optimization/66642
15948 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15949 iteration count case.
15950 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15951 function, factor out of ...
15952 (main): ... here. Test low iteration count case.
15954 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15956 * libgomp.h (gomp_thread_pool): Comment last_team field.
15958 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
15960 * testsuite/libgomp.c++/pr66702-1.C: Require
15961 vect_simd_clones effective target.
15962 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15964 2015-06-30 Tom de Vries <tom@codesourcery.com>
15966 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15967 already set. Use DEFAULT_CFLAGS in dg-runtest.
15968 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15971 2015-06-30 Tom de Vries <tom@codesourcery.com>
15973 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15974 already set. Use DEFAULT_CFLAGS in dg-runtest.
15975 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15976 * testsuite/libgomp.c++/pr64824.C: Same.
15977 * testsuite/libgomp.c++/pr64868.C: Same.
15978 * testsuite/libgomp.c++/pr66199-1.C: Same.
15979 * testsuite/libgomp.c++/pr66199-2.C: Same.
15980 * testsuite/libgomp.c++/target-2.C: Same.
15981 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15982 -std=<standard> option.
15983 * testsuite/libgomp.c++/udr-11.C: Same.
15984 * testsuite/libgomp.c++/udr-12.C: Same.
15985 * testsuite/libgomp.c++/udr-13.C: Same.
15986 * testsuite/libgomp.c++/udr-14.C: Same.
15987 * testsuite/libgomp.c++/udr-15.C: Same.
15988 * testsuite/libgomp.c++/udr-16.C: Same.
15989 * testsuite/libgomp.c++/udr-17.C: Same.
15990 * testsuite/libgomp.c++/udr-18.C: Same.
15991 * testsuite/libgomp.c++/udr-19.C: Same.
15992 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15993 * testsuite/libgomp.c++/simd-1.C: Same.
15994 * testsuite/libgomp.c++/simd-2.C: Same.
15995 * testsuite/libgomp.c++/simd-3.C: Same.
15996 * testsuite/libgomp.c++/simd-4.C: Same.
15997 * testsuite/libgomp.c++/simd-5.C: Same.
15998 * testsuite/libgomp.c++/simd-6.C: Same.
15999 * testsuite/libgomp.c++/simd-7.C: Same.
16000 * testsuite/libgomp.c++/simd-8.C: Same.
16001 * testsuite/libgomp.c++/simd-9.C: Same.
16002 * testsuite/libgomp.c++/simd10.C: Same.
16003 * testsuite/libgomp.c++/simd11.C: Same.
16004 * testsuite/libgomp.c++/simd12.C: Same.
16005 * testsuite/libgomp.c++/simd13.C: Same.
16007 2015-06-30 Jakub Jelinek <jakub@redhat.com>
16009 PR middle-end/66702
16010 * testsuite/libgomp.c++/pr66702-1.C: New test.
16011 * testsuite/libgomp.c++/pr66702-2.C: New test.
16013 2015-06-30 Tom de Vries <tom@codesourcery.com>
16015 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
16016 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
16017 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
16018 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
16020 2015-06-30 Tom de Vries <tom@codesourcery.com>
16022 PR tree-optimization/66652
16023 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
16024 using restrict pointers.
16025 (main): Add arguments to calls to f.
16026 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
16028 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
16030 * configure.ac: Fix check for header <sys/sysctl.h>.
16031 * configure: Regenerate.
16032 * config.h.in: Likewise.
16034 2015-06-23 Tom de Vries <tom@codesourcery.com>
16036 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
16038 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
16040 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
16042 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
16046 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
16047 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16049 2015-06-15 Tom de Vries <tom@codesourcery.com>
16051 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
16052 dg-additional-options for any remaining options.
16053 * testsuite/libgomp.c/atomic-2.c: Same.
16054 * testsuite/libgomp.c/atomic-4.c: Same.
16055 * testsuite/libgomp.c/atomic-5.c: Same.
16056 * testsuite/libgomp.c/atomic-6.c: Same.
16057 * testsuite/libgomp.c/autopar-1.c: Same.
16058 * testsuite/libgomp.c/copyin-1.c: Same.
16059 * testsuite/libgomp.c/copyin-2.c: Same.
16060 * testsuite/libgomp.c/copyin-3.c: Same.
16061 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
16062 * testsuite/libgomp.c/nestedfn-5.c: Same.
16063 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
16064 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
16065 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
16066 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
16067 * testsuite/libgomp.c/pr32362-1.c: Same.
16068 * testsuite/libgomp.c/pr32362-2.c: Same.
16069 * testsuite/libgomp.c/pr32362-3.c: Same.
16070 * testsuite/libgomp.c/pr39591-1.c: Same.
16071 * testsuite/libgomp.c/pr39591-2.c: Same.
16072 * testsuite/libgomp.c/pr39591-3.c: Same.
16073 * testsuite/libgomp.c/pr58392.c: Same.
16074 * testsuite/libgomp.c/pr58756.c: Same.
16075 * testsuite/libgomp.c/simd-1.c: Same.
16076 * testsuite/libgomp.c/simd-10.c: Same.
16077 * testsuite/libgomp.c/simd-11.c: Same.
16078 * testsuite/libgomp.c/simd-12.c: Same.
16079 * testsuite/libgomp.c/simd-13.c: Same.
16080 * testsuite/libgomp.c/simd-14.c: Same.
16081 * testsuite/libgomp.c/simd-15.c: Same.
16082 * testsuite/libgomp.c/simd-2.c: Same.
16083 * testsuite/libgomp.c/simd-3.c: Same.
16084 * testsuite/libgomp.c/simd-4.c: Same.
16085 * testsuite/libgomp.c/simd-5.c: Same.
16086 * testsuite/libgomp.c/simd-6.c: Same.
16087 * testsuite/libgomp.c/simd-7.c: Same.
16088 * testsuite/libgomp.c/simd-8.c: Same.
16089 * testsuite/libgomp.c/simd-9.c: Same.
16091 2015-06-15 Tom de Vries <tom@codesourcery.com>
16093 * testsuite/libgomp.c/pr35625.c: Fix typo.
16095 2015-06-15 Tom de Vries <tom@codesourcery.com>
16097 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
16099 * testsuite/libgomp.c/atomic-3.c: Same.
16100 * testsuite/libgomp.c/debug-1.c: Same.
16101 * testsuite/libgomp.c/nqueens-1.c: Same.
16102 * testsuite/libgomp.c/pr26171.c: Same.
16103 * testsuite/libgomp.c/pr48591.c: Same.
16104 * testsuite/libgomp.c/pr64824.c: Same.
16105 * testsuite/libgomp.c/pr64868.c: Same.
16106 * testsuite/libgomp.c/pr66133.c: Same.
16107 * testsuite/libgomp.c/pr66199-1.c: Same.
16108 * testsuite/libgomp.c/pr66199-2.c: Same.
16109 * testsuite/libgomp.c/target-8.c: Same.
16111 2015-06-15 Tom de Vries <tom@codesourcery.com>
16113 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
16115 * testsuite/libgomp.c/for-1.c: Same.
16116 * testsuite/libgomp.c/for-2.c: Same.
16117 * testsuite/libgomp.c/for-3.c: Same.
16118 * testsuite/libgomp.c/pr35625.c: Same.
16119 * testsuite/libgomp.c/pr39154.c: Same.
16120 * testsuite/libgomp.c/simd-16.c: Same.
16121 * testsuite/libgomp.c/simd-17.c: Same.
16123 2015-06-13 Tom de Vries <tom@codesourcery.com>
16125 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
16127 2015-06-13 Tom de Vries <tom@codesourcery.com>
16129 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
16130 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
16131 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
16133 (main): Use N instead of hardcoded constants.
16135 2015-06-05 Tom de Vries <tom@codesourcery.com>
16137 merge from gomp4 branch:
16138 2015-05-28 Tom de Vries <tom@codesourcery.com>
16140 PR tree-optimization/65443
16141 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
16142 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
16143 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
16145 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
16147 * testsuite/libgomp.graphite/bounds.c: Adjust for
16148 cleanup-tree-dump removal.
16149 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
16150 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16151 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16152 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
16153 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16154 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16155 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16156 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16157 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16158 * testsuite/libgomp.graphite/pr41118.c: Likewise.
16160 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
16162 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
16163 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
16164 (futex_wake) [!__x86_64__]: Ditto.
16166 2015-05-28 Julian Brown <julian@codesourcery.com>
16168 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
16169 function comment. Only call gomp_fatal if new argument is true.
16170 (acc_dev_num_out_of_range): New function.
16171 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
16172 acc_dev_num_out_of_range as appropriate.
16173 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
16174 (acc_get_device_num, acc_set_device_num): Update calls to
16176 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
16179 2015-05-28 Julian Brown <julian@codesourcery.com>
16182 * oacc-init.c (plugin/plugin-host.h): Include.
16183 (acc_on_device): Check whether we're in an offloaded region for
16185 plugin. Don't use __builtin_acc_on_device.
16186 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
16187 nonshm_exec flag in thread-local data.
16188 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
16189 data for host_nonshm plugin.
16190 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
16191 for host_nonshm plugin.
16192 * plugin/plugin-host.h: New.
16194 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
16196 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
16198 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
16200 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
16202 (FUTEX_PRIVATE_FLAG): Remove L suffix.
16203 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
16206 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
16208 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
16210 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
16212 * target.c (gomp_map_pointer): New function abstracting out
16213 GOMP_MAP_POINTER handling.
16214 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
16215 gomp_map_pointer().
16217 2015-05-19 Jakub Jelinek <jakub@redhat.com>
16219 PR middle-end/66199
16220 * testsuite/libgomp.c/pr66199-1.c: New test.
16221 * testsuite/libgomp.c/pr66199-2.c: New test.
16222 * testsuite/libgomp.c++/pr66199-1.C: New test.
16223 * testsuite/libgomp.c++/pr66199-2.C: New test.
16224 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
16225 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
16227 2015-05-19 Julian Brown <julian@codesourcery.com>
16229 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
16232 2015-05-13 Jakub Jelinek <jakub@redhat.com>
16234 PR middle-end/66133
16235 * testsuite/libgomp.c/pr66133.c: New test.
16237 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
16239 * Makefile.in: Regenerated with automake-1.11.6.
16240 * aclocal.m4: Likewise.
16241 * config.h.in: Likewise.
16242 * configure: Likewise.
16243 * testsuite/Makefile.in: Likewise.
16245 2015-05-08 Jason Merrill <jason@redhat.com>
16247 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
16250 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
16252 2015-05-06 Julian Brown <julian@codesourcery.com>
16254 * oacc-init.c (acc_device_lock): Add explanatory comment.
16255 (resolve_device): Add comment about locking requirement.
16256 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
16257 gomp_init_device and gomp_fini_device calls.
16258 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
16259 (acc_get_device_num, acc_set_device_num): Add locking around
16260 resolve_device and gomp_init_device calls.
16262 2015-05-06 Julian Brown <julian@codesourcery.com>
16264 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
16265 goacc_thread_lock on error paths.
16266 * oacc-mem.c (lookup_host): Remove locking from function. Note
16267 locking requirement for caller in function comment.
16268 (lookup_dev): Likewise.
16269 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
16270 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
16271 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
16274 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
16278 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
16279 don't expect "0x" prefix for "%p" format specifier, don't expect
16280 "(nil)" for NULL pointer.
16281 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16282 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16283 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16284 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16285 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16286 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16287 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16288 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16289 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16290 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16291 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16292 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16293 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16294 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16295 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16296 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16297 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16298 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16299 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16300 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16301 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16302 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16303 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16304 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16305 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16306 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16307 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16308 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16309 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
16310 accurately specify what we're looking for.
16311 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16312 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16313 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16314 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16315 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16317 2015-04-30 James Norris <jnorris@codesourcery.com>
16320 * testsuite/lib/libgomp.exp
16321 (check_effective_target_openacc_host_selected)
16322 (check_effective_target_openacc_host_nonshm_selected): New
16324 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
16326 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16327 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16328 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16329 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16330 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16331 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16332 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16333 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16334 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16335 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16336 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16337 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16338 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16339 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16340 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16341 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16342 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16343 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16344 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16345 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16346 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16347 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16348 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16349 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16350 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16351 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16352 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16353 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16354 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16355 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16356 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16357 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16358 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16359 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16360 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16361 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16362 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16363 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16364 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16365 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16366 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16367 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16368 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16370 2015-04-08 Julian Brown <julian@codesourcery.com>
16372 * libgomp.h (target_mem_desc: Remove mem_map field.
16373 (acc_dispatch_t): Remove open_device_func, close_device_func,
16374 get_device_num_func, set_device_num_func, target_data members.
16375 Change create_thread_data_func argument to device number instead of
16377 * oacc-async.c (assert.h): Include.
16378 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
16379 (acc_wait_all, acc_wait_all_async): Use current host thread's
16380 active device, not base_dev.
16381 * oacc-cuda.c (acc_get_current_cuda_device)
16382 (acc_get_current_cuda_context, acc_get_cuda_stream)
16383 (acc_set_cuda_stream): Likewise.
16384 * oacc-host.c (host_dispatch): Don't set open_device_func,
16385 close_device_func, get_device_num_func or set_device_num_func.
16386 * oacc-init.c (base_dev, init_key): Remove.
16387 (cached_base_dev): New.
16388 (name_of_acc_device_t): New.
16389 (acc_init_1): Initialise default-numbered device, not zeroth.
16390 (acc_shutdown_1): Close all devices of a given type.
16391 (goacc_destroy_thread): Don't use base_dev.
16392 (lazy_open, lazy_init, lazy_init_and_open): Remove.
16393 (goacc_attach_host_thread_to_device): New.
16394 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
16395 (acc_get_num_devices): Don't use base_dev.
16396 (acc_set_device_type): Reimplement.
16397 (acc_get_device_type): Don't use base_dev.
16398 (acc_get_device_num): Tweak logic.
16399 (acc_set_device_num): Likewise.
16400 (acc_on_device): Use acc_get_device_type.
16401 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
16402 (goacc_lazy_initialize): Reimplement with acc_init and
16403 goacc_attach_host_thread_to_device.
16404 * oacc-int.h (goacc_thread): Add base_dev field.
16405 (base_dev): Remove extern declaration.
16406 (goacc_attach_host_thread_to_device): Add prototype.
16407 * oacc-mem.c (acc_malloc): Use current thread's device instead of
16409 (acc_free): Likewise.
16410 (acc_memcpy_to_device): Likewise.
16411 (acc_memcpy_from_device): Likewise.
16412 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
16413 goacc_lazy_initialize (throughout).
16414 (GOACC_parallel): Use tgt_offset to locate target functions.
16415 * target.c (gomp_map_vars): Don't set tgt->mem_map.
16416 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
16417 (gomp_load_plugin_for_device): Remove open_device, close_device,
16418 get_device_num, set_device_num openacc hook initialisation. Don't set
16419 openacc.target_data.
16420 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
16421 (GOMP_OFFLOAD_openacc_close_device)
16422 (GOMP_OFFLOAD_openacc_get_device_num)
16423 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
16424 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
16426 * plugin/plugin-nvptx.c (ptx_inited): Remove.
16427 (instantiated_devices, ptx_dev_lock): New.
16428 (struct ptx_image_data): New.
16429 (ptx_devices, ptx_images, ptx_image_lock): New.
16430 (fini_streams_for_device): Reorder cuStreamDestroy call.
16431 (nvptx_get_num_devices): Remove forward declaration.
16432 (nvptx_init): Change return type to bool.
16433 (nvptx_fini): Remove.
16434 (nvptx_attach_host_thread_to_device): New.
16435 (nvptx_open_device): Return struct ptx_device* instead of void*.
16436 (nvptx_close_device): Change argument type to struct ptx_device*,
16437 return type to void.
16438 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
16439 (kernel_target_data, kernel_host_table): Remove static globals.
16440 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
16441 (GOMP_OFFLOAD_init_device): Reimplement.
16442 (GOMP_OFFLOAD_fini_device): Likewise.
16443 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
16444 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
16445 (GOMP_OFFLOAD_host2dev): Use ORD argument.
16446 (GOMP_OFFLOAD_openacc_open_device)
16447 (GOMP_OFFLOAD_openacc_close_device)
16448 (GOMP_OFFLOAD_openacc_set_device_num)
16449 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
16450 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
16454 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
16456 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
16458 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
16459 * libgomp.h (struct gomp_memory_mapping): Remove.
16460 (struct target_mem_desc): Change type of mem_map from
16461 gomp_memory_mapping * to splay_tree_s *.
16462 (struct gomp_device_descr): Remove register_image_func, get_table_func.
16463 Add load_image_func, unload_image_func.
16464 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
16465 Remove offload_regions_registered.
16466 (gomp_init_tables): Remove.
16467 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16469 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
16470 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
16471 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
16472 offload_regions_registered.
16473 Initialize load_image_func, unload_image_func, mem_map.root.
16474 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
16475 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
16476 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
16477 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
16478 gomp_memory_mapping *. Use dev's lock and splay_tree.
16479 (lookup_dev): Use dev's lock.
16480 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
16481 (acc_is_present): Likewise.
16482 (acc_map_data): Likewise.
16483 (acc_unmap_data): Likewise. Use dev's lock.
16484 (present_create_copy): Likewise.
16485 (delete_copyout): Pass dev to lookup_host instead of mem_map.
16486 (update_dev_host): Likewise.
16487 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
16488 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
16489 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
16490 (GOMP_OFFLOAD_get_table): Remove
16491 (GOMP_OFFLOAD_load_image): New function.
16492 (GOMP_OFFLOAD_unload_image): New function.
16493 * target.c (register_lock): New mutex for offload image registration.
16494 (num_devices): Do not guard with PLUGIN_SUPPORT.
16495 (gomp_realloc_unlock): New static function.
16496 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
16498 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
16499 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
16500 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
16502 (gomp_unmap_vars): Likewise.
16503 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
16504 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
16505 (gomp_offload_image_to_device): New static function.
16506 (GOMP_offload_register): Add mutex lock.
16507 Call gomp_offload_image_to_device for all initialized devices.
16508 Replace gomp_realloc with gomp_realloc_unlock.
16509 (GOMP_offload_unregister): New function.
16510 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
16511 get_table_func from the plugin with calls to init_device_func and
16512 gomp_offload_image_to_device.
16513 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16515 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
16516 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
16517 (GOMP_target_data): Do not call gomp_init_tables.
16518 (GOMP_target_update): Likewise. Remove argument from gomp_update.
16519 (gomp_load_plugin_for_device): Replace register_image and get_table
16520 with load_image and unload_image in DLSYM ().
16521 (gomp_register_images_for_device): Remove function.
16522 (gomp_target_init): Do not initialize current_device.mem_map.*,
16523 current_device.offload_regions_registered.
16524 Remove call to gomp_register_images_for_device.
16525 Do not free offload_images and num_offload_images.
16527 2015-03-30 Jakub Jelinek <jakub@redhat.com>
16530 * testsuite/libgomp.fortran/pr65597.f90: New test.
16532 2015-03-27 Tom de Vries <tom@codesourcery.com>
16535 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
16536 (init, check): New function.
16537 (foo): Change return type to void.
16538 (main): Call init and check.
16540 2015-03-27 Tom de Vries <tom@codesourcery.com>
16543 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
16544 (foo): Use M for non-inner loops to scale down test-case.
16546 2015-03-25 Kai Tietz <ktietz@redhat.com>
16549 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
16550 (GOACC_data_start): Likewise.
16551 * target.c (gomp_map_vars): Likewise.
16553 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
16555 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16558 2015-03-19 Jakub Jelinek <jakub@redhat.com>
16560 * testsuite/libgomp.c/target-10.c: New test.
16561 * testsuite/libgomp.c++/target-4.C: New test.
16563 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
16565 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16566 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16568 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
16570 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16571 * configure.ac (*-*-rtems*): Assume Pthread is supported.
16572 (pthread.h): Check for this header file.
16573 * configure: Regenerate.
16575 2015-02-25 Tom de Vries <tom@codesourcery.com>
16577 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16578 (check_reduction_op, check_reduction_macro, max, min):
16580 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16582 (main): Use new functions.
16584 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
16586 * target.c (gomp_load_plugin_for_device): Use const char * instead of
16587 char * for variables holding dlerror return values.
16588 (DLSYM_OPT): Ditto.
16590 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16592 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16594 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16595 Cesar Philippidis <cesar@codesourcery.com>
16597 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16598 GOACC_ctaid, and GOACC_nctaid routines.
16600 2015-02-11 Jakub Jelinek <jakub@redhat.com>
16603 * testsuite/libgomp.c/atomic-18.c: New test.
16604 * testsuite/libgomp.c++/atomic-16.C: New test.
16606 2015-02-04 Jakub Jelinek <jakub@redhat.com>
16610 * testsuite/libgomp.c/pr64824.c: New test.
16611 * testsuite/libgomp.c/pr64868.c: New test.
16612 * testsuite/libgomp.c++/pr64824.C: New test.
16613 * testsuite/libgomp.c++/pr64868.C: New test.
16615 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
16618 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16619 Link with -lpthread.
16620 * config/aix/plugin-suffix.h: Delete.
16622 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
16625 * configure.tgt (*-*-aix*): Use config_path "aix posix".
16626 (*-*-darwin*): Use config_path "bsd darwin posix".
16627 (*-*-hpux*): Use config_path "hpux posix".
16628 * target.c: Add include of plugin-suffix.h and use
16629 SONAME_SUFFIX macro.
16630 * config/aix/plugin-suffix.h: New file.
16631 * config/darwin/plugin-suffix.h: New file.
16632 * config/hpux/plugin-suffix.h: New file.
16633 * config/posix/plugin-suffix.h: New file.
16635 2015-01-23 Jakub Jelinek <jakub@redhat.com>
16637 PR middle-end/64734
16638 * libgomp.c/pr64734.c: New test.
16640 2015-01-23 Tom de Vries <tom@codesourcery.com>
16643 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16645 2015-01-23 Tom de Vries <tom@codesourcery.com>
16648 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16651 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16654 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16655 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16656 formal parameter. Update all users.
16657 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16658 Document unused formal parameter.
16660 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16662 * oacc-parallel.c: Don't include <alloca.h>.
16663 (GOACC_parallel): Use gomp_alloca instead of alloca.
16665 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16667 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16669 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16670 James Norris <jnorris@codesourcery.com>
16671 Tom de Vries <tom@codesourcery.com>
16672 Julian Brown <julian@codesourcery.com>
16673 Cesar Philippidis <cesar@codesourcery.com>
16674 Nathan Sidwell <nathan@codesourcery.com>
16675 Tobias Burnus <burnus@net-b.de>
16677 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16678 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16679 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16680 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16681 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16682 Include $(top_srcdir)/plugin/Makefrag.am.
16683 (nodist_libsubinclude_HEADERS): Add openacc.h.
16684 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16685 openacc.f90, openacc.mod, openacc_kinds.mod.
16686 (omp_lib.mod): Generalize into...
16687 (%.mod): ... this new rule.
16688 (openacc_kinds.mod, openacc.mod): New rules.
16689 * plugin/configfrag.ac: New file.
16690 * configure.ac: Move plugin/offloading support into it. Include
16691 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16692 * plugin/Makefrag.am: New file.
16693 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16694 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16696 (libgomp-test-support.exp): New rule.
16697 (all-local): Depend on it.
16698 * Makefile.in: Regenerate.
16699 * testsuite/Makefile.in: Regenerate.
16700 * config.h.in: Likewise.
16701 * configure: Likewise.
16702 * configure.tgt: Harden shell syntax.
16703 * env.c: Include "oacc-int.h".
16704 (parse_acc_device_type): New function.
16705 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16707 (initialize_env): Initialize those. Call
16708 goacc_runtime_initialize.
16709 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16710 (gomp_fatal): Call gomp_vfatal.
16711 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16712 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16713 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16714 (splay_tree_node, splay_tree, splay_tree_key)
16715 (struct target_mem_desc, struct splay_tree_key_s)
16716 (struct gomp_memory_mapping, struct acc_dispatch_t)
16717 (struct gomp_device_descr, gomp_acc_insert_pointer)
16718 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16719 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16720 (gomp_free_memmap, gomp_fini_device): New declarations.
16721 (gomp_vdebug, gomp_debug): New macros.
16722 Include "splay-tree.h".
16723 * libgomp.map (OACC_2.0): New symbol version. Use for
16724 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16725 acc_set_device_type_h_, acc_get_device_type,
16726 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16727 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16728 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16729 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16730 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16731 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16732 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16733 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16734 acc_copyin_array_h_, acc_present_or_copyin,
16735 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16736 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16737 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16738 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16739 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16740 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16741 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16742 acc_update_device, acc_update_device_32_h_,
16743 acc_update_device_64_h_, acc_update_device_array_h_,
16744 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16745 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16746 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16747 acc_is_present_64_h_, acc_is_present_array_h_,
16748 acc_memcpy_to_device, acc_memcpy_from_device,
16749 acc_get_current_cuda_device, acc_get_current_cuda_context,
16750 acc_get_cuda_stream, acc_set_cuda_stream.
16751 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16752 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16753 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16754 GOACC_get_num_threads.
16755 (GOMP_PLUGIN_1.0): New symbol version. Use for
16756 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16757 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16758 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16759 GOMP_PLUGIN_acc_thread.
16760 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16761 environment variable.
16762 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16763 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16764 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16765 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16766 (splay_tree_remove): New declarations.
16767 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16768 (splay_tree_remove, splay_tree_lookup): Move into...
16769 * splay-tree.c: ... this new file.
16770 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16771 (splay_tree_node, splay_tree, splay_tree_key)
16772 (struct target_mem_desc, struct splay_tree_key_s)
16773 (struct gomp_device_descr): Don't declare.
16774 (num_devices_openmp): New variable.
16775 (gomp_get_num_devices ): Use it.
16776 (gomp_init_targets_once): New function.
16777 (gomp_get_num_devices ): Use it.
16778 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16779 (gomp_fini_device, gomp_register_image_for_device): New functions.
16780 (gomp_map_vars): Add devaddrs parameter.
16781 (gomp_update): Add mm parameter.
16782 (gomp_init_device): Move most of it into...
16783 (gomp_init_tables): ... this new function.
16784 (gomp_register_images_for_device): Remove function.
16785 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16786 Make them hidden instead of static.
16787 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16788 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16789 (GOMP_target_end_data, GOMP_target_update)
16790 (gomp_load_plugin_for_device, gomp_target_init): Update for
16792 * oacc-async.c: New file.
16793 * oacc-cuda.c: Likewise.
16794 * oacc-host.c: Likewise.
16795 * oacc-init.c: Likewise.
16796 * oacc-int.h: Likewise.
16797 * oacc-mem.c: Likewise.
16798 * oacc-parallel.c: Likewise.
16799 * oacc-plugin.c: Likewise.
16800 * oacc-plugin.h: Likewise.
16801 * oacc-ptx.h: Likewise.
16802 * openacc.f90: Likewise.
16803 * openacc.h: Likewise.
16804 * openacc_lib.h: Likewise.
16805 * plugin/plugin-host.c: Likewise.
16806 * plugin/plugin-nvptx.c: Likewise.
16807 * libgomp-plugin.c: Likewise.
16808 * libgomp-plugin.h: Likewise.
16809 * libgomp_target.h: Remove file after merging content into the
16810 former file. Update all users.
16811 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16812 (offload_targets_s, offload_targets_s_openacc): New variables.
16813 (check_effective_target_openacc_nvidia_accel_present)
16814 (check_effective_target_openacc_nvidia_accel_selected): New
16816 (libgomp_init): Update for OpenACC changes.
16817 * testsuite/libgomp-test-support.exp.in: New file.
16818 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16819 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16820 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16821 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16822 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16823 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16824 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16825 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16826 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16827 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16828 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16829 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16830 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16831 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16832 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16833 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16834 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16835 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16836 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16837 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16838 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16839 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16840 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16841 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16842 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16843 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16844 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16845 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16846 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16847 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16848 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16849 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16850 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16851 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16852 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16853 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16854 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16855 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16856 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16857 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16858 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16859 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16860 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16861 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16862 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16863 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16864 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16865 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16866 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16867 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16868 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16869 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16870 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16871 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16872 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16873 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16874 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16875 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16876 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16877 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16878 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16879 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16880 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16881 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16882 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16883 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16884 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16885 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16886 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16887 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16888 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16889 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16890 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16891 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16892 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16893 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16894 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16895 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16896 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16897 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16898 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16899 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16900 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16901 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16902 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16903 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16904 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16905 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16906 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16907 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16908 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16909 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16910 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16911 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16912 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16913 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16914 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16915 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16916 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16917 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16918 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16919 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16920 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16921 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16922 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16923 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16924 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16925 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16926 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16927 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16928 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16929 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16930 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16931 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16932 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16933 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16934 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16935 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16936 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16937 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16938 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16939 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16940 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16941 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16942 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16943 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16944 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16945 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16946 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16947 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16948 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16949 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16950 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16951 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16952 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16953 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16954 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16955 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16956 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16957 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16959 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16960 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16961 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16962 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16963 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16964 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16965 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16966 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16967 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16968 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16969 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16970 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16971 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16972 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16973 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16974 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16975 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16976 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16977 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16978 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16979 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16980 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16981 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16982 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16983 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16984 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16985 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16986 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16987 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16988 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16989 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16990 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16991 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16992 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16993 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16994 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16995 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16996 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16997 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16998 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16999 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
17000 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
17001 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
17002 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
17003 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
17004 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
17005 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
17006 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
17007 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
17008 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
17009 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
17010 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
17011 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
17012 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
17013 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
17014 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
17015 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
17016 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
17017 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
17018 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
17020 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
17021 Julian Brown <julian@codesourcery.com>
17022 David Malcolm <dmalcolm@redhat.com>
17024 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
17025 to "GNU Offloading and Multi Processing Runtime Library". Change
17027 * configure: Regenerate.
17028 * libgomp.texi: Update.
17030 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
17032 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
17034 * configure: Regenerate.
17036 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
17037 "intelmic" in $offload_targets.
17039 2015-01-05 Jakub Jelinek <jakub@redhat.com>
17041 Update copyright years.
17043 * libgomp.texi: Bump @copying's copyright year.
17045 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17047 * testsuite/lib/libgomp.exp: Load target-utils.exp.
17048 Move load of target-supports.exp earlier.
17050 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
17052 * testsuite/libgomp.c/target-9.c: New test.
17054 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
17056 * config.h.in: Regenerate.
17057 * configure: Regenerate.
17058 * configure.ac: Add GCC_CHECK_EMUTLS.
17059 * libgomp.h: Add check for USE_EMUTLS: this case
17060 is equal to HAVE_TLS.
17061 * team.c: Likewise.
17063 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
17065 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
17067 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
17068 Ilya Verbin <ilya.verbin@intel.com>
17070 * testsuite/libgomp.c/target-critical-1.c: New test.
17072 2014-11-26 Jakub Jelinek <jakub@redhat.com>
17074 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
17075 to dg-options unless expensive testing is on.
17076 (TESTITERS): Define to N if not defined.
17077 (main): Use TESTITERS instead of N.
17078 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
17079 dg-additional-options depending on whether expensive testing is on.
17080 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
17081 Decrease N to 100000 and CHUNKSZ to 10000.
17083 2014-11-24 Jakub Jelinek <jakub@redhat.com>
17086 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
17087 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
17089 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
17091 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
17093 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
17096 * configure: Regenerated.
17098 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
17100 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
17101 vect_simd_clones effective target.
17102 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
17104 2014-11-14 Jakub Jelinek <jakub@redhat.com>
17106 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
17107 of 32 as block_size.
17108 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
17109 instead of 32 as block_size.
17111 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
17112 Ilya Verbin <ilya.verbin@intel.com>
17114 * Makefile.in: Regenerate.
17115 * configure: Regenerate.
17116 * configure.ac: Set up offload_additional_options,
17117 offload_additional_lib_paths and offload_targets.
17118 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
17119 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
17120 * testsuite/Makefile.in: Regenerate.
17121 * testsuite/lib/libgomp.exp (libgomp_init): Append
17122 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
17123 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
17124 build directory to LD_LIBRARY_PATH for intelmic offload targets.
17126 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
17127 Ilya Verbin <ilya.verbin@intel.com>
17128 Kirill Yukhin <kirill.yukhin@intel.com>
17129 Ilya Tocar <ilya.tocar@intel.com>
17131 * testsuite/lib/libgomp.exp
17132 (check_effective_target_offload_device): New.
17133 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
17134 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
17135 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
17136 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
17137 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
17138 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
17139 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
17140 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
17141 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
17142 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
17143 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
17144 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
17145 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
17146 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
17147 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
17148 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
17149 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
17150 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
17151 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
17152 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
17153 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
17154 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
17155 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
17156 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
17157 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
17158 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
17159 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
17160 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
17161 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
17162 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
17163 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
17164 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
17165 * testsuite/libgomp.c/target-7.c: Fix test.
17166 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
17167 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
17168 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
17169 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
17170 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
17171 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
17172 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
17173 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
17174 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
17175 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
17176 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
17177 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
17178 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
17179 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
17180 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
17181 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
17182 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
17183 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
17184 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
17185 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
17186 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
17187 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
17188 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
17189 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
17190 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
17191 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
17192 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
17193 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
17194 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
17195 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
17196 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
17198 2014-11-13 Jakub Jelinek <jakub@redhat.com>
17199 Ilya Verbin <ilya.verbin@intel.com>
17200 Thomas Schwinge <thomas@codesourcery.com>
17201 Andrey Turetskiy <andrey.turetskiy@intel.com>
17203 * libgomp.map (GOMP_4.0.1): New symbol version.
17204 Add GOMP_offload_register.
17205 * libgomp_target.h: New file.
17206 * splay-tree.h: New file.
17207 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
17208 (gomp_target_init): New forward declaration.
17209 (gomp_is_initialized): New static variable.
17210 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
17211 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
17213 (offload_images, num_offload_images, devices, num_devices): New static
17215 (splay_compare): New static function.
17216 (struct gomp_device_descr): New structure.
17217 (gomp_get_num_devices): Call gomp_target_init.
17218 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
17219 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
17220 (GOMP_offload_register): New function.
17221 (GOMP_target): Arrange for host callback to be performed in a separate
17222 initial thread and contention group, inheriting ICVs from
17223 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
17224 Add device initialization and lookup for target function in splay tree.
17225 (GOMP_target_data): Add device initialization and call gomp_map_vars.
17226 (GOMP_target_end_data): Call gomp_unmap_vars.
17227 (GOMP_target_update): Add device initialization and call gomp_update.
17228 (gomp_load_plugin_for_device, gomp_register_images_for_device)
17229 (gomp_target_init): New static functions.
17231 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
17232 Thomas Schwinge <thomas@codesourcery.com>
17233 Ilya Verbin <ilya.verbin@intel.com>
17234 Andrey Turetskiy <andrey.turetskiy@intel.com>
17236 * config.h.in: Regenerate.
17237 * configure: Regenerate.
17238 * configure.ac: Check for libdl, required for plugin support.
17239 (PLUGIN_SUPPORT): Define if plugins are supported.
17240 (enable_offload_targets): Support Intel MIC targets.
17241 (OFFLOAD_TARGETS): List of target names suitable for offloading.
17243 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
17246 * configure: Regenerate.
17248 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17250 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
17252 2014-10-06 Marek Polacek <polacek@redhat.com>
17254 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
17255 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
17256 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
17257 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
17259 2014-10-06 Marek Polacek <polacek@redhat.com>
17261 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
17262 * testsuite/libgomp.c/nqueens-1.c: Likewise.
17263 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17264 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17265 * testsuite/libgomp.c/pr36802-2.c: Likewise.
17266 * testsuite/libgomp.c/pr36802-3.c: Likewise.
17267 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
17268 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
17269 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
17270 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
17271 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
17272 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
17273 * testsuite/libgomp.c/omp-single-1.c: Likewise.
17274 * testsuite/libgomp.c/omp-single-2.c: Likewise.
17275 * testsuite/libgomp.c/omp_matvec.c: Likewise.
17276 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
17277 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
17278 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
17281 2014-10-03 Jakub Jelinek <jakub@redhat.com>
17284 * testsuite/libgomp.c/pr61200.c: New test.
17286 2014-09-18 Jakub Jelinek <jakub@redhat.com>
17289 * testsuite/libgomp.c++/pr63248.C: New test.
17291 2014-08-04 Jakub Jelinek <jakub@redhat.com>
17293 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
17294 is not zero, but taskgroup->children is NULL and there are
17295 any task->children, schedule those instead of waiting.
17296 * testsuite/libgomp.c/depend-6.c: New test.
17297 * testsuite/libgomp.c/depend-7.c: New test.
17298 * testsuite/libgomp.c/depend-8.c: New test.
17299 * testsuite/libgomp.c/depend-9.c: New test.
17300 * testsuite/libgomp.c/depend-10.c: New test.
17302 2014-08-01 Jakub Jelinek <jakub@redhat.com>
17304 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
17305 (struct gomp_taskwait): New type.
17306 (struct gomp_task): Add taskwait and parent_depends_on, remove
17307 in_taskwait and taskwait_sem fields.
17308 (gomp_finish_task): Don't destroy taskwait_sem.
17309 * task.c (gomp_init_task): Don't init in_taskwait, instead init
17310 taskwait and parent_depends_on.
17311 (GOMP_task): For if (0) tasks with depend clause that depend on
17312 earlier tasks don't defer them, instead call
17313 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
17314 Initialize redundant_out field, for redundant out entries just
17315 move them at the end of linked list instead of removing them
17316 completely, and set redundant_out flag instead of redundant.
17317 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
17319 (gomp_task_run_post_handle_dependers): If parent is in
17320 gomp_task_maybe_wait_for_dependencies and newly runnable task
17321 is not parent_depends_on, queue it in parent->children linked
17322 list after all runnable tasks with parent_depends_on set.
17323 Adjust for addition of taskwait indirection.
17324 (gomp_task_run_post_remove_parent): If parent is in
17325 gomp_task_maybe_wait_for_dependencies and task to be removed
17326 is parent_depends_on, decrement n_depend and if needed awake
17327 parent. Adjust for addition of taskwait indirection.
17328 (GOMP_taskwait): Adjust for addition of taskwait indirection.
17329 (gomp_task_maybe_wait_for_dependencies): New function.
17330 * testsuite/libgomp.c/depend-5.c: New test.
17332 2014-07-13 Tobias Burnus <burnus@net-b.de>
17334 * testsuite/libgomp.fortran/pr34020.f90: Make compile
17335 with TS 18508/Fortran 2015.
17337 2014-07-06 Marek Polacek <polacek@redhat.com>
17340 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
17342 2014-07-03 Jakub Jelinek <jakub@redhat.com>
17344 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
17345 matches regex $lang_source_re, add $lang_include_flags to options.
17346 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
17347 * testsuite/libgomp.c++/c++.exp: Likewise.
17348 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
17349 and lang_include_flags instead of adding -fintrinsic-modules-path= to
17351 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
17353 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
17355 * testsuite/libgomp.fortran/fortran.exp: Explain
17356 gfortran-dg-runtest usage.
17358 2014-06-25 Jakub Jelinek <jakub@redhat.com>
17360 * testsuite/libgomp.fortran/simd5.f90: New test.
17361 * testsuite/libgomp.fortran/simd6.f90: New test.
17362 * testsuite/libgomp.fortran/simd7.f90: New test.
17364 2014-06-24 Jakub Jelinek <jakub@redhat.com>
17366 * testsuite/libgomp.c/for-2.c: Define SC to static for
17367 #pragma omp for simd testing.
17368 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
17369 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
17371 * testsuite/libgomp.c/simd-14.c: New test.
17372 * testsuite/libgomp.c/simd-15.c: New test.
17373 * testsuite/libgomp.c/simd-16.c: New test.
17374 * testsuite/libgomp.c/simd-17.c: New test.
17375 * testsuite/libgomp.c++/for-10.C: Define SC to static for
17376 #pragma omp for simd testing.
17377 * testsuite/libgomp.c++/simd10.C: New test.
17378 * testsuite/libgomp.c++/simd11.C: New test.
17379 * testsuite/libgomp.c++/simd12.C: New test.
17380 * testsuite/libgomp.c++/simd13.C: New test.
17382 * testsuite/libgomp.fortran/aligned1.f03: New test.
17383 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
17384 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
17385 tasks with !$omp parallel !$omp single.
17386 * testsuite/libgomp.fortran/target8.f90: New test.
17387 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
17388 not to use trim in the combiner, instead call elemental function.
17389 (fn): New elemental function.
17390 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
17392 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
17394 * testsuite/libgomp.fortran/udr12.f90: New test.
17395 * testsuite/libgomp.fortran/udr13.f90: New test.
17396 * testsuite/libgomp.fortran/udr14.f90: New test.
17397 * testsuite/libgomp.fortran/udr15.f90: New test.
17399 2014-06-18 Jakub Jelinek <jakub@redhat.com>
17401 * omp_lib.f90.in (openmp_version): Set to 201307.
17402 * omp_lib.h.in (openmp_version): Likewise.
17403 * testsuite/libgomp.c/target-8.c: New test.
17404 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
17405 and inbranch clauses.
17406 * testsuite/libgomp.fortran/depend-3.f90: New test.
17407 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
17409 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17410 * testsuite/libgomp.fortran/target1.f90: New test.
17411 * testsuite/libgomp.fortran/target2.f90: New test.
17412 * testsuite/libgomp.fortran/target3.f90: New test.
17413 * testsuite/libgomp.fortran/target4.f90: New test.
17414 * testsuite/libgomp.fortran/target5.f90: New test.
17415 * testsuite/libgomp.fortran/target6.f90: New test.
17416 * testsuite/libgomp.fortran/target7.f90: New test.
17418 2014-06-10 Jakub Jelinek <jakub@redhat.com>
17421 * testsuite/libgomp.fortran/allocatable9.f90: New test.
17422 * testsuite/libgomp.fortran/allocatable10.f90: New test.
17423 * testsuite/libgomp.fortran/allocatable11.f90: New test.
17424 * testsuite/libgomp.fortran/allocatable12.f90: New test.
17425 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
17426 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
17427 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
17428 * testsuite/libgomp.fortran/associate1.f90: New test.
17429 * testsuite/libgomp.fortran/associate2.f90: New test.
17430 * testsuite/libgomp.fortran/procptr1.f90: New test.
17432 2014-06-06 Jakub Jelinek <jakub@redhat.com>
17434 * testsuite/libgomp.fortran/simd1.f90: New test.
17435 * testsuite/libgomp.fortran/udr1.f90: New test.
17436 * testsuite/libgomp.fortran/udr2.f90: New test.
17437 * testsuite/libgomp.fortran/udr3.f90: New test.
17438 * testsuite/libgomp.fortran/udr4.f90: New test.
17439 * testsuite/libgomp.fortran/udr5.f90: New test.
17440 * testsuite/libgomp.fortran/udr6.f90: New test.
17441 * testsuite/libgomp.fortran/udr7.f90: New test.
17442 * testsuite/libgomp.fortran/udr8.f90: New test.
17443 * testsuite/libgomp.fortran/udr9.f90: New test.
17444 * testsuite/libgomp.fortran/udr10.f90: New test.
17445 * testsuite/libgomp.fortran/udr11.f90: New test.
17447 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
17449 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
17450 vect_simd_clones effective target.
17451 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
17453 2014-05-21 Jakub Jelinek <jakub@redhat.com>
17455 PR middle-end/61252
17456 * testsuite/libgomp.c++/simd-9.C: New test.
17458 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
17460 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
17461 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
17462 texts according to their @menu entry positions.
17464 2014-05-11 Jakub Jelinek <jakub@redhat.com>
17466 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
17467 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
17468 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
17469 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
17470 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
17471 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
17472 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
17473 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
17474 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
17475 * testsuite/libgomp.fortran/depend-1.f90: New test.
17476 * testsuite/libgomp.fortran/depend-2.f90: New test.
17477 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
17478 * testsuite/libgomp.fortran/simd1.f90: New test.
17479 * testsuite/libgomp.fortran/simd2.f90: New test.
17480 * testsuite/libgomp.fortran/simd3.f90: New test.
17481 * testsuite/libgomp.fortran/simd4.f90: New test.
17482 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
17484 2014-05-02 Jakub Jelinek <jakub@redhat.com>
17486 * testsuite/libgomp.c/simd-10.c: New test.
17487 * testsuite/libgomp.c/simd-11.c: New test.
17488 * testsuite/libgomp.c/simd-12.c: New test.
17489 * testsuite/libgomp.c/simd-13.c: New test.
17491 2014-04-24 Jakub Jelinek <jakub@redhat.com>
17493 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
17494 atomic type clauses in any order and optional comma in between.
17495 * testsuite/libgomp.c++/atomic-15.C: Likewise.
17496 * testsuite/libgomp.c/atomic-17.c: Likewise.
17498 * testsuite/libgomp.c/simd-7.c: New test.
17499 * testsuite/libgomp.c/simd-8.c: New test.
17500 * testsuite/libgomp.c/simd-9.c: New test.
17501 * testsuite/libgomp.c/loop-16.c: New test.
17503 2014-04-02 Richard Henderson <rth@redhat.com>
17505 * config/linux/futex.h (futex_wait): Get error value from errno.
17506 (futex_wake): Likewise.
17508 2014-03-25 Jakub Jelinek <jakub@redhat.com>
17511 * testsuite/libgomp.c++/udr-11.C: New test.
17512 * testsuite/libgomp.c++/udr-12.C: New test.
17513 * testsuite/libgomp.c++/udr-13.C: New test.
17514 * testsuite/libgomp.c++/udr-14.C: New test.
17515 * testsuite/libgomp.c++/udr-15.C: New test.
17516 * testsuite/libgomp.c++/udr-16.C: New test.
17517 * testsuite/libgomp.c++/udr-17.C: New test.
17518 * testsuite/libgomp.c++/udr-18.C: New test.
17519 * testsuite/libgomp.c++/udr-19.C: New test.
17521 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17523 Update copyright years
17525 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17527 * hashtab.h: Use the standard form for the copyright notice.
17529 2014-01-02 Tobias Burnus <burnus@net-b.de>
17531 * libgomp.texi: Bump @copying's copyright year.
17533 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
17535 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
17536 alloca () with __builtin_alloca ().
17537 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
17538 * testsuite/libgomp.c/lock-3.c: Likewise.
17539 * testsuite/libgomp.c/pr48591.c: Likewise.
17541 2013-12-17 Jakub Jelinek <jakub@redhat.com>
17544 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
17547 2013-12-16 Jakub Jelinek <jakub@redhat.com>
17550 * testsuite/libgomp.c/pr58756.c: New test.
17552 2013-12-12 Jakub Jelinek <jakub@redhat.com>
17555 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17558 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
17560 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17562 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17563 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17564 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17565 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17568 * libgomp_g.h: Include <stddef.h> for size_t.
17570 * libgomp.spec.in: Update comment about libgomp's dependencies.
17571 * configure.ac: Likewise.
17572 * configure: Regenerate.
17574 2013-10-16 Tobias Burnus <burnus@net-b.de>
17576 * libgomp.texi: (Runtime Library Routines): Update references for
17577 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17578 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17579 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17580 (Environment Variables): Update references for OpenMP 4.0. Add
17581 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17582 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17585 2013-10-14 Jakub Jelinek <jakub@redhat.com>
17587 * env.c (parse_bind_var): Initialize value to avoid
17588 (false positive) warning.
17590 2013-10-12 Jakub Jelinek <jakub@redhat.com>
17593 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17595 (gomp_init_num_threads): Move i variable declaration into
17596 #ifdef CPU_ALLOC_SIZE block.
17597 * config/linux/affinity.c (gomp_affinity_init_level): Test
17598 gomp_places_list_len == 0 rather than gomp_places_list == 0
17599 when checking for topology reading error.
17600 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17601 * env.c (parse_affinity): Add ignore argument, if true, don't populate
17602 gomp_places_list, only parse env var and always return false.
17603 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
17604 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17605 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17606 and either of these variables were parsed correctly into a places
17609 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17610 Jakub Jelinek <jakub@redhat.com>
17612 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17613 of 5 loopfn matches.
17614 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17615 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17616 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17617 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17618 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17619 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17620 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17621 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17623 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17625 * Makefile.am (omp_lib.mod): Streamline rule.
17626 * Makefile.in: Regenerate.
17628 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17631 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17632 * testsuite/libgomp.fortran/lib1.f90: Likewise.
17633 * testsuite/libgomp.fortran/lib2.f: Likewise.
17634 * testsuite/libgomp.fortran/lib3.f: Likewise.
17636 * configure.ac: Typo fix.
17637 * configure: Regenerate.
17639 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17640 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17642 * omp.h.in: Don't touch the user's namespace.
17644 2013-10-11 Jakub Jelinek <jakub@redhat.com>
17645 Tobias Burnus <burnus@net-b.de>
17646 Richard Henderson <rth@redhat.com>
17648 * target.c: New file.
17649 * Makefile.am (libgomp_la_SOURCES): Add target.c.
17650 * Makefile.in: Regenerated.
17651 * libgomp_g.h (GOMP_task): Add depend argument.
17652 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17653 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17654 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17655 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17656 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17657 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17658 GOMP_taskgroup_start, GOMP_taskgroup_end,
17659 GOMP_parallel_sections): New prototypes.
17660 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17661 (omp_is_initial_device_): New function.
17662 (ULP, STR1, STR2, ialias_redirect): Removed.
17663 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17664 omp_set_default_device_8_, omp_get_default_device_,
17665 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17667 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17668 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17669 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17671 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17672 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17673 omp_set_default_device, omp_set_default_device_,
17674 omp_set_default_device_8_, omp_get_default_device,
17675 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17676 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17677 omp_get_team_num_): Export @@OMP_4.0.
17678 * team.c (struct gomp_thread_start_data): Add place field.
17679 (gomp_thread_start): Clear thr->thread_pool and
17680 thr->task before returning. Use gomp_team_barrier_wait_final
17681 instead of gomp_team_barrier_wait. Initialize thr->place.
17682 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17683 team_cancelled and task_queued_count fields.
17684 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17685 before calling pthread_exit.
17686 (gomp_free_thread): No longer static. Use
17687 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17688 (gomp_team_start): Add flags argument. Set
17689 thr->thread_pool->threads_busy to nthreads immediately after creating
17690 new pool. Use gomp_managed_threads_lock instead of
17691 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17692 (gomp_team_end): Use gomp_managed_threads_lock instead of
17693 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17694 of gomp_team_barrier_wait. If team->team_cancelled, call
17695 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
17696 rather than thr->ts.work_share.
17697 (initialize_team): Don't call gomp_sem_init here.
17698 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17700 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17701 * env.c (gomp_global_icv): Add default_device_var, target_data and
17702 bind_var initializers.
17703 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17704 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17705 gomp_places_list_len): New variables.
17706 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17707 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17709 (gomp_cancel_var): New global variable.
17710 (parse_int): New function.
17711 (handle_omp_display_env): New function.
17712 (initialize_env): Use it. Initialize default_device_var.
17713 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17714 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17715 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17716 been successfully parsed (and call gomp_init_affinity in that case).
17717 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17718 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17719 omp_get_team_num, omp_is_initial_device): New functions.
17720 * libgomp.h: Include stdlib.h.
17721 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17723 (struct target_mem_desc): Forward declare.
17724 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17725 and thread_limit_var fields.
17726 (gomp_get_num_devices): New prototype.
17727 (gomp_cancel_var): New extern decl.
17728 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17729 team_cancelled and task_queued_count fields. Add comments about
17730 task_{,queued_,running_}count.
17731 (gomp_cancel_kind): New enum.
17732 (gomp_work_share_end_cancel): New prototype.
17733 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17734 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17736 (struct gomp_taskgroup): New type.
17737 (struct gomp_task_depend_entry,
17738 struct gomp_dependers_vec): New types.
17739 (gomp_finish_task): Free depend_hash if non-NULL.
17740 (struct gomp_team_state): Add place_partition_off
17741 and place_partition_len fields.
17742 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17743 gomp_places_list_len): New extern decls.
17744 (struct gomp_thread): Add place field.
17745 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17746 (gomp_init_thread_affinity): Add place argument.
17747 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17748 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17749 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17750 gomp_affinity_init_level, gomp_affinity_print_place): New
17752 (gomp_team_start): Add flags argument.
17753 (gomp_thread_limit_var, gomp_remaining_threads_count,
17754 gomp_remaining_threads_lock): Remove.
17755 (gomp_managed_threads_lock): New variable.
17756 (struct gomp_thread_pool): Add threads_busy field.
17757 (gomp_free_thread): New prototype.
17758 * task.c: Include hashtab.h.
17759 (hash_entry_type): New typedef.
17760 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17761 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17762 copy_ctors_done and taskgroup fields.
17763 (GOMP_task): Add depend argument, handle depend clauses. If
17764 gomp_team_barrier_cancelled or if it's taskgroup has been
17765 cancelled, don't queue or start new tasks. Set copy_ctors_done
17766 field if needed. Initialize taskgroup field. If copy_ctors_done
17767 and already cancelled, don't discard the task. If taskgroup is
17768 non-NULL, enqueue the task into taskgroup queue. Increment
17769 num_children field in taskgroup. Increment task_queued_count.
17770 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17771 gomp_task_run_post_remove_taskgroup): New inline functions.
17772 (gomp_task_run_post_handle_depend_hash,
17773 gomp_task_run_post_handle_dependers,
17774 gomp_task_run_post_handle_depend): New functions.
17775 (GOMP_taskwait): Use them. If more than one new tasks
17776 have been queued, wake other threads if needed.
17777 (gomp_barrier_handle_tasks): Likewise. If
17778 gomp_team_barrier_cancelled, don't start any new tasks, just free
17780 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17782 (omp_proc_bind_kind, omp_proc_bind_false,
17783 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17784 omp_proc_bind_spread): New params.
17785 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17786 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17787 omp_get_team_num, omp_is_initial_device): New interfaces.
17788 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17789 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17790 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17791 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17792 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17793 useless use omp_lib_kinds.
17794 * omp.h.in (omp_proc_bind_t): New typedef.
17795 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17796 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17797 omp_get_team_num, omp_is_initial_device): New prototypes.
17798 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17799 through to gomp_team_start.
17800 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17801 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17802 Adjust gomp_parallel_loop_start callers.
17803 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17804 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17805 GOMP_loop_end_cancel): New functions.
17806 (GOMP_parallel_end): Add ialias_redirect.
17807 * hashtab.h: New file.
17808 * libgomp.texi (Environment Variables): Minor cleanup,
17809 update section refs to OpenMP 4.0rc2.
17810 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17811 environment variables.
17812 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17813 team->work_shares_to_free to thr->ts.work_share before calling
17815 (gomp_work_share_end_cancel): New function.
17816 * config/linux/proc.c: Include errno.h.
17817 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17818 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17819 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17820 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17821 gomp_cpuset_size is sizeof (cpu_set_t).
17822 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17823 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17824 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17825 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17826 contain any logical CPUs.
17827 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17828 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17829 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17830 pthread_getaffinity_np. Check gomp_places_list instead of
17831 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17832 * config/linux/bar.c (gomp_barrier_wait_end,
17833 gomp_barrier_wait_last): Use BAR_* defines.
17834 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17835 from state where needed. Set work_share_cancelled to 0 on last
17837 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17838 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17840 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17841 Add cpusetsize argument.
17842 (gomp_cpuset_size, gomp_cpusetp): Declare.
17843 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17844 (affinity_counter): Remove.
17845 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17846 if CPU_ALLOC_SIZE isn't defined.
17847 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17848 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17849 bind current thread to the first place.
17850 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17851 pthread_setaffinity_np to gomp_places_list[place].
17852 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17853 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17854 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17855 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17856 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17857 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17858 (gomp_barrier_t): Add awaited_final field.
17859 (gomp_barrier_init): Initialize awaited_final field.
17860 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17861 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17863 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17865 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17866 gomp_team_barrier_cancelled): New inline functions.
17867 (gomp_barrier_last_thread,
17868 gomp_team_barrier_set_task_pending,
17869 gomp_team_barrier_clear_task_pending,
17870 gomp_team_barrier_set_waiting_for_tasks,
17871 gomp_team_barrier_waiting_for_tasks,
17872 gomp_team_barrier_done): Use BAR_* defines.
17873 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17874 (gomp_barrier_wait_end): Use BAR_* defines.
17875 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17876 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17878 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17879 gomp_team_barrier_cancel): New functions.
17880 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17882 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17883 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17884 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17885 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17886 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17887 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17888 (gomp_barrier_t): Add cancellable field.
17889 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17890 gomp_team_barrier_cancel): New prototypes.
17891 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17892 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17893 gomp_team_barrier_cancelled): New inline functions.
17894 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17895 gomp_team_barrier_set_task_pending,
17896 gomp_team_barrier_clear_task_pending,
17897 gomp_team_barrier_set_waiting_for_tasks,
17898 gomp_team_barrier_waiting_for_tasks,
17899 gomp_team_barrier_done): Use BAR_* defines.
17900 * barrier.c (GOMP_barrier_cancel): New function.
17901 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17902 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17903 omp_proc_bind_spread): New params.
17904 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17905 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17906 omp_get_team_num, omp_is_initial_device): New externals.
17907 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17909 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17910 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17911 infinity. If not nested, just return minimum of max_num_threads
17912 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17913 to the returned value. Otherwise, don't update atomically
17914 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17915 (GOMP_parallel_end): Adjust for thread_limit now being in
17916 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17917 infinity. Adjust threads_busy in the pool rather than
17918 gomp_remaining_threads_count. Remember team->nthreads and call
17919 gomp_team_end before adjusting threads_busy, if not nested
17920 afterwards, just set it to 1 non-atomically. Add ialias.
17921 (GOMP_parallel_start): Adjust gomp_team_start caller.
17922 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17923 * testsuite/libgomp.c/affinity-1.c: New test.
17924 * testsuite/libgomp.c/atomic-15.c: New test.
17925 * testsuite/libgomp.c/atomic-16.c: New test.
17926 * testsuite/libgomp.c/atomic-17.c: New test.
17927 * testsuite/libgomp.c/cancel-for-1.c: New test.
17928 * testsuite/libgomp.c/cancel-for-2.c: New test.
17929 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17930 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17931 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17932 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17933 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17934 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17935 * testsuite/libgomp.c/depend-1.c: New test.
17936 * testsuite/libgomp.c/depend-2.c: New test.
17937 * testsuite/libgomp.c/depend-3.c: New test.
17938 * testsuite/libgomp.c/depend-4.c: New test.
17939 * testsuite/libgomp.c/for-1.c: New test.
17940 * testsuite/libgomp.c/for-1.h: New file.
17941 * testsuite/libgomp.c/for-2.c: New test.
17942 * testsuite/libgomp.c/for-2.h: New file.
17943 * testsuite/libgomp.c/for-3.c: New test.
17944 * testsuite/libgomp.c/pr58392.c: New test.
17945 * testsuite/libgomp.c/simd-1.c: New test.
17946 * testsuite/libgomp.c/simd-2.c: New test.
17947 * testsuite/libgomp.c/simd-3.c: New test.
17948 * testsuite/libgomp.c/simd-4.c: New test.
17949 * testsuite/libgomp.c/simd-5.c: New test.
17950 * testsuite/libgomp.c/simd-6.c: New test.
17951 * testsuite/libgomp.c/target-1.c: New test.
17952 * testsuite/libgomp.c/target-2.c: New test.
17953 * testsuite/libgomp.c/target-3.c: New test.
17954 * testsuite/libgomp.c/target-4.c: New test.
17955 * testsuite/libgomp.c/target-5.c: New test.
17956 * testsuite/libgomp.c/target-6.c: New test.
17957 * testsuite/libgomp.c/target-7.c: New test.
17958 * testsuite/libgomp.c/taskgroup-1.c: New test.
17959 * testsuite/libgomp.c/thread-limit-1.c: New test.
17960 * testsuite/libgomp.c/thread-limit-2.c: New test.
17961 * testsuite/libgomp.c/thread-limit-3.c: New test.
17962 * testsuite/libgomp.c/udr-1.c: New test.
17963 * testsuite/libgomp.c/udr-2.c: New test.
17964 * testsuite/libgomp.c/udr-3.c: New test.
17965 * testsuite/libgomp.c++/affinity-1.C: New test.
17966 * testsuite/libgomp.c++/atomic-10.C: New test.
17967 * testsuite/libgomp.c++/atomic-11.C: New test.
17968 * testsuite/libgomp.c++/atomic-12.C: New test.
17969 * testsuite/libgomp.c++/atomic-13.C: New test.
17970 * testsuite/libgomp.c++/atomic-14.C: New test.
17971 * testsuite/libgomp.c++/atomic-15.C: New test.
17972 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17973 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17974 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17975 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17976 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17977 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17978 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17979 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17980 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17981 * testsuite/libgomp.c++/cancel-test.h: New file.
17982 * testsuite/libgomp.c++/for-9.C: New test.
17983 * testsuite/libgomp.c++/for-10.C: New test.
17984 * testsuite/libgomp.c++/for-11.C: New test.
17985 * testsuite/libgomp.c++/simd-1.C: New test.
17986 * testsuite/libgomp.c++/simd-2.C: New test.
17987 * testsuite/libgomp.c++/simd-3.C: New test.
17988 * testsuite/libgomp.c++/simd-4.C: New test.
17989 * testsuite/libgomp.c++/simd-5.C: New test.
17990 * testsuite/libgomp.c++/simd-6.C: New test.
17991 * testsuite/libgomp.c++/simd-7.C: New test.
17992 * testsuite/libgomp.c++/simd-8.C: New test.
17993 * testsuite/libgomp.c++/target-1.C: New test.
17994 * testsuite/libgomp.c++/target-2.C: New test.
17995 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17996 * testsuite/libgomp.c++/target-3.C: New test.
17997 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17998 * testsuite/libgomp.c++/udr-1.C: New test.
17999 * testsuite/libgomp.c++/udr-2.C: New test.
18000 * testsuite/libgomp.c++/udr-3.C: New test.
18001 * testsuite/libgomp.c++/udr-4.C: New test.
18002 * testsuite/libgomp.c++/udr-5.C: New test.
18003 * testsuite/libgomp.c++/udr-6.C: New test.
18004 * testsuite/libgomp.c++/udr-7.C: New test.
18005 * testsuite/libgomp.c++/udr-8.C: New test.
18006 * testsuite/libgomp.c++/udr-9.C: New test.
18008 2013-09-20 Jakub Jelinek <jakub@redhat.com>
18011 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
18014 2013-09-20 Alan Modra <amodra@gmail.com>
18016 * configure: Regenerate.
18018 2013-09-19 Jakub Jelinek <jakub@redhat.com>
18020 * testsuite/libgomp.c/sections-2.c: New test.
18022 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
18024 * testsuite/libgomp.fortran/strassen.f90:
18025 Add dg-skip-if aarch64_tiny.
18027 2013-06-20 Iain Sandoe <iain@codesourcery.com>
18028 Cesar Philippidis <cesar@codesourcery.com>
18030 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
18031 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
18032 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
18033 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18034 * testsuite/libgomp.graphite/graphite.exp: Likewise.
18035 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
18036 Use dg-runtest rather than gfortran-dg-runtest.
18038 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
18040 * testsuite/libgomp.c/icv-2.c: Extend current handling of
18041 Linux-based x86 systems to cover all GNU systems.
18042 * testsuite/libgomp.c/lock-3.c: Likewise.
18043 * testsuite/libgomp.c/pr48591.c: Likewise.
18045 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
18047 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
18048 GNU/Hurd, as done for Linux-based systems.
18050 * config/posix/ptrlock.h: Fix comment.
18052 2013-05-27 Tobias Burnus <burnus@net-b.de>
18055 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
18056 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
18057 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
18058 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
18059 omp_destroy_nest_lock): Correct arguments to match the one in
18061 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
18062 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
18063 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
18064 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
18066 2013-05-16 Jakub Jelinek <jakub@redhat.com>
18068 * testsuite/libgomp.c/loop-13.c: New test.
18069 * testsuite/libgomp.c/loop-14.c: New test.
18070 * testsuite/libgomp.c/loop-15.c: New test.
18071 * testsuite/libgomp.c++/loop-13.C: New test.
18072 * testsuite/libgomp.c++/loop-14.C: New test.
18073 * testsuite/libgomp.c++/loop-15.C: New test.
18075 2013-02-06 Jakub Jelinek <jakub@redhat.com>
18077 PR middle-end/56217
18078 * testsuite/libgomp.c++/pr56217.C: New test.
18080 2013-02-01 Alan Modra <amodra@gmail.com>
18082 * task.c (GOMP_task, GOMP_taskwait): Comment.
18084 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
18085 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
18088 * config/linux/wait.h (do_spin): Use atomic load for addr.
18089 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
18090 for intptr and ptrlock.
18091 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
18094 2013-01-22 Alan Modra <amodra@gmail.com>
18098 * task.c (GOMP_task): Revert 2011-12-09 change.
18099 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
18100 barrier to read task->children..
18101 (gomp_barrier_handle_tasks): ..and matching atomic store with
18102 release barrier here when setting parent->children to NULL.
18104 2013-01-16 Jakub Jelinek <jakub@redhat.com>
18105 Tobias Burnus <burnus@net-b.de>
18108 * testsuite/libgomp.fortran/fortran.exp: Use
18109 -fintrinsic-modules-path= instead of
18110 -fintrinsic-modules-path.
18112 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
18114 Update copyright years.
18116 2012-12-19 Tobias Burnus <burnus@net-b.de>
18118 * testsuite/libgomp.fortran/fortran.exp: Set
18119 -fintrinsic-modules-path.
18121 2012-12-19 Tobias Burnus <burnus@net-b.de>
18123 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
18124 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
18126 2012-11-21 Jakub Jelinek <jakub@redhat.com>
18129 * team.c (gomp_free_thread): Decrease gomp_managed_threads
18130 if pool had any threads_used.
18132 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
18134 * testsuite/libgomp.c++/pr24455.C: Use
18135 -Wl,-undefined,dynamic_lookup on darwin.
18137 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
18139 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
18141 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
18143 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
18145 2012-10-23 Ian Bolton <ian.bolton@arm.com>
18146 Jim MacArthur <jim.macarthur@arm.com>
18147 Marcus Shawcroft <marcus.shawcroft@arm.com>
18148 Nigel Stephens <nigel.stephens@arm.com>
18149 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
18150 Richard Earnshaw <rearnsha@arm.com>
18151 Sofiane Naci <sofiane.naci@arm.com>
18152 Stephen Thomas <stephen.thomas@arm.com>
18153 Tejas Belagod <tejas.belagod@arm.com>
18154 Yufeng Zhang <yufeng.zhang@arm.com>
18156 * configure.tgt: Add AArch64.
18158 2012-10-04 Jason Merrill <jason@redhat.com>
18160 * testsuite/libgomp.c++/tls-init1.C: New.
18162 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
18164 * configure: Regenerated.
18166 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
18168 * config/linux/mips/futex.h (sys_futex0): Change to static
18169 function with noinline, nomips16 attributes under MIPS16. Adjust
18170 asm statement to place 'li v0,SYS_futex' immediately before
18173 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
18175 * libgomp.texi (Library Index): Renamed from "Index" to prevent
18176 conflict with index.html on case-insensitive file systems.
18178 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
18180 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
18181 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
18183 2012-07-02 Richard Guenther <rguenther@suse.de>
18184 Michael Matz <matz@suse.de>
18185 Tobias Grosser <tobias@grosser.es>
18186 Sebastian Pop <sebpop@gmail.com>
18188 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
18189 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
18190 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
18191 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
18193 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
18195 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
18197 2012-06-22 Richard Guenther <rguenther@suse.de>
18199 Merge from graphite branch
18200 2012-01-13 Tobias Grosser <tobias@grosser.es>
18202 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18203 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
18205 2012-06-07 Jakub Jelinek <jakub@redhat.com>
18207 PR middle-end/53580
18208 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
18209 use GOMP_barrier () call instead.
18210 * testsuite/libgomp.c/pr26943-3.c: Likewise.
18211 * testsuite/libgomp.c/pr26943-4.c: Likewise.
18212 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
18213 call GOMP_barrier instead.
18214 * testsuite/libgomp.fortran/vla5.f90: Likewise.
18216 2012-06-06 Jakub Jelinek <jakub@redhat.com>
18219 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
18220 argument to memset call.
18222 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
18224 * configure: Regenerated.
18226 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
18228 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
18230 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
18233 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
18235 2012-03-22 Jakub Jelinek <jakub@redhat.com>
18237 PR middle-end/52547
18238 * testsuite/libgomp.c/pr52547.c: New test.
18240 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
18242 * testsuite/lib/libgomp.exp: load fortran-modules.exp
18244 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18246 * configure.tgt (mips-sgi-irix6*): Remove.
18248 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18250 * configure.tgt (alpha*-dec-osf*): Remove.
18252 * config/osf/sem.h: Remove.
18253 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
18255 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
18257 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
18259 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18262 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
18263 Remove ENABLE_SYMVERS_SOL2.
18264 * configure: Regenerate.
18265 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
18266 (PREPROCESS): New variable.
18267 (libgomp.ver): New target.
18268 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
18269 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
18270 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
18272 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
18273 * Makefile.in: Regenerate.
18275 2012-02-14 Walter Lee <walt@tilera.com>
18277 * configure.tgt: Handle tilegx and tilepro.
18278 * config/linux/tile/futex.h: New file.
18280 2012-02-08 Richard Guenther <rguenther@suse.de>
18282 PR tree-optimization/46886
18283 * testsuite/libgomp.c/pr46886.c: New testcase.
18285 2012-01-25 Matthias Klose <doko@ubuntu.com>
18287 * config/linux/arm: Remove empty directory.
18288 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
18290 2011-12-09 Alan Modra <amodra@gmail.com>
18293 * task.c (GOMP_taskwait): Don't access task->children outside of
18294 task_lock mutex region.
18295 (GOMP_task): Likewise.
18297 2011-12-06 Jakub Jelinek <jakub@redhat.com>
18300 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
18302 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
18303 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
18304 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
18305 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
18306 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
18308 2011-12-02 Alan Modra <amodra@gmail.com>
18310 * config/linux/affinity.c: Use atomic rather than sync builtin.
18311 * config/linux/lock.c: Likewise.
18312 * config/linux/ptrlock.h: Likewise.
18313 * config/linux/ptrlock.c: Likewise.
18314 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
18315 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
18316 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
18317 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
18318 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
18319 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
18320 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
18321 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
18322 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
18323 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
18325 2011-11-30 Alan Modra <amodra@gmail.com>
18328 * config/linux/bar.h: Use atomic rather than sync builtins.
18329 * config/linux/bar.c: Likewise. Add missing acquire
18330 synchronisation on generation field.
18331 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
18334 2011-11-30 Alan Modra <amodra@gmail.com>
18336 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
18337 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
18338 * config/linux/mutex.h: Use atomic rather than sync builtins.
18339 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
18340 * config/linux/omp-lock.h: Comment fix.
18341 * config/linux/arm/mutex.h: Delete.
18342 * config/linux/powerpc/mutex.h: Delete.
18343 * config/linux/ia64/mutex.h: Delete.
18344 * config/linux/mips/mutex.h: Delete.
18346 2011-11-30 Alan Modra <amodra@gmail.com>
18349 * config/linux/sem.h: Rewrite.
18350 * config/linux/sem.c: Rewrite.
18352 2011-11-28 Richard Henderson <rth@redhat.com>
18354 * libgomp.h (enum memmodel): New.
18356 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
18358 * configure: Regenerate.
18360 2011-10-10 Matthias Klose <doko@ubuntu.com>
18362 * config/posix95: Remove empty directory.
18364 2011-08-26 Jakub Jelinek <jakub@redhat.com>
18366 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
18368 2011-08-19 Jakub Jelinek <jakub@redhat.com>
18371 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
18372 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
18374 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18376 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
18378 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18381 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
18383 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
18385 * config/linux/proc.h: New.
18386 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
18387 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
18388 (gomp_init_num_threads): Update call to cpuset_popcount.
18389 (get_num_procs): Ditto.
18390 * config/linux/affinity.c (gomp_init_affinity): Call
18391 gomp_cpuset_popcount.
18393 2011-08-02 Jakub Jelinek <jakub@redhat.com>
18397 * omp.h.in (omp_in_final): New prototype.
18398 * omp_lib.f90.in (omp_in_final): New interface.
18399 (omp_integer_kind, omp_logical_kind): Remove
18400 and replace all its uses in the module with 4.
18401 (openmp_version): Change to 201107.
18402 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
18403 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
18404 kind for the parameters.
18405 (omp_in_final): New external.
18406 (openmp_version): Change to 201107.
18407 * task.c (omp_in_final): New function.
18408 (gomp_init_task): Initialize final_task.
18409 (GOMP_task): Remove unused attribute from flags. Handle final
18411 (GOMP_taskyield): New function.
18412 (omp_in_final): Return true if if (false) or final (true) task
18413 or descendant of final (true).
18414 * fortran.c (omp_in_final_): New function.
18415 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
18416 (GOMP_3.0): Export GOMP_taskyield.
18417 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
18419 (parse_unsigned_long_list): New function.
18420 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
18421 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
18422 even if parse_affinity returned false.
18423 * config/linux/affinity.c (gomp_init_affinity): Handle
18424 gomp_cpu_affinity_len == 0.
18425 * libgomp_g.h (GOMP_taskyield): New prototype.
18426 * libgomp.h (struct gomp_task): Add final_task field.
18427 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
18428 * team.c (gomp_team_start): Override new task's nthreads_var icv
18429 if list form OMP_NUM_THREADS has been used and it has value for
18430 the new nesting level.
18432 * testsuite/libgomp.c/atomic-11.c: New test.
18433 * testsuite/libgomp.c/atomic-12.c: New test.
18434 * testsuite/libgomp.c/atomic-13.c: New test.
18435 * testsuite/libgomp.c/atomic-14.c: New test.
18436 * testsuite/libgomp.c/reduction-6.c: New test.
18437 * testsuite/libgomp.c/task-5.c: New test.
18438 * testsuite/libgomp.c++/atomic-2.C: New test.
18439 * testsuite/libgomp.c++/atomic-3.C: New test.
18440 * testsuite/libgomp.c++/atomic-4.C: New test.
18441 * testsuite/libgomp.c++/atomic-5.C: New test.
18442 * testsuite/libgomp.c++/atomic-6.C: New test.
18443 * testsuite/libgomp.c++/atomic-7.C: New test.
18444 * testsuite/libgomp.c++/atomic-8.C: New test.
18445 * testsuite/libgomp.c++/atomic-9.C: New test.
18446 * testsuite/libgomp.c++/task-8.C: New test.
18447 * testsuite/libgomp.c++/reduction-4.C: New test.
18448 * testsuite/libgomp.fortran/allocatable7.f90: New test.
18449 * testsuite/libgomp.fortran/allocatable8.f90: New test.
18450 * testsuite/libgomp.fortran/crayptr3.f90: New test.
18451 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
18452 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
18453 * testsuite/libgomp.fortran/pointer1.f90: New test.
18454 * testsuite/libgomp.fortran/pointer2.f90: New test.
18455 * testsuite/libgomp.fortran/task4.f90: New test.
18457 2011-08-02 Tobias Burnus <burnus@net-b.de>
18459 * libgomp.texi: Update OpenMP spec references to 3.1.
18460 (omp_in_final,OMP_PROC_BIND): New sections.
18461 (OMP_NUM_THREADS): Document that the value can be now a list.
18462 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
18464 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
18466 * config/linux/x86/futex.h: Check __x86_64__ instead of
18469 2011-07-29 Jakub Jelinek <jakub@redhat.com>
18471 PR middle-end/49897
18472 PR middle-end/49898
18473 * testsuite/libgomp.c/pr49897-1.c: New test.
18474 * testsuite/libgomp.c/pr49897-2.c: New test.
18475 * testsuite/libgomp.c/pr49898-1.c: New test.
18476 * testsuite/libgomp.c/pr49898-2.c: New test.
18478 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
18480 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
18481 for ia32 instead of ilp32.
18483 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
18484 * testsuite/libgomp.c/atomic-6.c: Likewise.
18486 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
18488 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
18489 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
18491 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18494 * config/osf/sem.h: New file.
18495 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
18497 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18500 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
18503 2011-07-15 Jakub Jelinek <jakub@redhat.com>
18505 * config/linux/wait.h (do_spin): New inline, largely copied
18506 from do_wait, just don't do futex_wait here, instead return true if
18508 (do_wait): Implement using do_spin.
18509 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
18511 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18512 __sync_bool_compare_and_swap, pass the oldval to
18513 gomp_mutex_lock_slow.
18514 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
18515 If all mutex contenders are just spinning and not sleeping, don't
18516 change state to 2 unnecessarily. Optimize the loop when state has
18517 already become 2 to use just one atomic operation per loop instead
18519 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
18521 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18522 __sync_bool_compare_and_swap, pass the oldval to
18523 gomp_mutex_lock_slow.
18525 2011-06-22 Jakub Jelinek <jakub@redhat.com>
18528 * iter.c (gomp_iter_static_next): For chunk size 0
18529 only use n ceil/ nthreads size for the first
18530 n % nthreads threads in the team instead of
18531 all threads except for the last few ones which
18532 get less work or none at all.
18533 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
18534 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
18535 chunk argument, set run_sched_modifier to 0 for static
18536 resp. 1 for other kinds. If chunk argument is 0
18537 and not static, set value to 1.
18539 2011-05-19 Jakub Jelinek <jakub@redhat.com>
18542 * testsuite/libgomp.c++/pr49043.C: New test.
18545 * testsuite/libgomp.c++/pr48869.C: New test.
18547 2011-05-06 Jakub Jelinek <jakub@redhat.com>
18550 * fortran.c: Include limits.h.
18552 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
18554 (omp_set_num_threads_8_, omp_set_schedule_8_,
18555 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18556 omp_get_team_size_8_): Use TO_INT macro.
18557 * testsuite/libgomp.fortran/pr48894.f90: New test.
18559 2011-04-13 Jakub Jelinek <jakub@redhat.com>
18561 PR middle-end/48591
18562 * testsuite/libgomp.c/pr48591.c: New test.
18564 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18567 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18568 * configure: Regenerate.
18570 2011-02-27 Jakub Jelinek <jakub@redhat.com>
18573 * testsuite/libgomp.fortran/task3.f90: New test.
18575 2011-02-24 Tobias Burnus <burnus@net-b.de>
18577 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18579 2011-02-23 Jakub Jelinek <jakub@redhat.com>
18582 * libgomp.texi (omp_get_wtime): Don't say time in the past
18583 must be Unix Epoch.
18585 2011-02-18 Jakub Jelinek <jakub@redhat.com>
18588 * testsuite/libgomp.fortran/fortran.exp: Check for both
18589 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
18590 but $blddir != "", still append ${blddir}/${lang_library_path}
18591 to ld_library_path.
18593 2011-02-16 Tobias Burnus <burnus@net-b.de>
18596 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18597 of libquadmath.a before adding its libpath to ldflags.
18599 2011-02-14 Jakub Jelinek <jakub@redhat.com>
18602 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18603 to FUTEX_WAIT futex syscall.
18604 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18606 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18608 * configure: Regenerate.
18610 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
18613 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18615 2011-01-16 Gerald Pfeifer
18617 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18619 2010-12-14 Jakub Jelinek <jakub@redhat.com>
18622 * libgomp.fortran/allocatable6.f90: New test.
18624 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18626 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18627 * configure: Regenerate.
18629 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
18633 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18634 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18635 * aclocal.m4: Regenerate.
18636 * configure: Regenerate.
18637 * Makefile.in: Regenerate.
18638 * testsuite/Makefile.in: Regenerate.
18640 2010-12-02 Jakub Jelinek <jakub@redhat.com>
18643 * libgomp.fortran/pr46753.f90: New test.
18646 * env.c (initialize_env): Default to spin count 300000
18647 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18651 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18652 at the end if sync builtins aren't supported.
18654 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18656 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18658 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18660 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18662 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18664 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18666 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18667 Tobias Burnus <burnus@net-b.de>
18671 * configure: Regenerate.
18673 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18675 * config/linux/futex.h: New.
18676 * config/linux/arm/mutex.h: New.
18677 * configure.tgt (arm*-*-linux*): Add config path.
18679 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18681 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18683 2010-09-23 Tobias Burnus <burnus@net-b.de>
18685 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18686 Change Fortran datatype to LOGICAL.
18687 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18688 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18690 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18692 * configure: Regenerate.
18694 2010-07-26 Jakub Jelinek <jakub@redhat.com>
18696 * libgomp.texi: Add function keyword to a couple of Fortran
18697 interfaces, use integer instead of int for Fortran.
18699 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
18701 * libgomp.texi: Fix spelling and pasto problems throughout.
18702 Adjust prototypes to match code.
18704 2010-07-24 Tobias Burnus <burnus@net-b.de>
18706 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18707 silence -fwhole-file warning.
18709 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18711 * configure.tgt (*-*-solaris2.[56]*): Removed.
18713 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18715 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18716 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18717 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18718 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18719 targetting solaris2*.
18720 * configure: Regenerate.
18721 * config.h.in: Regenerate.
18723 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18724 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18725 Add libgomp_version_dep.
18726 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18728 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18729 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18730 * Makefile.in: Regenerate.
18732 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18733 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18734 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18735 to common block, protected by
18736 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18738 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18740 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18742 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18745 * configure: Regenerate.
18747 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18750 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18751 * configure: Regenerate.
18752 * Makefile.in: Regenerate.
18753 * testsuite/Makefile.in: Regenerate.
18755 2010-04-26 Jakub Jelinek <jakub@redhat.com>
18758 * testsuite/libgomp.c/pr43893.c: New test.
18759 * testsuite/libgomp.c++/pr43893.C: New test.
18761 2010-04-21 Jakub Jelinek <jakub@redhat.com>
18763 PR middle-end/43570
18764 * testsuite/libgomp.fortran/vla8.f90: New test.
18766 2010-04-20 Jakub Jelinek <jakub@redhat.com>
18769 * config/linux/affinity.c (gomp_init_affinity): Decrease
18770 gomp_available_cpus if affinity mask confines the process to fewer
18772 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18773 non-NULL, just return gomp_available_cpus.
18776 * sections.c (gomp_sections_init): Initialize ws->mode.
18778 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
18780 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18781 not unused bar variable.
18782 * configure: Regenerate.
18784 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18786 * Makefile.in: Regenerate.
18787 * aclocal.m4: Regenerate.
18788 * testsuite/Makefile.in: Regenerate.
18790 2010-03-22 Jakub Jelinek <jakub@redhat.com>
18793 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18794 (initialize_env): Adjust callers.
18795 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18796 when the argument is 0.
18798 * testsuite/libgomp.c/pr42942.c: New test.
18800 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18802 PR middle-end/42644
18803 PR middle-end/42130
18804 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18805 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18807 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18809 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18810 * testsuite/libgomp.c++/task-6.C: Likewise.
18812 2010-01-28 Steve Ellcey <sje@cup.hp.com>
18814 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18816 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
18818 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18819 * configure: Regenerate.
18821 2010-01-26 Jakub Jelinek <jakub@redhat.com>
18824 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18826 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
18828 * configure.ac: Test for executability of GFORTRAN.
18829 * configure: Regenerate.
18831 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18833 * configure: Regenerate.
18835 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18838 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18840 2010-01-03 Richard Guenther <rguenther@suse.de>
18842 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18844 2009-12-23 Sebastian Pop <sebpop@gmail.com>
18846 * testsuite/libgomp.graphite/pr4118.c: New.
18848 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18850 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18851 for darwin, protect the test with require-effective-target tls_runtime.
18852 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18854 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18857 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18858 link spec %s substitutions for static libraries.
18860 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18863 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18865 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18867 * Makefile.in: Regenerate.
18868 * configure: Regenerate.
18869 * testsuite/Makefile.in: Regenerate.
18871 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18873 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18874 settings for LC_ALL and LANG.
18876 2009-11-25 Jakub Jelinek <jakub@redhat.com>
18879 * testsuite/libgomp.fortran/pr42162.f90: New test.
18881 2009-11-13 Jakub Jelinek <jakub@redhat.com>
18883 PR middle-end/42029
18884 * testsuite/libgomp.c/pr42029.c: New test.
18886 2009-10-26 Jakub Jelinek <jakub@redhat.com>
18888 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18889 *s. Accept ld version without text in ()s.
18890 * configure: Regenerated.
18892 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
18894 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18896 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18899 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18900 or a hyphen (happens with fortran language disabled).
18901 * configure: Regenerate.
18903 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18905 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18906 use sed script portable to Solaris /bin/sed for extracting ld
18908 * configure: Regenerate.
18910 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
18912 * testsuite/libgomp.graphite/bounds.c: New test.
18914 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18916 * Makefile.am (libgomp_la_LINK): New.
18917 * Makefile.in: Regenerate.
18919 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18921 * configure.ac (AC_PREREQ): Bump to 2.64.
18923 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18925 * Makefile.am (install-html, install-pdf): Remove.
18926 * Makefile.in: Regenerate.
18928 * Makefile.in: Regenerate.
18929 * aclocal.m4: Regenerate.
18930 * config.h.in: Regenerate.
18931 * configure: Regenerate.
18932 * testsuite/Makefile.in: Regenerate.
18934 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18936 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18937 * Makefile.in: Regenerate.
18939 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18941 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18942 * Makefile.in: Regenerate.
18944 2009-08-19 Tobias Burnus <burnus@net-b.de>
18947 omp_lib.h.in: Fix -std=f95 errors.
18949 2009-08-14 David Edelsohn <edelsohn@gnu.org>
18951 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18952 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18953 * testsuite/libgomp.graphite/graphite.exp: New.
18955 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18957 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18960 2009-08-04 David Daney <ddaney@caviumnetworks.com>
18962 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18963 needed memory barrier semantics.
18964 * config/linux/mips/mutex.h: New file.
18966 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18968 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18970 2009-07-16 Joseph Myers <joseph@codesourcery.com>
18972 * configure: Regenerate.
18974 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18979 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18980 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18981 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18983 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18985 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18986 options when choosing a multilib.
18988 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18990 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18991 ld_library_path. Use add_path. Add just find_libgcc_s to
18992 ld_library_path, not every libgcc multilib directory.
18993 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18994 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18995 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18997 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18999 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
19001 * Makefile.am (LTLDFLAGS): Define.
19003 * Makefile.in: Regenerate.
19005 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
19008 * testsuite/libgomp.fortran/fortran.exp: Don't link with
19009 libgfortranbegin, check existence of libgfortran.a instead of
19010 libgfortranbegin.a.
19012 2009-05-20 Jakub Jelinek <jakub@redhat.com>
19015 * team.c (gomp_thread_start): Destroy thr->release semaphore.
19016 (gomp_free_pool_helper): Likewise.
19018 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
19019 Jakub Jelinek <jakub@redhat.com>
19022 * testsuite/libgomp.fortran/workshare2.f90: New test.
19024 2009-04-09 Nick Clifton <nickc@redhat.com>
19026 * iter.c: Change copyright header to refer to version 3 of the
19027 GNU General Public License with version 3.1 of the GCC Runtime
19028 Library Exception and to point readers at the COPYING3 and
19029 COPYING3.RUNTIME files and the FSF's license web page.
19030 * alloc.c: Likewise.
19031 * barrier.c: Likewise.
19032 * config/bsd/proc.c: Likewise.
19033 * config/linux/affinity.c: Likewise.
19034 * config/linux/alpha/futex.h: Likewise.
19035 * config/linux/bar.c: Likewise.
19036 * config/linux/bar.h: Likewise.
19037 * config/linux/ia64/futex.h: Likewise.
19038 * config/linux/ia64/mutex.h: Likewise.
19039 * config/linux/lock.c: Likewise.
19040 * config/linux/mips/futex.h: Likewise.
19041 * config/linux/mutex.c: Likewise.
19042 * config/linux/mutex.h: Likewise.
19043 * config/linux/powerpc/futex.h: Likewise.
19044 * config/linux/proc.c: Likewise.
19045 * config/linux/ptrlock.c: Likewise.
19046 * config/linux/ptrlock.h: Likewise.
19047 * config/linux/s390/futex.h: Likewise.
19048 * config/linux/sem.c: Likewise.
19049 * config/linux/sem.h: Likewise.
19050 * config/linux/sparc/futex.h: Likewise.
19051 * config/linux/wait.h: Likewise.
19052 * config/linux/x86/futex.h: Likewise.
19053 * config/mingw32/proc.c: Likewise.
19054 * config/mingw32/time.c: Likewise.
19055 * config/posix/affinity.c: Likewise.
19056 * config/posix/bar.c: Likewise.
19057 * config/posix/bar.h: Likewise.
19058 * config/posix/lock.c: Likewise.
19059 * config/posix/mutex.h: Likewise.
19060 * config/posix/proc.c: Likewise.
19061 * config/posix/ptrlock.h: Likewise.
19062 * config/posix/sem.c: Likewise.
19063 * config/posix/sem.h: Likewise.
19064 * config/posix/time.c: Likewise.
19065 * config/posix95/lock.c: Likewise.
19066 * critical.c: Likewise.
19068 * error.c: Likewise.
19069 * fortran.c: Likewise.
19070 * iter_ull.c: Likewise.
19071 * libgomp.h: Likewise.
19072 * libgomp_f.h.in: Likewise.
19073 * libgomp_g.h: Likewise.
19074 * loop.c: Likewise.
19075 * loop_ull.c: Likewise.
19076 * omp.h.in: Likewise.
19077 * omp_lib.f90.in: Likewise.
19078 * omp_lib.h.in: Likewise.
19079 * ordered.c: Likewise.
19080 * parallel.c: Likewise.
19081 * sections.c: Likewise.
19082 * single.c: Likewise.
19083 * task.c: Likewise.
19084 * team.c: Likewise.
19085 * work.c: Likewise.
19087 2009-04-09 Jakub Jelinek <jakub@redhat.com>
19089 * testsuite/config/default.exp: Change copyright header to refer to
19090 version 3 of the GNU General Public License and to point readers
19091 at the COPYING3 file and the FSF's license web page.
19093 2009-04-08 Jakub Jelinek <jakub@redhat.com>
19095 PR middle-end/39573
19096 * libgomp.c++/pr39573.C: New test.
19098 2009-04-01 Jakub Jelinek <jakub@redhat.com>
19101 * testsuite/libgomp.c/pr39591-1.c: New test.
19102 * testsuite/libgomp.c/pr39591-2.c: New test.
19103 * testsuite/libgomp.c/pr39591-3.c: New test.
19105 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
19107 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
19108 * testsuite/libgomp.c/atomic-6.c: Ditto.
19110 2009-03-23 Jakub Jelinek <jakub@redhat.com>
19113 * testsuite/libgomp.c/loop-12.c: New test.
19114 * testsuite/libgomp.c/loop-11.c: New test.
19115 * testsuite/libgomp.c++/loop-11.C: New test.
19116 * testsuite/libgomp.c++/loop-12.C: New test.
19117 * testsuite/libgomp.c++/for-8.C: New test.
19119 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19121 * configure: Regenerate.
19123 2009-02-11 Jakub Jelinek <jakub@redhat.com>
19125 PR middle-end/39154
19126 * testsuite/libgomp.c/pr39154.c: New test.
19128 2009-01-30 Ian Lance Taylor <iant@google.com>
19130 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
19131 libgomp_ld_is_gold. Get gold version number.
19132 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
19133 * configure: Rebuild.
19135 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
19137 * testsuite/lib/libgomp.exp: Add -B option for targets that
19138 use libgfortran.a%s in their specs.
19140 2009-01-07 Jakub Jelinek <jakub@redhat.com>
19143 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
19144 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
19145 HAVE_AS_SYMVER_DIRECTIVE is not defined.
19146 * configure: Regenerated.
19147 * config.h.in: Likewise.
19149 2008-12-28 Jakub Jelinek <jakub@redhat.com>
19152 * testsuite/libgomp.c/pr38650.c: New test.
19153 * testsuite/libgomp.c++/pr38650.C: New test.
19155 2008-12-27 Jakub Jelinek <jakub@redhat.com>
19157 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
19159 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
19161 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
19163 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19165 * configure: Regenerate.
19167 2008-12-08 Jakub Jelinek <jakub@redhat.com>
19169 PR middle-end/36802
19170 * testsuite/libgomp.c/pr36802-1.c: New test.
19171 * testsuite/libgomp.c/pr36802-2.c: New test.
19172 * testsuite/libgomp.c/pr36802-3.c: New test.
19174 2008-12-01 Janis Johnson <janis187@us.ibm.com>
19177 * config/linux/powerpc/mutex.h: New.
19179 2008-12-01 Jakub Jelinek <jakub@redhat.com>
19182 * testsuite/libgomp.c++/for-7.C: New test.
19185 * testsuite/libgomp.c++/for-6.C: New test.
19187 2008-11-26 Janis Johnson <janis187@us.ibm.com>
19190 * testsuite/lib/libgomp.exp: Include new timeout library files.
19191 (libgomp_target_compile): Set timeout value from new proc.
19193 2008-11-13 Steve Ellcey <sje@cup.hp.com>
19196 * config/linux/ia64/mutex.h: New.
19198 2008-11-04 Tobias Burnus <burnus@net-b.de>
19201 * libgomp.texi (Runtime library routines, environment variables):
19202 Update for OpenMP version 3.0.
19204 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
19205 Steve Ellcey <sje@cup.hp.com>
19207 * configure: Regenerate for new libtool.
19208 * Makefile.in: Ditto.
19209 * testsuite/Makefile.in: Ditto.
19211 2008-09-19 Jakub Jelinek <jakub@redhat.com>
19212 Andreas Tobler <a.tobler@schweiz.org>
19214 * config/bsd/proc.c: New file.
19215 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
19216 * configure.ac: Check for header <sys/sysctl.h>
19217 * configure: Regenerate.
19218 * config.h.in: Likewise.
19220 2008-09-05 Janis Johnson <janis187@us.ibm.com>
19222 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
19224 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
19226 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
19227 * Makefile.in: Regenerated.
19228 * testsuite/Makefile.in: Regenerated.
19230 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
19232 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
19233 depend on blddir if blddir exists.
19234 (libgomp_target_compile): Likewise.
19235 * testsuite/libgomp.c++/c++.exp: Likewise.
19236 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19238 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19240 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
19241 Do not list GPL as Invariant Section.
19243 2008-07-28 Ilie Garbacea <ilie@mips.com>
19244 Chao-ying Fu <fu@mips.com>
19246 * configure.tgt: Enable futex for MIPS.
19247 * config/linux/mips/futex.h: New file.
19249 2008-07-16 Jakub Jelinek <jakub@redhat.com>
19251 * team.c (gomp_team_end): Free team immediately if it has
19254 2008-07-08 David Edelsohn <edelsohn@gnu.org>
19256 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
19257 * testsuite/libgomp.fortran/fortran.exp: Same.
19258 * testsuite/libgomp.c/c.exp: Same.
19259 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
19260 directory to library path first.
19262 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
19264 * env.c (parse_stacksize): Add cast to avoid warning.
19265 (parse_spincount): Likewise.
19267 2008-06-27 Jakub Jelinek <jakub@redhat.com>
19269 * testsuite/libgomp.c/loop-10.c: New test.
19270 * libgomp.c/loop-3.c (main): Add lastprivate clause.
19271 * libgomp.c++/loop-6.C (main): Likewise.
19274 * testsuite/libgomp.c/debug-1.c: New test.
19276 2008-06-19 Jakub Jelinek <jakub@redhat.com>
19278 * testsuite/libgomp.c/nqueens-1.c: New test.
19281 * testsuite/libgomp.c++/task-7.C: New function.
19283 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19285 * configure: Regenerate.
19287 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19289 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
19290 mutex when HAVE_SYNC_BUILTINS isn't defined.
19292 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19294 * libgomp.texi (omp_test_lock): Fix typo.
19296 2008-06-12 Tobias Burnus <burnus@net-b.de>
19298 * omp_lib.f90.in: Add "implicit none".
19300 2008-06-12 Jakub Jelinek <jakub@redhat.com>
19302 PR middle-end/36506
19303 * testsuite/libgomp.c/reduction-5.c: New test.
19305 2008-06-11 Jakub Jelinek <jakub@redhat.com>
19307 * libgomp.h (struct gomp_task): Add in_tied_task field.
19308 * task.c (gomp_init_task): Initialize it.
19309 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
19310 unconditionally. Don't call gomp_team_barrier_wake if
19311 current task is implicit or if(0) from implicit and number of
19312 running tasks is equal to nthreads - 1.
19315 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
19316 omp_get_team_size_8): Fix pastos.
19319 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
19320 * configure: Regenerated.
19321 * config.h.in: Regenerated.
19322 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
19325 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
19328 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
19329 (GOMP_loop_ull_dynamic_start): Likewise.
19330 (GOMP_loop_ull_guided_start): Likewise.
19331 (GOMP_loop_ull_ordered_static_start): Likewise.
19332 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
19333 (GOMP_loop_ull_ordered_guided_start): Likewise.
19335 2008-06-06 Jakub Jelinek <jakub@redhat.com>
19336 Richard Henderson <rth@redhat.com>
19337 Ulrich Drepper <drepper@redhat.com>
19338 Jakob Blomer <jakob.blomer@ira.uka.de>
19340 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
19341 Substitute also OMP_*LOCK_25*.
19342 * configure: Regenerated.
19343 * config.h.in: Regenerated.
19344 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
19345 ptrlock.c and task.c.
19346 * Makefile.in: Regenerated.
19347 * testsuite/Makefile.in: Regenerated.
19348 * task.c: New file.
19349 * loop_ull.c: New file.
19350 * iter_ull.c: New file.
19351 * libgomp.h: Include ptrlock.h.
19352 (enum gomp_task_kind): New type.
19353 (struct gomp_team): Add task_lock, task_queue, task_count,
19354 task_running_count, single_count fields. Add
19355 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
19356 Remove work_share_lock, generation_mask,
19357 oldest_live_gen, num_live_gen and init_work_shares fields, add
19358 work work_share_list_alloc, work_share_list_free and work_share_chunk
19359 fields. Change work_shares from pointer to pointers into an array.
19360 Change ordered_release field into gomp_sem_t ** from flexible array
19361 member. Add implicit_task and initial_work_shares fields.
19362 Move close to the end of the struct.
19363 (struct gomp_team_state): Add single_count, last_work_share,
19364 active_level and level fields, remove work_share_generation.
19365 (gomp_barrier_handle_tasks): New prototype.
19366 (gomp_finish_task): New inline function.
19367 (struct gomp_work_share): Move chunk_size, end, incr into
19368 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
19369 next_ll fields. Reshuffle fields. Add next_alloc,
19370 next_ws, next_free and inline_ordered_team_ids fields, change
19371 ordered_team_ids into pointer from flexible array member.
19372 Add mode field. Put lock and next into a different cache line
19373 from most of the write-once fields.
19374 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
19375 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
19376 gomp_iter_ull_guided_next): New prototypes.
19377 (gomp_new_icv): New prototype.
19378 (struct gomp_thread): Add thread_pool and task fields.
19379 (struct gomp_thread_pool): New type.
19380 (gomp_new_team): New prototype.
19381 (gomp_team_start): Change type of last argument.
19382 (gomp_new_work_share): Removed.
19383 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
19384 (gomp_work_share_init_done): New static inline.
19385 (gomp_throttled_spin_count_var, gomp_available_cpus,
19386 gomp_managed_threads): New extern decls.
19387 (gomp_init_task): New prototype.
19388 (gomp_spin_count_var): New extern var decl.
19389 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
19390 or no alias support, or if not PIC.
19391 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
19392 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
19393 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
19394 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
19395 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
19396 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
19397 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
19398 gomp_test_nest_lock_25): New prototypes.
19399 (omp_lock_symver, strong_alias): Define.
19400 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
19402 (gomp_end_task): New.
19403 (struct gomp_task_icv, gomp_global_icv): New.
19404 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
19405 (struct gomp_task): New.
19406 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19407 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19409 (gomp_schedule_type): Reorder enum to match
19411 * team.c (struct gomp_thread_start_data): Add thread_pool and task
19413 (gomp_thread_start): Add gomp_team_barrier_wait call.
19414 For non-nested case remove clearing of docked thread thr fields.
19415 Use pool fields instead of global gomp_* variables. Use
19416 gomp_barrier_wait_last when needed. Initialize ts.active_level.
19417 Create tasks for each member thread.
19418 (free_team): Only destroy team barrier, task_lock here and free it.
19419 (gomp_free_thread): Free last_team if non-NULL.
19420 (gomp_team_end): Call gomp_team_barrier_wait instead of
19421 gomp_barrier_wait. For nested case call one extra
19422 gomp_barrier_wait. Move here some destruction from free_team.
19423 Call free_team on pool->last_team if any, rather than freeing
19424 current team. Destroy work_share_list_free_lock ifndef
19425 HAVE_SYNC_BUILTINS.
19426 (gomp_new_icv): New function.
19427 (gomp_threads, gomp_threads_size, gomp_threads_used,
19428 gomp_threads_dock): Removed.
19429 (gomp_thread_destructor): New variable.
19430 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
19432 (gomp_team_start): Create new pool if current thread doesn't have
19433 one. Use pool fields instead of global gomp_* variables.
19434 Initialize thread_pool field for new threads. Clear single_count.
19435 Change last argument from ws to team, don't create
19436 new team, set ts.work_share to &team->work_shares[0] and clear
19437 ts.last_work_share. Don't clear ts.work_share_generation.
19438 If number of threads changed, adjust atomically gomp_managed_threads.
19439 Use gomp_init_task instead of gomp_new_task,
19440 set thr->task to the corresponding implicit_task array entry.
19441 Create tasks for each member thread. Initialize ts.level.
19442 (initialize_team): Call pthread_key_create on
19443 gomp_thread_destructor.
19444 (team_destructor): New function.
19445 (new_team): Removed.
19446 (gomp_new_team): New function.
19447 (free_team): Free gomp_work_share blocks chained through next_alloc,
19448 instead of freeing work_shares and destroying work_share_lock.
19449 (gomp_team_end): Call gomp_fini_work_share. If number of threads
19450 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
19451 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
19452 of gomp_barrier_wait.
19453 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
19454 instead of gomp_barrier_wait. Call gomp_work_share_init_done
19455 if gomp_work_share_start returned true. Don't unlock ws->lock.
19456 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
19457 of gomp_barrier_wait.
19458 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
19459 gomp_work_share_init_done if gomp_work_share_start returned true.
19460 Don't unlock ws->lock.
19461 * work.c: Include stddef.h.
19462 (free_work_share): Use work_share_list_free_lock instead
19463 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
19464 Call gomp_fini_work_share and then either free ws if orphaned, or
19465 put it into work_share_list_free list of the current team.
19466 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
19468 (gomp_work_share_start, gomp_work_share_end,
19469 gomp_work_share_end_nowait): Rewritten.
19470 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
19471 (openmp_version): Set to 200805.
19472 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19473 omp_sched_guided, omp_sched_auto): New parameters.
19474 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19475 omp_set_max_active_levels, omp_get_max_active_levels,
19476 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19477 omp_get_active_level): New interfaces.
19478 * omp_lib.h.in (openmp_version): Set to 200805.
19479 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19480 omp_sched_guided, omp_sched_auto): New parameters.
19481 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19482 omp_set_max_active_levels, omp_get_max_active_levels,
19483 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19484 omp_get_active_level): New externals.
19485 * loop.c: Include limits.h.
19486 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
19488 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
19489 Likewise. Use gomp_icv.
19490 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
19491 ts.static_trip here.
19492 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
19493 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
19494 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
19495 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
19496 don't unlock ws->lock, otherwise lock it.
19497 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
19498 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
19499 (gomp_parallel_loop_start): Call gomp_new_team instead of
19500 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
19501 Adjust gomp_team_start caller. Pass 0 as second argument to
19502 gomp_resolve_num_threads.
19503 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
19504 If adding ws->chunk_size nthreads + 1 times after end won't
19505 overflow, set ws->mode to 1.
19506 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
19507 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
19508 GOMP_loop_ull_ordered_static_start,
19509 GOMP_loop_ull_ordered_dynamic_start,
19510 GOMP_loop_ull_ordered_guided_start,
19511 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
19512 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
19513 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
19514 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
19515 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
19517 * libgomp.map: Export lock routines also @@OMP_2.0.
19518 (GOMP_loop_ordered_dynamic_first,
19519 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
19520 GOMP_loop_ordered_static_first): Remove.
19521 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
19522 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
19523 GOMP_loop_ull_ordered_dynamic_next,
19524 GOMP_loop_ull_ordered_dynamic_start,
19525 GOMP_loop_ull_ordered_guided_next,
19526 GOMP_loop_ull_ordered_guided_start,
19527 GOMP_loop_ull_ordered_runtime_next,
19528 GOMP_loop_ull_ordered_runtime_start,
19529 GOMP_loop_ull_ordered_static_next,
19530 GOMP_loop_ull_ordered_static_start,
19531 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
19532 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
19533 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
19534 (omp_set_schedule, omp_get_schedule,
19535 omp_get_thread_limit, omp_set_max_active_levels,
19536 omp_get_max_active_levels, omp_get_level,
19537 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
19538 omp_set_schedule_, omp_set_schedule_8_,
19539 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19540 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19541 omp_get_max_active_levels_, omp_get_level_,
19542 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19543 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19544 New exports @@OMP_3.0.
19545 * omp.h.in (omp_sched_t): New type.
19546 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19547 omp_set_max_active_levels, omp_get_max_active_levels,
19548 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19549 omp_get_active_level): New prototypes.
19550 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
19551 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
19552 gomp_thread_limit_var, gomp_remaining_threads_count,
19553 gomp_remaining_threads_lock): New variables.
19554 (parse_spincount): New function.
19555 (initialize_env): Call gomp_init_num_threads unconditionally.
19556 Initialize gomp_available_cpus. Call parse_spincount,
19557 initialize gomp_{,throttled_}spin_count_var
19558 depending on presence and value of OMP_WAIT_POLICY and
19559 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
19560 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19561 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
19562 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
19563 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
19564 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19565 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19566 (gomp_global_icv): New.
19567 (parse_schedule): Use it. Parse "auto".
19568 (omp_set_num_threads): Use gomp_icv.
19569 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19571 (omp_get_max_threads): Move from parallel.c.
19572 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19573 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19575 (parse_stacksize, parse_wait_policy): New functions.
19576 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19577 both wrappers for compatibility and new locks.
19578 (omp_set_schedule, omp_get_schedule,
19579 omp_get_thread_limit, omp_set_max_active_levels,
19580 omp_get_max_active_levels, omp_get_level,
19581 omp_get_ancestor_thread_num, omp_get_team_size,
19582 omp_get_active_level): New ialias_redirect.
19583 (omp_set_schedule_, omp_set_schedule_8_,
19584 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19585 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19586 omp_get_max_active_levels_, omp_get_level_,
19587 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19588 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19590 * parallel.c: Include limits.h.
19591 (gomp_resolve_num_threads): Add count argument. Rewritten.
19592 (GOMP_parallel_start): Call gomp_new_team and pass that as last
19593 argument to gomp_team_start. Pass 0 as second argument to
19594 gomp_resolve_num_threads.
19595 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19596 if gomp_thread_limit_var != ULONG_MAX.
19597 (omp_in_parallel): Implement using ts.active_level.
19598 (omp_get_max_threads): Move to env.c.
19599 (omp_get_level, omp_get_ancestor_thread_num,
19600 omp_get_team_size, omp_get_active_level): New functions,
19602 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19603 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
19604 gomp_iter_dynamic_next instead of the _locked variant and don't take
19605 lock around it, otherwise acquire it before calling
19606 gomp_iter_dynamic_next_locked.
19607 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19608 gomp_iter_dynamic_next instead of the _locked variant and don't take
19610 (GOMP_parallel_sections_start): Call gomp_new_team instead of
19611 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
19612 Adjust gomp_team_start caller. Pass count as second argument to
19613 gomp_resolve_num_threads, don't adjust num_threads after the call.
19615 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19616 ws->chunk_size by incr.
19617 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
19619 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19621 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19622 (omp_check_defines): Check even the compat defines.
19623 * config/linux/ptrlock.c: New file.
19624 * config/linux/ptrlock.h: New file.
19625 * config/linux/wait.h: New file.
19626 * config/posix/ptrlock.c: New file.
19627 * config/posix/ptrlock.h: New file.
19628 * config/linux/bar.h (gomp_team_barrier_wait,
19629 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19630 (gomp_team_barrier_set_task_pending,
19631 gomp_team_barrier_clear_task_pending,
19632 gomp_team_barrier_set_waiting_for_tasks,
19633 gomp_team_barrier_waiting_for_tasks,
19634 gomp_team_barrier_done): New inlines.
19635 (gomp_barrier_t): Rewritten.
19636 (gomp_barrier_state_t): New typedef.
19637 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19638 gomp_barrier_wait_start): Rewritten.
19639 (gomp_barrier_wait_end): Change second argument to
19640 gomp_barrier_state_t.
19641 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19643 * config/linux/bar.c: Include wait.h instead of libgomp.h and
19645 (gomp_barrier_wait_end): Rewritten.
19646 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19647 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19648 * config/posix/bar.h (gomp_barrier_t): Add generation field.
19649 (gomp_barrier_state_t): New typedef.
19650 (gomp_team_barrier_wait,
19651 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19652 (gomp_barrier_wait_start): Or all but low 2 bits from generation
19653 into the return value. Return gomp_barrier_state_t.
19654 (gomp_team_barrier_set_task_pending,
19655 gomp_team_barrier_clear_task_pending,
19656 gomp_team_barrier_set_waiting_for_tasks,
19657 gomp_team_barrier_waiting_for_tasks,
19658 gomp_team_barrier_done): New inlines.
19659 (gomp_barrier_wait_end): Change second argument to
19660 gomp_barrier_state_t.
19661 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19663 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19664 (gomp_barrier_wait_end): Change second argument to
19665 gomp_barrier_state_t.
19666 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19667 gomp_team_barrier_wake): New functions.
19668 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19670 (gomp_futex_wake, gomp_futex_wait): New variables.
19671 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19672 * config/linux/lock.c: Rewrite to make locks task owned,
19673 for backwards compatibility provide the old entrypoints
19674 if symbol versioning. Include wait.h instead of libgomp.h and
19676 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19677 * config/posix95/lock.c: Rewrite to make locks task owned,
19678 for backwards compatibility provide the old entrypoints
19679 if symbol versioning.
19680 * config/posix/lock.c: Rewrite to make locks task owned,
19681 for backwards compatibility provide the old entrypoints
19682 if symbol versioning.
19683 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19684 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19685 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19686 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19687 (sys_futex0): Return error code.
19688 (futex_wake, futex_wait): If ENOSYS was returned, clear
19689 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19690 (cpu_relax, atomic_write_barrier): New static inlines.
19691 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19692 (futex_wake, futex_wait): If ENOSYS was returned, clear
19693 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19694 (cpu_relax, atomic_write_barrier): New static inlines.
19695 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19696 (sys_futex0): Return error code.
19697 (futex_wake, futex_wait): If ENOSYS was returned, clear
19698 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19699 (cpu_relax, atomic_write_barrier): New static inlines.
19700 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19701 (sys_futex0): Return error code.
19702 (futex_wake, futex_wait): If ENOSYS was returned, clear
19703 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19704 (cpu_relax, atomic_write_barrier): New static inlines.
19705 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19706 (sys_futex0): Return error code.
19707 (futex_wake, futex_wait): If ENOSYS was returned, clear
19708 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19709 (cpu_relax, atomic_write_barrier): New static inlines.
19710 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19711 (sys_futex0): Return error code.
19712 (futex_wake, futex_wait): If ENOSYS was returned, clear
19713 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19714 (cpu_relax, atomic_write_barrier): New static inlines.
19715 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19717 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19718 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19719 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19721 (omp_nest_lock_t): Change owner into void *, add lock field.
19722 * config/posix95/omp-lock.h: Include semaphore.h.
19723 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19724 (omp_lock_t): Use sem_t instead of mutex if semaphores
19726 (omp_nest_lock_t): Likewise. Change owner to void *.
19727 * config/posix/omp-lock.h: Include semaphore.h.
19728 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19729 (omp_lock_t): Use sem_t instead of mutex if semaphores
19731 (omp_nest_lock_t): Likewise. Add owner field.
19733 2008-06-06 Jakub Jelinek <jakub@redhat.com>
19735 * testsuite/libgomp.c/collapse-1.c: New test.
19736 * testsuite/libgomp.c/collapse-2.c: New test.
19737 * testsuite/libgomp.c/collapse-3.c: New test.
19738 * testsuite/libgomp.c/icv-1.c: New test.
19739 * testsuite/libgomp.c/icv-2.c: New test.
19740 * testsuite/libgomp.c/lib-2.c: New test.
19741 * testsuite/libgomp.c/lock-1.c: New test.
19742 * testsuite/libgomp.c/lock-2.c: New test.
19743 * testsuite/libgomp.c/lock-3.c: New test.
19744 * testsuite/libgomp.c/loop-4.c: New test.
19745 * testsuite/libgomp.c/loop-5.c: New test.
19746 * testsuite/libgomp.c/loop-6.c: New test.
19747 * testsuite/libgomp.c/loop-7.c: New test.
19748 * testsuite/libgomp.c/loop-8.c: New test.
19749 * testsuite/libgomp.c/loop-9.c: New test.
19750 * testsuite/libgomp.c/nested-3.c: New test.
19751 * testsuite/libgomp.c/nestedfn-6.c: New test.
19752 * testsuite/libgomp.c/sort-1.c: New test.
19753 * testsuite/libgomp.c/task-1.c: New test.
19754 * testsuite/libgomp.c/task-2.c: New test.
19755 * testsuite/libgomp.c/task-3.c: New test.
19756 * testsuite/libgomp.c/task-4.c: New test.
19757 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19758 to C++ testsuite default compiler options.
19759 * testsuite/libgomp.c++/collapse-1.C: New test.
19760 * testsuite/libgomp.c++/collapse-2.C: New test.
19761 * testsuite/libgomp.c++/ctor-10.C: New test.
19762 * testsuite/libgomp.c++/for-1.C: New test.
19763 * testsuite/libgomp.c++/for-2.C: New test.
19764 * testsuite/libgomp.c++/for-3.C: New test.
19765 * testsuite/libgomp.c++/for-4.C: New test.
19766 * testsuite/libgomp.c++/for-5.C: New test.
19767 * testsuite/libgomp.c++/loop-8.C: New test.
19768 * testsuite/libgomp.c++/loop-9.C: New test.
19769 * testsuite/libgomp.c++/loop-10.C: New test.
19770 * testsuite/libgomp.c++/task-1.C: New test.
19771 * testsuite/libgomp.c++/task-2.C: New test.
19772 * testsuite/libgomp.c++/task-3.C: New test.
19773 * testsuite/libgomp.c++/task-4.C: New test.
19774 * testsuite/libgomp.c++/task-5.C: New test.
19775 * testsuite/libgomp.c++/task-6.C: New test.
19776 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19777 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19778 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19779 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19780 * testsuite/libgomp.fortran/collapse1.f90: New test.
19781 * testsuite/libgomp.fortran/collapse2.f90: New test.
19782 * testsuite/libgomp.fortran/collapse3.f90: New test.
19783 * testsuite/libgomp.fortran/collapse4.f90: New test.
19784 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19785 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19786 * testsuite/libgomp.fortran/lib4.f90: New test.
19787 * testsuite/libgomp.fortran/lock-1.f90: New test.
19788 * testsuite/libgomp.fortran/lock-2.f90: New test.
19789 * testsuite/libgomp.fortran/nested1.f90: New test.
19790 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19791 * testsuite/libgomp.fortran/strassen.f90: New test.
19792 * testsuite/libgomp.fortran/tabs1.f90: New test.
19793 * testsuite/libgomp.fortran/tabs2.f: New test.
19794 * testsuite/libgomp.fortran/task1.f90: New test.
19795 * testsuite/libgomp.fortran/task2.f90: New test.
19796 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19797 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19798 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19799 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19800 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19802 2008-05-23 Jakub Jelinek <jakub@redhat.com>
19805 * testsuite/libgomp.c++/ctor-11.C: New test.
19806 * testsuite/libgomp.c++/ctor-12.C: New test.
19808 2008-05-15 Janis Johnson <janis187@us.ibm.com>
19810 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19812 2008-05-07 Jakub Jelinek <jakub@redhat.com>
19814 PR middle-end/36106
19815 * testsuite/libgomp.c/atomic-5.c: New test.
19816 * testsuite/libgomp.c/atomic-6.c: New test.
19817 * testsuite/libgomp.c/autopar-1.c: New test.
19819 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19821 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19822 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19823 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19824 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19825 * configure: Regenerate.
19826 * Makefile.in, testsuite/Makefile.in: Likewise.
19828 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
19831 * aclocal.m4: Regenerate.
19832 * configure: Regenerate.
19834 2008-03-18 Jakub Jelinek <jakub@redhat.com>
19836 PR middle-end/35611
19837 * testsuite/libgomp.c/atomic-4.c: New test.
19840 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19841 (gomp_iter_guided_next): Likewise.
19842 * testsuite/libgomp.c/pr35625.c: New test.
19844 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19846 * aclocal.m4: Regenerate.
19847 * configure: Likewise.
19848 * Makefile.in: Likewise.
19849 * testsuite/Makefile.in: Likewise.
19851 2008-03-13 Jakub Jelinek <jakub@redhat.com>
19853 PR middle-end/35185
19854 * testsuite/libgomp.c++/pr35185.C: New test.
19856 2008-03-12 Jakub Jelinek <jakub@redhat.com>
19858 PR middle-end/35549
19859 * testsuite/libgomp.c/pr35549.c: New test.
19861 2008-03-06 Jakub Jelinek <jakub@redhat.com>
19863 * testsuite/libgomp.c/atomic-3.c: New test.
19865 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19868 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
19869 .F08 file suffixes.
19871 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19874 * configure.ac: Add ACX_HEADER_STRING.
19875 * env.c: Include strings.h.
19876 * aclocal.m4: Regenerate.
19877 * config.h.in: Regenerate.
19878 * configure: Regenerate.
19879 * Makefile.in: Regenerate.
19880 * testsuite/Makefile.in: Regenerate.
19882 2008-02-15 Jakub Jelinek <jakub@redhat.com>
19884 PR middle-end/35196
19885 * testsuite/libgomp.c/pr35196.c: New test.
19887 PR middle-end/35130
19888 * testsuite/libgomp.fortran/pr35130.f90: New test.
19889 * testsuite/libgomp.c/pr35130.c: New test.
19891 2008-01-25 Jakub Jelinek <jakub@redhat.com>
19893 PR middle-end/33880
19894 * testsuite/libgomp.c/pr33880.c: New test.
19895 * testsuite/libgomp.fortran/pr33880.f90: New test.
19897 2008-01-24 David Edelsohn <edelsohn@gnu.org>
19899 * configure: Regenerate.
19901 2008-01-08 Jakub Jelinek <jakub@redhat.com>
19903 * configure.ac: Move futex checking into ../config/futex.m4.
19904 * configure: Rebuilt.
19905 * aclocal.m4: Rebuilt.
19906 * Makefile.in: Rebuilt.
19908 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19909 2007-10-15 ../config/tls.m4 change.
19911 2007-12-19 Jakub Jelinek <jakub@redhat.com>
19914 * testsuite/libgomp.c/pr34513.c: New test.
19915 * testsuite/libgomp.c++/pr34513.C: New test.
19917 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19920 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19922 2007-12-04 Jakub Jelinek <jakub@redhat.com>
19924 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19926 2007-12-03 Jakub Jelinek <jakub@redhat.com>
19928 * testsuite/libgomp.c/private-1.c: New test.
19930 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19931 Paolo Bonzini <bonzini@gnu.org>
19933 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19934 instead of 'VPATH ='.
19935 * Makefile.in: Regenerate.
19937 2007-11-23 Matthias Klose <doko@ubuntu.com>
19939 * configure.ac: Adjust makeinfo version check.
19940 * configure: Regenerate.
19942 2007-11-10 Jakub Jelinek <jakub@redhat.com>
19945 * testsuite/libgomp.fortran/pr34020.f90: New test.
19947 2007-11-06 Jakub Jelinek <jakub@redhat.com>
19950 * testsuite/libgomp.c++/atomic-1.C: New test.
19952 2007-10-25 Jakub Jelinek <jakub@redhat.com>
19955 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19956 Make x and y integers rather than (implicit) reals. Add private (j)
19957 clause to the last omp parallel.
19959 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19961 * configure: Regenerate following changes to ../config/tls.m4.
19963 2007-09-28 Jakub Jelinek <jakub@redhat.com>
19965 * testsuite/libgomp.fortran/stack.f90: New test.
19967 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19969 * config/mingw32/proc.c: New file.
19971 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
19973 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19974 (main): Use __get_cpuid to get i386 target fetaures.
19975 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19976 (main): Use __get_cpuid to get x86_64 target fetaures.
19978 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19981 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19982 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19984 2007-07-12 Jakub Jelinek <jakub@redhat.com>
19987 * testsuite/libgomp.fortran/pr32550.f90: New test.
19988 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19990 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19992 * aclocal.m4: Regenerated.
19994 2007-07-05 Tobias Burnus <burnus@net-b.de>
19997 * testsuite/libgomp.fortran/pr32359.f90: New.
19999 2007-07-02 Jakub Jelinek <jakub@redhat.com>
20002 * sections.c (GOMP_parallel_sections_start): Only decrease
20003 number of threads to COUNT if dyn_var is true.
20004 * testsuite/libgomp.c/pr32468.c: New test.
20006 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
20009 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
20011 2007-06-21 Jakub Jelinek <jakub@redhat.com>
20013 PR middle-end/32362
20014 * testsuite/libgomp.c/pr32362-1.c: New test.
20015 * testsuite/libgomp.c/pr32362-2.c: New test.
20016 * testsuite/libgomp.c/pr32362-3.c: New test.
20018 2007-06-07 Jakub Jelinek <jakub@redhat.com>
20020 * team.c (gomp_team_start): Fix setting up thread_attr
20023 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
20025 * configure: Regenerate.
20027 2007-05-23 Steve Ellcey <sje@cup.hp.com>
20029 * Makefile.in: Regenerate.
20030 * configure: Regenerate.
20031 * aclocal.m4: Regenerate.
20032 * testsuite/Makefile.in: Regenerate.
20034 2007-05-04 Jakub Jelinek <jakub@redhat.com>
20036 * config/linux/proc.c: New file.
20039 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
20041 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
20043 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
20045 2007-04-16 Matthias Klose <doko@debian.org>
20047 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
20048 flags if not building with -m64.
20049 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
20050 flag for i?86-*-* targets, if current target matches -m64.
20052 2007-04-14 Steve Ellcey <sje@cup.hp.com>
20054 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
20055 * Makefile.in: Regenerate.
20057 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
20060 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
20062 * testsuite/libgomp.fortran/fortran.exp: Likewise.
20064 2007-04-04 Jakub Jelinek <jakub@redhat.com>
20066 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
20068 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
20069 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
20070 (parse_affinity): New function.
20071 (initialize_env): Call it and gomp_init_affinity.
20072 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
20073 create new pthread_attr_t and call gomp_init_thread_affinity
20074 on it for each thread before passing the attribute to pthread_create.
20075 * config/linux/affinity.c: New file.
20076 * config/posix/affinity.c: New file.
20077 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
20078 * configure: Rebuilt.
20079 * config.h.in: Rebuilt.
20080 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
20081 * Makefile.in: Rebuilt.
20083 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
20085 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
20087 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
20088 and use it if found.
20090 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
20092 * testsuite/config/default.exp: New file.
20093 * testsuite/lib/libgomp.exp: New file.
20094 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
20095 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
20096 load_lib *, load_gcc_lib *): Move to libgomp.exp.
20097 (libgomp_load): Remove.
20098 * testsuite/lib/libgomp.exp (libgomp_init): Compute
20099 always_ld_library_path, not ld_library_path. Set additional_flags
20100 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
20101 (target_compile): Do not call libgomp_init. Append lang_library_path
20102 and lang_link_flags to options.
20103 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
20104 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
20106 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
20107 always_ld_library_path. Set LD_LIBRARY_PATH here.
20108 * testsuite/libgomp.fortran/fortran.exp: Ditto.
20109 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
20110 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
20112 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
20113 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
20114 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
20115 * testsuite/libgomp.c/pr29947-1.c: Ditto.
20116 * testsuite/libgomp.c/atomic-10.c: Ditto.
20118 2007-03-21 Jakub Jelinek <jakub@redhat.com>
20120 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
20121 dg-final cleanup-modules line.
20122 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
20123 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
20124 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
20125 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
20126 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
20127 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
20128 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
20130 2007-03-18 Andreas Schwab <schwab@suse.de>
20132 * acinclude.m4: Adjust regular expression for ld version
20134 * configure: Regenerate.
20136 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
20138 * Makefile.am: Add install-pdf target as copied from
20139 automake v1.10 rules.
20140 * Makefile.in: Regenerate
20142 2007-02-07 Jakub Jelinek <jakub@redhat.com>
20145 * configure: Regenerate.
20148 * testsuite/libgomp.c++/pr30703.C: New test.
20150 2007-02-02 Jakub Jelinek <jakub@redhat.com>
20153 2006-07-05 Eric Christopher <echristo@apple.com>
20154 * configure.ac: Depend addition of -pthread on host OS.
20155 * configure: Regenerate.
20157 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
20159 * libgomp.texi: Fix spacing after abbreviations.
20161 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
20164 * configure.ac: Add check for makeinfo
20165 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
20166 if an appropriate version of makeinfo is found.
20167 * aclocal.m4: Regenerated.
20168 * configure: Regenerated.
20169 * Makefile.in: Regenerated.
20170 * testsuite/Makefile.in: Regenerated.
20172 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
20175 * libgomp.texi: More about implementation-dependent settings.
20177 2007-01-26 Tobias Burnus <burnus@net-b.de>
20179 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
20181 2007-01-24 Jakub Jelinek <jakub@redhat.com>
20183 PR middle-end/30494
20184 * testsuite/libgomp.c/pr30494.c: New test.
20186 2007-01-15 Tom Tromey <tromey@redhat.com>
20188 * configure: Rebuilt.
20189 * configure.ac: Fixed comment.
20191 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
20193 * libgomp.texi: Document implementation specific default values of
20194 environment variables.
20196 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
20199 * libgomp.texi: New file.
20200 * configure.ac: Add --enable-generated-files-in-srcdir option.
20201 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
20203 * Makefile.in: Regenerated.
20204 * config.h.in: Regenerated.
20205 * testsuite/Makefile.in: Regenerated.
20208 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
20211 * env.c (omp_set_num_threads): Set illegal thread count to 1.
20213 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
20215 * configure: Regenerate.
20217 2006-12-04 Jakub Jelinek <jakub@redhat.com>
20220 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
20221 start if there shouldn't be any loop iterations.
20222 (gomp_loop_ordered_static_start): Remove start == end test.
20223 * testsuite/libgomp.c/pr29947-1.c: New test.
20224 * testsuite/libgomp.c/pr29947-2.c: New test.
20226 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
20228 * configure.tgt: Force initial-exec TLS model on Linux only.
20230 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
20232 * configure: Regenerated.
20234 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
20236 * env.c (parse_schedule): Reject out of range values.
20237 (parse_unsigned_long): Reject out of range, negative or zero values.
20239 2006-10-29 Jakub Jelinek <jakub@redhat.com>
20242 * testsuite/libgomp.fortran/pr29629.f90: New test.
20244 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
20247 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
20248 * config/posix95: New directory.
20249 * config/posix95/omp-lock.h: New file.
20250 * config/posix95/lock.c: Likewise.
20252 2006-10-14 Geoffrey Keating <geoffk@apple.com>
20254 * aclocal.m4: Regenerate.
20255 * configure: Regenerate.
20257 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
20259 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
20262 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
20264 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
20266 * configure: Regenerate.
20267 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
20269 2006-09-26 Jakub Jelinek <jakub@redhat.com>
20271 PR middle-end/25261
20272 PR middle-end/28790
20273 * testsuite/libgomp.c/nestedfn-4.c: New test.
20274 * testsuite/libgomp.c/nestedfn-5.c: New test.
20275 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
20278 * testsuite/libgomp.fortran/condinc1.f: New test.
20279 * testsuite/libgomp.fortran/condinc2.f: New test.
20280 * testsuite/libgomp.fortran/condinc3.f90: New test.
20281 * testsuite/libgomp.fortran/condinc4.f90: New test.
20282 * testsuite/libgomp.fortran/condinc1.inc: New file.
20284 2006-09-18 Tom Tromey <tromey@redhat.com>
20286 * configure: Rebuilt.
20288 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
20291 PR preprocessor/14634
20292 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
20294 * configure: Regenerate.
20296 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
20298 * testsuite/libgomp.fortran/reduction3.f90: Change
20299 -2147483648 to -huge(i)-1 to avoid overflow.
20300 * testsuite/libgomp.fortran/reduction4.f90: Change
20301 Z'ffffffff' to not(0) to avoid overflow.
20303 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
20306 * Makefile.am (libsubincludedir): New.
20307 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
20308 * Makefile.in: Regenerate.
20310 2006-08-17 Jakub Jelinek <jakub@redhat.com>
20313 * env.c: Include ctype.h.
20314 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
20315 leading and/or trailing whitespace and compare strings case
20318 2006-07-16 Jakub Jelinek <jakub@redhat.com>
20321 * testsuite/libgomp.fortran/pr28390.f: New test.
20323 2006-07-05 Eric Christopher <echristo@apple.com>
20325 * configure.ac: Depend addition of -pthread on host OS.
20326 * configure: Regenerate.
20328 2006-06-21 Jakub Jelinek <jakub@redhat.com>
20330 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
20331 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
20334 2006-06-20 Jakub Jelinek <jakub@redhat.com>
20338 * configure.ac: If neither --enable-linux-futex nor
20339 --disable-linux-futex is passed, determine the default by checking
20340 for compiling and/or running against NPTL. With --enable-linux-futex,
20341 check if SYS_gettid and SYS_futex are defined.
20342 * configure: Rebuilt.
20344 2006-06-14 Richard Henderson <rth@redhat.com>
20347 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
20348 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
20350 2006-06-09 Richard Henderson <rth@redhat.com>
20352 * env.c (gomp_nthreads_var): Change to unsigned long.
20353 (gomp_run_sched_chunk): Likewise.
20354 (parse_unsigned_long): Rename from parse_num_threads and generalize.
20355 (initialize_env): Initialize gomp_thread_attr.
20356 * libgomp.h (gomp_nthreads_var): Update decl.
20357 (gomp_run_sched_chunk): Likewise.
20358 (gomp_thread_attr): Declare.
20359 * team.c (gomp_thread_attr): Export.
20360 (initialize_team): Don't initialize it.
20362 2006-06-09 Jakub Jelinek <jakub@redhat.com>
20365 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
20366 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
20368 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
20370 * config/mingw32/time.c: New file.
20371 * configure.tgt: Use it.
20373 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
20375 * Makefile.am: Add install-html target. Add install-html to .PHONY
20376 * Makefile.in: Regenerate.
20378 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
20381 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
20382 * testsuite/libgomp.c/critical-1.c: Likewise.
20383 * testsuite/libgomp.c/loop-1.c: Likewise.
20384 * testsuite/libgomp.c/loop-2.c: Likewise.
20385 * testsuite/libgomp.c/single-1.c: Likewise.
20386 * testsuite/libgomp.c/ordered-1.c: Likewise.
20387 * testsuite/libgomp.c/ordered-2.c: Likewise.
20389 2006-05-15 Jakub Jelinek <jakub@redhat.com>
20391 PR middle-end/27416
20392 * libgomp.fortran/pr27416-1.f90: New test.
20394 2006-05-03 Jakub Jelinek <jakub@redhat.com>
20397 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
20398 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
20400 2006-05-02 Jakub Jelinek <jakub@redhat.com>
20403 * testsuite/libgomp.c/pr26943-1.c: New test.
20404 * testsuite/libgomp.c/pr26943-2.c: New test.
20405 * testsuite/libgomp.c/pr26943-3.c: New test.
20406 * testsuite/libgomp.c/pr26943-4.c: New test.
20407 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
20408 * testsuite/libgomp.c++/pr26943.C: New test.
20410 2006-05-02 Jakub Jelinek <jakub@redhat.com>
20412 PR middle-end/27337
20413 * testsuite/libgomp.c++/pr27337.C: New test.
20415 2006-04-26 Jakub Jelinek <jakub@redhat.com>
20418 * testsuite/libgomp.c/pr26171.c: New test.
20420 2006-04-25 Richard Henderson <rth@redhat.com>
20423 * configure.ac: Use GCC_CHECK_TLS.
20424 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
20425 * Makefile.in, aclocal.m4, configure: Regenerate.
20427 2006-04-10 Matthias Klose <doko@debian.org>
20429 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
20430 directory names containing underscores.
20432 2006-03-21 Jakub Jelinek <jakub@redhat.com>
20435 * testsuite/libgomp.c++/pr26691.C: New test.
20437 2006-03-13 Jakub Jelinek <jakub@redhat.com>
20439 * testsuite/libgomp.fortran/retval2.f90: New test.
20441 2006-03-09 Diego Novillo <dnovillo@redhat.com>
20443 * testsuite/libgomp.c++: New directory.
20445 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
20447 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
20448 * config/posix/sem.c: Implement the above.
20450 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
20452 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
20453 define HAVE_BROKEN_POSIX_SEMAPHORES.
20454 * configure: Rebuilt.
20455 * config.h.in: Rebuilt.
20457 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
20460 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
20461 for the other pthread check.
20462 * configure: Regenerate.
20463 * config.h.in: Regenerate.
20465 2006-02-15 Jakub Jelinek <jakub@redhat.com>
20469 * Makefile.am (fincludedir): New variable.
20470 (nodist_include_HEADERS): Remove Fortran files.
20471 (nodist_finclude_HEADERS): New variable.
20472 * Makefile.in: Regenerated.
20474 2006-02-13 Jakub Jelinek <jakub@redhat.com>
20476 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
20477 Remove tests for returning assumed character length arrays.
20479 2006-02-12 Roger Sayle <roger@eyesopen.com>
20480 John David Anglin <dave@hiauly1.hia.nrc.ca>
20483 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
20485 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
20487 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
20489 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
20491 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
20492 part of LD_LIBRARY_PATH manually.
20494 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
20497 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
20500 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
20503 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
20504 * configure.ac (PERL): Don't set.
20505 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
20506 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
20507 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
20508 * omp.h.in: Wrap the new configure substitutions with @ characters.
20509 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
20510 * aclocal.m4, configure, Makefile.in: Regenerate.
20511 * mkomp_h.pl: Delete.
20513 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
20516 * configure.ac: Use GCC_HEADER_STDINT.
20517 * libgomp.h: Include gstdint.h.
20518 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
20519 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
20521 2006-01-24 Richard Henderson <rth@redhat.com>
20524 * configure.ac: Add AM_MAINTAINER_MODE.
20525 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
20527 2006-01-24 Diego Novillo <dnovillo@redhat.com>
20529 * Makefile.in: Regenerate.
20530 * testsuite/Makefile.in: Regenerate.
20531 * aclocal.m4: Regenerate.
20533 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
20535 * config/posix/proc.c: Conditional include of sys/loadavg.h for
20537 * configure.ac: Add check for loadavg.h.
20538 (link_gomp): Adjust comment.
20539 * configure: Regenerate.
20540 * config.h.in: Regenerate.
20542 2006-01-21 Steve Ellcey <sje@cup.hp.com>
20545 * configure.ac: Remove check for alloca.h.
20546 * configure: Regenerate.
20547 * config.h.in: Regenerate.
20548 * libgomp.h: define gomp_alloca to be __builtin_alloca.
20549 * team.c: Remove use of alloca.h.
20550 Call gomp_alloca instead of alloca.
20552 2006-01-20 Steve Ellcey <sje@cup.hp.com>
20555 * team.c: Add include of alloca.h.
20556 * configure.ac: Add check for alloca.h.
20557 * configure: Regenerate.
20558 * config.h.in: Regenerate.
20560 2006-01-17 Jakub Jelinek <jakub@redhat.com>
20563 * testsuite/libgomp.fortran/pr25219.f90: New test.
20565 2005-12-05 Uros Bizjak <uros@kss-loka.si>
20567 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20568 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20569 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20570 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20571 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20572 testsuite/libgomp.fortran/threadprivate1.f90,
20573 testsuite/libgomp.fortran/threadprivate2.f90,
20574 testsuite/libgomp.fortran/threadprivate3.f90,
20575 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20576 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20577 testsuite/libgomp.fortran/omp_parse3.f90: Change required
20578 effective-target to TLS runtime.
20580 * testsuite/libgomp.fortran/pr25162.f: Require
20581 effective-target TLS runtime.
20583 2005-12-01 Jakub Jelinek <jakub@redhat.com>
20585 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20586 * testsuite/libgomp.c/nestedfn-3.c: New test.
20588 2005-11-30 Jakub Jelinek <jakub@redhat.com>
20591 * testsuite/libgomp.fortran/pr25162.f: New test.
20593 2005-11-28 Jakub Jelinek <jakub@redhat.com>
20595 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20596 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20598 2005-11-25 Jakub Jelinek <jakub@redhat.com>
20600 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20601 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20602 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20603 single.c, team.c, work.c, config/linux/alpha/futex.h,
20604 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20605 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20606 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20607 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20608 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20609 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20610 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20613 2005-11-18 Jakub Jelinek <jakub@redhat.com>
20615 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20616 to nodist_noinst_HEADERS.
20617 * Makefile.in: Rebuilt.
20619 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20620 add integer count field.
20621 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20622 omp_nest_lock_t type change.
20623 (omp_init_nest_lock): Likewise. Initialize count to 0.
20624 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20626 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20628 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20629 Increment count if successful and return the new nesting level.
20630 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20631 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20632 * testsuite/libgomp.c/lib-1.c: New test.
20633 * testsuite/libgomp.fortran/lib1.f90: New test.
20634 * testsuite/libgomp.fortran/lib2.f: New test.
20635 * testsuite/libgomp.fortran/lib3.f: New test.
20637 2005-11-17 Richard Henderson <rth@redhat.com>
20640 * Makefile.am (nodist_toolexeclib_HEADERS): New.
20641 * configure.ac (link_gomp): New. Substitute it.
20642 (AC_CONFIG_FILES): Add libgomp.spec.
20643 * libgomp.spec.in: New file.
20644 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20645 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20647 2005-11-18 Jakub Jelinek <jakub@redhat.com>
20649 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20650 reduction(-:var) behaving the same as reduction(+:var).
20651 * testsuite/libgomp.c/reduction-4.c: New test.
20653 2005-11-15 Uros Bizjak <uros@kss-loka.si>
20655 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20656 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20657 testsuite/libgomp.c/copyin-3.c,
20658 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20659 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20660 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20661 testsuite/libgomp.c++/pr24455.C,
20662 testsuite/libgomp.fortran/threadprivate1.f90,
20663 testsuite/libgomp.fortran/threadprivate2.f90,
20664 testsuite/libgomp.fortran/threadprivate3.f90,
20665 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20666 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20667 testsuite/libgomp.fortran/omp_parse3.f90: Require
20668 effective-target TLS.
20670 2005-11-14 Diego Novillo <dnovillo@redhat.com>
20674 2005-11-13 Jakub Jelinek <jakub@redhat.com>
20677 * team.c (initialize_team): Pass NULL rather than free as
20678 pthread_key_create destructor. Initialize thread specific data
20679 pointer in initial thread to a static local variable rather than
20682 2005-11-11 Uros Bizjak <uros@kss-loka.si>
20684 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20685 its location to ld_library_path.
20687 2005-11-10 Diego Novillo <dnovillo@redhat.com>
20689 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20691 2005-11-10 Diego Novillo <dnovillo@redhat.com>
20693 * testsuite/libgomp.c: Rename from libgomp.dg.
20695 2005-11-09 Diego Novillo <dnovillo@redhat.com>
20697 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20698 threadprivate variable 'i'.
20700 2005-11-09 Jakub Jelinek <jakub@redhat.com>
20702 * config/linux/s390/futex.h: New file.
20703 * configure.tgt: Use it.
20705 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20706 before the parallel.
20708 2005-11-08 Jakub Jelinek <jakub@redhat.com>
20711 * testsuite/libgomp.c++/master-1.C: New test.
20713 2005-11-07 Jakub Jelinek <jakub@redhat.com>
20715 * testsuite/libgomp.dg/copyin-3.c: New test.
20717 2005-11-07 Jakub Jelinek <jakub@redhat.com>
20719 * testsuite/libgomp.fortran/retval1.f90: New test.
20720 * testsuite/libgomp.fortran/vla7.f90: New test.
20722 2005-11-06 Jakub Jelinek <jakub@redhat.com>
20724 * testsuite/libgomp.fortran/vla2.f90: New test.
20725 * testsuite/libgomp.fortran/vla3.f90: New test.
20726 * testsuite/libgomp.fortran/vla4.f90: New test.
20727 * testsuite/libgomp.fortran/vla5.f90: New test.
20728 * testsuite/libgomp.fortran/vla6.f90: New test.
20730 2005-11-01 Jakub Jelinek <jakub@redhat.com>
20732 * config/linux/sparc/futex.h: New file.
20733 * configure.tgt: Use it.
20734 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20736 * critical.c: Include stdlib.h.
20737 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20738 ignoring return value.
20739 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20740 LIBGOMP_CHECK_SYNC_BUILTINS check.
20741 * configure: Rebuilt.
20743 2005-10-31 Jakub Jelinek <jakub@redhat.com>
20745 * testsuite/libgomp.fortran/vla1.f90: New test.
20747 2005-10-31 Richard Henderson <rth@redhat.com>
20749 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20750 setting 's' in different threads.
20752 2005-10-31 Jakub Jelinek <jakub@redhat.com>
20754 * libgomp.h (attribute_hidden, ialias): Define.
20755 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20756 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20757 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20758 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20759 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20760 omp_test_lock, omp_test_nest_lock): Likewise.
20761 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20762 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20763 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20764 omp_test_lock, omp_test_nest_lock): Likewise.
20765 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20766 omp_get_dynamic, omp_get_nested): Likewise.
20767 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20768 omp_get_thread_num, omp_in_parallel): Likewise.
20769 * fortran.c (ialias_redirect): Define.
20770 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20771 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20772 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20773 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20774 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20775 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20776 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20777 omp_get_wtime): Add ialias_redirect.
20779 2005-10-30 Jakub Jelinek <jakub@redhat.com>
20781 * fortran.c: Include stdlib.h.
20783 2005-10-29 Jakub Jelinek <jakub@redhat.com>
20785 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20786 * Makefile.in: Regenerated.
20788 2005-10-28 Jakub Jelinek <jakub@redhat.com>
20790 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20791 * libgomp_f.h.in (omp_check_defines): New function.
20792 * env.c: Include libgomp_f.h.
20793 (initialize_env): Call omp_check_defines.
20795 * testsuite/libgomp.dg/copyin-2.c: New test.
20796 * testsuite/libgomp.c++/copyin-2.C: New test.
20797 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20799 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20800 * testsuite/libgomp.fortran/sharing2.f90: New test.
20802 * testsuite/libgomp.dg/copyin-1.c: New test.
20803 * testsuite/libgomp.c++/copyin-1.C: New test.
20805 2005-10-26 Jakub Jelinek <jakub@redhat.com>
20807 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20809 * testsuite/libgomp.fortran/workshare1.f90: New test.
20811 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20813 * libgomp.fortran/sharing1.f90: New test.
20815 2005-10-24 Jakub Jelinek <jakub@redhat.com>
20818 * testsuite/libgomp.c++/loop-7.C: New test.
20820 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20822 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20823 * testsuite/libgomp.fortran/reduction6.f90: New test.
20824 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20826 2005-10-23 Richard Henderson <rth@redhat.com>
20828 * testsuite/libgomp.c++/ctor-1.C: New.
20829 * testsuite/libgomp.c++/ctor-2.C: New.
20830 * testsuite/libgomp.c++/ctor-3.C: New.
20831 * testsuite/libgomp.c++/ctor-4.C: New.
20832 * testsuite/libgomp.c++/ctor-5.C: New.
20833 * testsuite/libgomp.c++/ctor-6.C: New.
20834 * testsuite/libgomp.c++/ctor-7.C: New.
20835 * testsuite/libgomp.c++/ctor-8.C: New.
20836 * testsuite/libgomp.c++/ctor-9.C: New.
20838 2005-10-21 Diego Novillo <dnovillo@redhat.com>
20841 * testsuite/libgomp.c++/pr24455-1.C: New test.
20842 * testsuite/libgomp.c++/pr24455.C: New test.
20843 * testsuite/libgomp.dg/pr24455-1.c: New test.
20844 * testsuite/libgomp.dg/pr24455.c: New test.
20846 2005-10-20 Richard Henderson <rth@redhat.com>
20848 * testsuite/libgomp.c++/loop-6.C: New.
20849 * testsuite/libgomp.dg/loop-3.c: New.
20851 2005-10-20 Jakub Jelinek <jakub@redhat.com>
20853 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20854 explicitly private.
20855 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20858 2005-10-19 Diego Novillo <dnovillo@redhat.com>
20860 * testsuite/libgomp.fortran/jacobi.f: New test.
20862 2005-10-19 Richard Henderson <rth@redhat.com>
20864 * configure.tgt (i?86-linux): Default to with_arch instead of
20865 CFLAGS. Add -mtune to match target_cpu.
20866 (x86_64-linux): Tune to i686.
20868 * fortran.c (omp_test_nest_lock_): Fix typo.
20870 2005-10-19 Jakub Jelinek <jakub@redhat.com>
20872 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20873 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20874 * testsuite/libgomp.dg/ordered-3.c: New test.
20876 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20877 Remove volatile keyword.
20879 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20880 in COMMON block to avoid warnings on 64-bit targets.
20882 2005-10-18 Diego Novillo <dnovillo@redhat.com>
20884 * testsuite/libgomp.dg/shared-3.c: New test.
20886 2005-10-18 Jakub Jelinek <jakub@redhat.com>
20888 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20889 * testsuite/libgomp.fortran/reduction5.f90: New test.
20891 2005-10-18 Jakub Jelinek <jakub@redhat.com>
20893 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20895 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20896 flush loop now that __sync_synchronize has proper memory barrier.
20897 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20898 Add -ffixed-form to dg-options.
20900 2005-10-17 Diego Novillo <dnovillo@redhat.com>
20902 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20903 from subdirectories.
20904 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20905 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20906 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20907 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20908 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20909 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20910 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20911 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20912 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20913 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20914 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20915 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20916 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20917 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20918 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20919 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20920 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20921 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20922 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20923 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20924 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20925 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20926 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20927 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20928 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20930 2005-10-17 Jakub Jelinek <jakub@redhat.com>
20932 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20933 lang_library_path exists. Use find instead of glob to gather tests.
20934 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20936 2005-10-17 Diego Novillo <dnovillo@redhat.com>
20938 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20939 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20940 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20941 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20942 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20943 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20944 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20945 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20946 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20947 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20948 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20949 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20950 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20952 2005-10-15 Jakub Jelinek <jakub@redhat.com>
20954 * testsuite/libgomp.dg/vla-1.c: New test.
20956 * testsuite/libgomp.fortran/reference2.f90: New test.
20958 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20959 declaration of omp_get_thread_num.
20960 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20963 * testsuite/libgomp.fortran/reduction1.f90: New test.
20964 * testsuite/libgomp.fortran/reduction2.f90: New test.
20965 * testsuite/libgomp.fortran/reduction3.f90: New test.
20966 * testsuite/libgomp.fortran/reduction4.f90: New test.
20968 2005-10-13 Richard Henderson <rth@redhat.com>
20970 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20971 * Makefile.in: Regenerate.
20972 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20973 * libgomp.h: Include bar.h.
20974 (struct gomp_barrier): Remove.
20975 (struct gomp_team): Add barrier. Replace master_barrier with
20976 master_release. Replace threads with ordered_release.
20977 (struct gomp_thread): Replace barrier with release.
20978 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20979 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20980 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20981 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20982 (GOMP_single_copy_end): Likewise.
20983 * team.c (gomp_threads_dock): New.
20984 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20985 (gomp_thread_start): Use gomp_barrier_wait.
20986 (new_team, free_team): Update for gomp_team changes.
20987 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20988 (gomp_team_end): Use gomp_barrier_wait.
20989 (initialize_team): Update for gomp_thread changes.
20990 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20991 (gomp_work_share_end_nowait): Use atomic ops when available.
20992 * config/linux/bar.c, config/linux/bar.h: New files.
20993 * config/posix/bar.c, config/posix/bar.h: New files.
20995 2005-10-13 Jakub Jelinek <jakub@redhat.com>
20997 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20998 * testsuite/libgomp.dg/single-2.c: New test.
21000 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
21001 lang_link_flags): Unset, so that they aren't inherited from previously
21004 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
21006 2005-10-12 Richard Henderson <rth@redhat.com>
21008 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
21009 (libgomp_init): Use lang_test_file, lang_library_path, and
21010 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
21012 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
21013 (lang_test_file, lang_link_flags): New.
21014 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
21016 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
21017 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
21018 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
21019 testsuite/libgomp.c++/parallel-1.C,
21020 testsuite/libgomp.c++/reduction-1.C,
21021 testsuite/libgomp.c++/reduction-2.C,
21022 testsuite/libgomp.c++/reduction-3.C,
21023 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
21024 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
21025 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
21026 New files, largely cribbed from the C testsuite.
21028 2005-10-12 Jakub Jelinek <jakub@redhat.com>
21030 * testsuite/libgomp.fortran/character1.f90: New test.
21031 * testsuite/libgomp.fortran/character2.f90: New test.
21033 * testsuite/libgomp.dg/nested-1.c: New test.
21034 * testsuite/libgomp.dg/nested-2.c: New test.
21035 * testsuite/libgomp.fortran/do1.f90: New test.
21036 * testsuite/libgomp.fortran/do2.f90: New test.
21038 * testsuite/libgomp.fortran/reference1.f90: New test.
21040 2005-10-11 Jakub Jelinek <jakub@redhat.com>
21042 * testsuite/libgomp.dg/reduction-1.c: New test.
21043 * testsuite/libgomp.dg/reduction-2.c: New test.
21044 * testsuite/libgomp.dg/reduction-3.c: New test.
21046 2005-10-10 Jakub Jelinek <jakub@redhat.com>
21048 * testsuite/libgomp.dg/atomic-1.c: New test.
21049 * testsuite/libgomp.dg/atomic-2.c: New test.
21051 2005-10-09 Richard Henderson <rth@redhat.com>
21053 * critical.c (atomic_lock): New.
21054 (initialize_critical): Initialize it.
21055 (GOMP_atomic_start, GOMP_atomic_end): New.
21056 * libgomp.map: Export them.
21057 * libgomp_g.h: Declare them.
21059 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
21061 2005-10-02 Richard Henderson <rth@redhat.com>
21063 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
21064 to XCFLAGS instead of CFLAGS.
21066 2005-09-30 Richard Henderson <rth@redhat.com>
21068 * configure.ac: Determine whether -pthread or -lpthread is needed.
21069 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
21070 * Makefile.in, configure: Rebuild.
21072 2005-09-28 Richard Henderson <rth@redhat.com>
21074 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
21075 * testsuite/libgomp.dg/omp-single-3.c: New test.
21077 2005-09-28 Diego Novillo <dnovillo@redhat.com>
21079 * testsuite/libgomp.dg/omp-single-2.c: New test.
21080 * testsuite/libgomp.dg/shared-2.c: Fix return code.
21082 2005-09-27 Richard Henderson <rth@redhat.com>
21084 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
21085 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
21087 2005-09-27 Jakub Jelinek <jakub@redhat.com>
21089 * testsuite/libgomp.dg/omp-loop03.c: New test.
21091 2005-09-27 Diego Novillo <dnovillo@redhat.com>
21093 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
21095 2005-09-27 Diego Novillo <dnovillo@redhat.com>
21097 * testsuite/libgomp.dg/omp-single-1.c: New test.
21098 * testsuite/libgomp.dg/shared-1.c: Return 0.
21099 Add prototype for abort.
21100 * testsuite/libgomp.dg/shared-2.c: Likewise.
21102 2005-09-26 Jakub Jelinek <jakub@redhat.com>
21104 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
21107 2005-09-26 Diego Novillo <dnovillo@redhat.com>
21109 * testsuite/libgomp.dg/shared-1.c: New test.
21110 * testsuite/libgomp.dg/shared-2.c: New test.
21112 2005-09-24 Richard Henderson <rth@redhat.com>
21114 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
21116 2005-09-24 Richard Henderson <rth@redhat.com>
21118 * iter.c (gomp_iter_static_next): Round up when computing number
21119 of iterations. Don't bother distributing a remainder equally.
21121 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
21122 Don't call srand. Zero b before testing.
21125 2005-09-24 Jakub Jelinek <jakub@redhat.com>
21127 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
21128 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
21130 2005-09-23 Jakub Jelinek <jakub@redhat.com>
21132 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
21133 without !$omp end do, followed immediately by subroutine end.
21135 2005-09-23 Diego Novillo <dnovillo@redhat.com>
21137 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
21139 2005-09-22 Richard Henderson <rth@redhat.com>
21141 * critical.c (GOMP_critical_name_start): Change argument to void**.
21142 Reuse the pointer space if the mutex fits.
21143 (GOMP_critical_name_end): Likewise.
21144 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
21145 * libgomp_g.h (GOMP_critical_name_start): Update decl.
21146 (GOMP_critical_name_end): Likewise.
21147 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
21148 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
21150 2005-09-20 Richard Henderson <rth@redhat.com>
21152 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
21153 (create_lock_lock): New.
21154 (initialize_critical): Initialize it.
21155 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
21156 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
21158 2005-09-20 Diego Novillo <dnovillo@redhat.com>
21160 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
21162 2005-09-20 Diego Novillo <dnovillo@redhat.com>
21164 * testsuite/libgomp.dg/omp-loop01.c: New test.
21165 * testsuite/libgomp.dg/omp-loop02.c: New test.
21167 2005-09-20 Jakub Jelinek <jakub@redhat.com>
21169 * configure.ac (AC_PROG_FC): Add.
21170 (USE_FORTRAN): New automake conditional.
21171 * configure: Rebuilt.
21172 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
21173 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
21174 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
21175 Add rules to build them.
21176 * Makefile.in: Rebuilt.
21177 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
21178 OMP_NEST_LOCK_KIND.
21179 * libgomp.map: Add Fortran wrappers.
21180 * libgomp_f.h.in: New file.
21181 * omp_lib.h.in: New file.
21182 * omp_lib.f90.in: New file.
21183 * fortran.c: New file.
21184 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
21185 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
21186 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
21187 libgfortran has been built.
21188 * testsuite/libgomp.fortran/fortran.exp: New file.
21189 * testsuite/libgomp.fortran/omp_cond1.f: New test.
21190 * testsuite/libgomp.fortran/omp_cond2.f: New test.
21191 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
21192 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
21193 * testsuite/libgomp.fortran/omp_hello.f: New test.
21194 * testsuite/libgomp.fortran/omp_orphan.f: New test.
21195 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
21196 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
21197 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
21198 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
21199 * testsuite/libgomp.fortran/omp_reduction.f: New test.
21200 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
21201 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
21203 2005-08-30 Richard Henderson <rth@redhat.com>
21205 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
21206 function for when aliases are not usable.
21207 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
21208 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
21209 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
21210 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
21211 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
21212 GOMP_loop_ordered_guided_next): Likewise.
21213 * ordered.c (GOMP_ordered_start): Likewise.
21215 2005-08-01 Diego Novillo <dnovillo@redhat.com>
21217 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
21218 * testsuite/libgomp.dg/omp_hello.c: Fix return code
21219 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
21220 * testsuite/libgomp.dg/omp_orphan.c: Likewise
21221 * testsuite/libgomp.dg/omp_reduction.c: Likewise
21222 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
21223 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
21224 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
21225 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
21227 2005-07-07 Eric Christopher <echristo@redhat.com>
21228 Diego Novillo <dnovillo@redhat.com>
21230 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
21231 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
21233 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
21234 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
21235 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
21236 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
21237 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
21238 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
21239 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
21241 2005-06-13 Diego Novillo <dnovillo@redhat.com>
21243 * TOPLEVEL.patch: Remove.
21245 2005-05-16 Richard Henderson <rth@redhat.com>
21247 * configure.ac: Test for clock_gettime.
21248 * config.h.in, configure: Rebuild.
21249 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
21250 (omp_get_wtime): Use clock_gettime if available.
21251 (omp_get_wtick): Use clock_getres if available.
21253 2005-05-11 Richard Henderson <rth@redhat.com>
21255 * config/linux/ia64/futex.h: New file.
21256 * configure.tgt: Use it.
21258 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
21260 2005-05-07 Richard Henderson <rth@redhat.com>
21262 * config/linux/powerpc/futex.h: New file.
21263 * configure.tgt: Use it.
21265 * config/linux/i486/futex.h: Merge ...
21266 * config/linux/x86_64/futex.h: ... into ...
21267 * config/linux/x86/futex.h: ... here.
21268 * configure.tgt: Update to match.
21270 2005-05-06 Richard Henderson <rth@redhat.com>
21272 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
21273 * config/linux/i486/futex.h: Likewise.
21274 * config/linux/x86_64/futex.h: Likewise.
21276 * config/linux/lock.c: New file.
21277 * config/linux/omp-lock.h: New file.
21279 * critical.c, env.h: Don't include omp.h
21280 * config/posix/lock.c: Include libgomp.h instead of omp.h.
21281 * config/posix/time.c: Likewise.
21282 * config/posix/omp-lock.h: New file.
21283 * libgomp.h: Include omp-lock.h and omp.h.
21284 * Makefile.am (nodist_include_HEADERS): New.
21286 * configure.ac (PERL): New.
21287 * mkomp_h.pl: New file.
21288 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
21290 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
21292 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
21293 build directory. Re-add -march=i486 hack.
21295 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
21296 (libgomp_link_flags): Remove.
21297 (libgomp_initialized): Remove.
21298 (libgomp_init): Don't protect from reinitialization. Copy code
21299 from libstdc++ for getting the multilib set correctly.
21301 2005-05-05 Richard Henderson <rth@redhat.com>
21303 * config/linux/alpha/futex.h: New file.
21304 * configure.tgt (alpha*-*-linux*): Use it.
21306 * config/posix/mutex.c: New file.
21307 * config/posix/sem.c: Use libgomp.h.
21309 * configure.tgt (x86_64-linux): Also test CC for -m32.
21310 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
21312 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
21315 * Makefile.am (SUBDIRS): New.
21316 (libgomp_la_LDFLAGS): Add -lpthread.
21317 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
21318 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
21320 * libgomp_g.h: New file.
21321 * libgomp.h: Split out all public declarations to libgomp_g.h.
21322 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
21323 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
21324 * config/linux/sem.h: Likewise.
21325 * config/posix/sem.h: Likewise.
21327 * Makefile.am (AM_LDFLAGS): New.
21328 (libgomp_version_script): Split out from ...
21329 (libgomp_la_LDFLAGS): ... here.
21330 (libgomp_version_info): New.
21331 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
21332 (LIBGOMP_ENABLE): New.
21333 (LIBGOMP_CHECK_LINKER_FEATURES): New.
21334 (LIBGOMP_ENABLE_SYMVERS): New.
21335 * configure.ac (AC_INIT): Version 1.0.
21336 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
21337 (enable-linux-futex): Likewise. Rename from enable-futex.
21338 (libtool_VERSION): New.
21339 (LIBGOMP_ENABLE_SYMVERS): Use it.
21340 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
21341 * Makefile.in, aclocal.m4, configure: Rebuild.
21343 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
21344 (gomp_mutex_unlock_slow): Fix typo.
21345 * config/linux/sem.c: Similarly.
21346 (gomp_sem_post_slow): Fix typo.
21347 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
21348 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
21349 [__PIC__] (sys_futex0): Don't use tmp output in asm.
21351 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
21352 (libgomp_la_LDFLAGS): Add top_srcdir to path.
21353 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
21354 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
21355 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
21356 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
21357 LDFLAGS. Pull enable_futex check to top-level.
21358 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
21359 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
21361 First attempt at real configury.
21362 * Makefile, config.h: Remove file.
21363 * Makefile.am, Makefile.in: New file.
21364 * acinclude.m4 aclocal.m4: New file.
21365 * configure.ac, configure.tgt, configure: New file.
21367 * config/posix/lock.c: Rename from sys-lock.c.
21368 * config/posix/mutex.h: Rename from sys-mutex.h.
21369 * config/posix/sem.c: Rename from sys-sem.c.
21370 * config/posix/sem.h: Rename from sys-sem.h.
21371 * config/posix/proc.c: Rename from sys-proc.c.
21372 * config/posix/time.c: Rename from sys-proc.c.
21374 * config/linux/mutex.c: New file.
21375 * config/linux/mutex.h: New file.
21376 * config/linux/sem.c: New file.
21377 * config/linux/sem.h: New file.
21378 * config/linux/i486/futex.h: New file.
21379 * config/linux/x86_64/futex.h: New file.
21381 2005-05-04 Richard Henderson <rth@redhat.com>
21383 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
21384 * libgomp.h: Declare them.
21385 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
21386 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
21388 2005-05-04 Richard Henderson <rth@redhat.com>
21390 * libgomp-1 code drop
21392 2005-05-04 Richard Henderson <rth@redhat.com>
21394 * iter.c (gomp_iter_static_next): Return tri-state on 0.
21395 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
21396 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
21397 (gomp_iter_static_next): Update.
21398 (gomp_ordered_static_next): Update.
21399 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
21400 (gomp_loop_ordered_static_start): Likewise. Exit early for a
21401 totally empty range.
21402 (gomp_loop_ordered_static_next): Refine test for calling
21403 gomp_ordered_static_next.
21404 * testsuite/ordered-1.c: Add case for more threads than iterations.
21406 * iter.c (gomp_iter_runtime_next_locked): Remove.
21407 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
21408 gomp_loop_guided_start, gomp_loop_ordered_static_start,
21409 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
21410 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
21411 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
21412 gomp_loop_ordered_guided_next): Downcase name, make static, add
21413 an external alias with the old name.
21414 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
21415 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
21416 switch and call one of the above static functions.
21417 * libgomp.h: Update.
21419 * work.c (gomp_work_share_start): Lock the mutex for !first too.
21420 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
21421 GOMP_loop_guided_start, GOMP_loop_runtime_start,
21422 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
21423 GOMP_loop_ordered_guided_start): Update to match.
21424 * sections.c (GOMP_sections_start): Likewise.
21425 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
21427 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
21428 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
21429 Use bounds check instead of modulus.
21430 (gomp_ordered_sync): Split out of GOMP_ordered_start.
21431 (gomp_ordered_last): Don't sync with ordered_owner here.
21432 (gomp_ordered_next): Likewise.
21433 (gomp_ordered_static_loop_next): Likewise.
21434 * loop.c, libgomp.h: Update to match.
21436 * libgomp.h (GOMP_barrier): Declare.
21438 * testsuite/barrier-1.c: New file.
21439 * testsuite/critical-1.c: New file.
21440 * testsuite/ordered-2.c: New file.
21441 * testsuite/ordered-1.c: New file.
21442 * testsuite/sections-1.c: New file.
21443 * testsuite/single-1.c: New file.
21444 * testsuite/Makefile (TESTS): Add them.
21446 2005-05-04 Richard Henderson <rth@redhat.com>
21448 * libgomp.h (struct gomp_work_share): Add ordered_owner.
21449 * loop.c (GOMP_loop_static_start): If not the startup thread,
21450 acquire the mutex to wait for initialization complete.
21451 (GOMP_loop_ordered_static_start): Likewise.
21452 (GOMP_loop_ordered_runtime_start): Likewise.
21453 (GOMP_loop_ordered_static_first): Remove.
21454 (GOMP_loop_ordered_dynamic_first): Remove.
21455 (GOMP_loop_ordered_guided_first): Remove.
21456 (GOMP_loop_ordered_runtime_first): Remove.
21457 * ordered.c (gomp_ordered_loop_first): Post to own release when
21458 we're the first thread.
21459 (gomp_ordered_loop_last): Wait on release if not owner.
21460 (gomp_ordered_loop_next): Likewise.
21461 (gomp_ordered_static_loop_init): New.
21462 (gomp_ordered_static_loop_next): Use ordered_owner.
21463 (GOMP_ordered_start): Likewise.
21464 * work.c (gomp_new_work_share): Initialize ordered_owner.
21466 2005-05-03 Richard Henderson <rth@redhat.com>
21468 * Makefile (OPT): New.
21471 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
21472 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
21473 * libgomp.h, libgomp.map, NOTES: Update to match.
21475 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
21476 Add initialized and thr members.
21477 (gomp_thread_start): Pause when initially spawned to wait for
21478 the whole team to be created.
21479 (gomp_team_start): Release team members at the end.
21481 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
21482 (f_foo_1): Use GOMP_loop_end.
21483 (f_foo_2): Use GOMP_loop_end_nowait.
21485 * testsuite/loop-2.c: New file.
21486 * testsuite/Makefile (TESTS): Add it.
21488 2005-05-03 Richard Henderson <rth@redhat.com>
21490 * iter.c (gomp_iter_static_next): Fix overflow check typo.
21491 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
21492 * team.c (new_team): Initialize oldest_live_gen to 1 if no
21493 initial work_share.
21495 * testsuite/Makefile: New file.
21496 * testsuite/loop-1.c: New file.
21498 2005-05-03 Richard Henderson <rth@redhat.com>
21500 Initial implementation and checkin.
21502 Copyright (C) 2005-2024 Free Software Foundation, Inc.
21504 Copying and distribution of this file, with or without modification,
21505 are permitted in any medium without royalty provided the copyright
21506 notice and this notice are preserved.