1 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
3 * libgomp.texi (Top): Avoid bad "up" link.
5 2020-12-18 Jakub Jelinek <jakub@redhat.com>
7 * testsuite/libgomp.c/task-6.c: New test.
9 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
11 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
12 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
14 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
16 * testsuite/libgomp.fortran/scan-1.f90: New test.
18 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
21 * configure: Regenerate.
23 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
25 * configure: Regenerate.
27 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
29 * testsuite/libgomp.oacc-c++/cache-1.C: New.
30 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
32 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
34 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
37 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
39 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
40 (reserved): Delete unused define.
42 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
44 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
45 Tcl 8.5-specific behavior.
46 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
48 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
50 * env.c (gomp_global_icv): Remove nest_var field. Add
51 max_active_levels_var field.
52 (gomp_max_active_levels_var): Remove.
53 (parse_boolean): Return true on success.
54 (handle_omp_display_env): Express OMP_NESTED in terms of
55 max_active_levels_var. Change format specifier for
56 max_active_levels_var.
57 (initialize_env): Set max_active_levels_var from
58 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
60 * icv.c (omp_set_nested): Express in terms of
61 max_active_levels_var.
62 (omp_get_nested): Likewise.
63 (omp_set_max_active_levels): Use max_active_levels_var field instead
64 of gomp_max_active_levels_var.
65 (omp_get_max_active_levels): Likewise.
66 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
67 max_active_levels_var field.
68 (gomp_supported_active_levels): Set to UCHAR_MAX.
69 (gomp_max_active_levels_var): Delete.
70 * libgomp.texi (omp_get_nested): Update documentation.
71 (omp_set_nested): Likewise.
72 (OMP_MAX_ACTIVE_LEVELS): Likewise.
73 (OMP_NESTED): Likewise.
74 (OMP_NUM_THREADS): Likewise.
75 (OMP_PROC_BIND): Likewise.
76 * parallel.c (gomp_resolve_num_threads): Replace reference
77 to nest_var with max_active_levels_var. Use max_active_levels_var
78 field instead of gomp_max_active_levels_var.
80 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
82 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
83 nvptx_usleep; use also for device={arch(gcn)}.
85 2020-11-14 Jakub Jelinek <jakub@redhat.com>
87 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
88 (foo): Add tests for non-VLA private and firstprivate clauses on
90 (bar): Likewise. Remove taking of address from private/firstprivate
92 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
93 (foo): Add p, q, px and s arguments. Add tests for array reductions
94 and for non-VLA private and firstprivate clauses on omp task.
96 (main): Adjust foo caller. Don't call bar.
98 2020-11-13 Gergö Barany <gergo@codesourcery.com>
99 Thomas Schwinge <thomas@codesourcery.com>
101 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
103 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
105 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
107 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
108 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
110 2020-11-13 Gergö Barany <gergo@codesourcery.com>
111 Thomas Schwinge <thomas@codesourcery.com>
114 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
116 2020-11-13 Jakub Jelinek <jakub@redhat.com>
118 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
119 for array reductions.
120 (main): Adjust foo callers.
122 2020-11-12 Jakub Jelinek <jakub@redhat.com>
124 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
125 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
126 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
127 * allocator.c (omp_aligned_alloc): New for now static function,
128 add alignment argument and handle it.
129 (omp_alloc): Reimplement using omp_aligned_alloc.
130 (GOMP_alloc, GOMP_free): New functions.
131 (omp_free): Add ialias.
132 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
133 * testsuite/libgomp.c++/allocate-1.C: New test.
135 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
138 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
140 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
142 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
144 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
145 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
146 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
147 (goacc_enter_data_internal): Likewise.
148 * target.c (gomp_map_vars_internal):
149 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
150 of gomp_attach_pointer for OpenMP cases.
151 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
152 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
153 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
155 2020-11-05 Ulrich Drepper <drepper@redhat.com>
156 Kwok Cheung Yeung <kcy@codesourcery.com>
158 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
159 * Makefile.in: Regenerate.
160 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
161 pragmas to ignore -Wdeprecated-declarations warnings.
163 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
164 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
165 and omp_get_nested with __GOMP_DEPRECATED_5_0.
166 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
168 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
170 * testsuite/libgomp.c/affinity-1.c: Likewise.
171 * testsuite/libgomp.c/affinity-2.c: Likewise.
172 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
173 * testsuite/libgomp.c/lib-1.c: Likewise.
174 * testsuite/libgomp.c/nested-1.c: Likewise.
175 * testsuite/libgomp.c/nested-2.c: Likewise.
176 * testsuite/libgomp.c/nested-3.c: Likewise.
177 * testsuite/libgomp.c/pr32362-1.c: Likewise.
178 * testsuite/libgomp.c/pr32362-2.c: Likewise.
179 * testsuite/libgomp.c/pr32362-3.c: Likewise.
180 * testsuite/libgomp.c/pr35549.c: Likewise.
181 * testsuite/libgomp.c/pr42942.c: Likewise.
182 * testsuite/libgomp.c/pr61200.c: Likewise.
183 * testsuite/libgomp.c/sort-1.c: Likewise.
184 * testsuite/libgomp.c/target-5.c: Likewise.
185 * testsuite/libgomp.c/target-6.c: Likewise.
186 * testsuite/libgomp.c/teams-1.c: Likewise.
187 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
188 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
189 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
190 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
191 * testsuite/libgomp.fortran/lib1.f90: Likewise.
192 * testsuite/libgomp.fortran/lib2.f: Likewise.
193 * testsuite/libgomp.fortran/nested1.f90: Likewise.
194 * testsuite/libgomp.fortran/teams1.f90: Likewise.
196 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
199 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
200 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
201 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
203 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
207 * testsuite/lib/libgomp.exp (libgomp_init): Set
208 'gcc_warning_prefix', 'gcc_error_prefix'.
210 2020-10-30 Jakub Jelinek <jakub@redhat.com>
212 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
213 even in field_tgt_clear initializer.
215 2020-10-28 Jakub Jelinek <jakub@redhat.com>
217 * testsuite/libgomp.c/target-42.c: New test.
219 2020-10-28 Jakub Jelinek <jakub@redhat.com>
220 Tom de Vries <tdevries@suse.de>
223 * testsuite/libgomp.c/usleep.h: New file.
224 * testsuite/libgomp.c/target-32.c: Include usleep.h.
225 (main): Use tgt_usleep instead of usleep.
226 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
227 (main): Use tgt_usleep instead of usleep.
229 2020-10-28 Jakub Jelinek <jakub@redhat.com>
232 * testsuite/libgomp.c/declare-variant-1.c: New test.
234 2020-10-22 Jakub Jelinek <jakub@redhat.com>
236 * testsuite/libgomp.c/target-41.c: New test.
238 2020-10-22 Jakub Jelinek <jakub@redhat.com>
240 * icv.c (omp_get_initial_device): Remove including corresponding
242 * icv-device.c (omp_get_initial_device): New function. Return
243 gomp_get_num_devices (). Add ialias.
244 * target.c (resolve_device): Don't fail with
245 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
246 gomp_get_num_devices ().
247 (omp_target_alloc, omp_target_free, omp_target_is_present,
248 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
249 omp_target_disassociate_ptr, omp_pause_resource): Use
250 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
251 first use in the functions, in uses dominated by the
252 gomp_get_num_devices call use num_devices_openmp instead.
253 * libgomp.texi (omp_get_initial_device): Document.
254 * config/gcn/icv-device.c (omp_get_initial_device): New function.
256 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
257 * testsuite/libgomp.c/target-40.c: New test.
259 2020-10-21 Jakub Jelinek <jakub@redhat.com>
261 * env.c (parse_target_offload): Change new_offload var type to int,
262 preinitialize to -1, remove found var and test new_offload != -1
265 2020-10-20 Jakub Jelinek <jakub@redhat.com>
267 * target.c (gomp_target_init): Inside of the function, use automatic
268 variables corresponding to num_devices, num_devices_openmp and devices
269 global variables and update the globals only at the end of the
272 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
274 * env.c (gomp_target_offload_var): New.
275 (parse_target_offload): New.
276 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
277 (initialize_env): Parse OMP_TARGET_OFFLOAD.
278 * libgomp.h (gomp_target_offload_t): New.
279 (gomp_target_offload_var): New.
280 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
281 * target.c (resolve_device): Generate error if device not found and
282 offloading is mandatory.
283 (gomp_target_fallback): Generate error if offloading is mandatory.
284 (GOMP_target): Add argument in call to gomp_target_fallback.
285 (GOMP_target_ext): Likewise.
286 (gomp_target_data_fallback): Generate error if offloading is mandatory.
287 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
288 (GOMP_target_data_ext): Likewise.
289 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
290 (gomp_target_init): Return early if offloading is disabled.
292 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
294 * libgomp.texi (omp_get_max_active_levels): Modify description.
295 (omp_get_supported_active_levels): Make descriptions consistent.
297 2020-10-14 Jakub Jelinek <jakub@redhat.com>
299 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
301 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
303 * env.c (gomp_max_active_levels_var): Initialize to
304 gomp_supported_active_levels.
305 (initialize_env): Limit gomp_max_active_levels_var to be at most
306 equal to gomp_supported_active_levels.
307 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
308 (omp_get_supported_active_levels_): New.
309 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
310 to at most equal to gomp_supported_active_levels.
311 (omp_get_supported_active_levels): New.
312 * libgomp.h (gomp_supported_active_levels): New.
313 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
314 omp_get_supported_active_levels_.
315 * libgomp.texi (omp_get_supported_active_levels): New.
316 (omp_set_max_active_levels): Update. Add reference to
317 omp_get_supported_active_levels.
318 * omp.h.in (omp_get_supported_active_levels): New.
319 * omp_lib.f90.in (omp_get_supported_active_levels): New.
320 * omp_lib.h.in (omp_get_supported_active_levels): New.
321 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
322 against omp_get_supported_active_levels.
323 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
325 2020-10-11 Clement Chigot <clement.chigot@atos.net>
327 * config/t-aix: Delete and recreate libgomp before creating
330 2020-10-08 Tom de Vries <tdevries@suse.de>
333 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
336 2020-10-06 Tom de Vries <tdevries@suse.de>
338 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
340 2020-10-06 Tom de Vries <tdevries@suse.de>
343 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
345 2020-10-05 Tom de Vries <tdevries@suse.de>
348 * testsuite/libgomp.fortran/pr95654.f90: New test.
350 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
352 * Makefile.in: Regenerate with automake 1.15.1.
353 * aclocal.m4: Likewise.
354 * configure: Likewise.
355 * testsuite/Makefile.in: Likewise.
357 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
359 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
362 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
364 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
366 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
368 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
369 total number of threads is one.
370 (gomp_team_barrier_wake): Likewise.
371 (gomp_team_barrier_wait_end): Likewise.
372 (gomp_team_barrier_wait_cancel_end): Likewise.
373 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
374 (gomp_team_barrier_wake): Likewise.
375 (gomp_team_barrier_wait_end): Likewise.
376 (gomp_team_barrier_wait_cancel_end): Likewise.
377 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
379 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
382 * testsuite/libgomp.c++/pr96390.C: New test.
383 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
385 2020-09-27 Clement Chigot <clement.chigot@atos.net>
387 * config/t-aix: Use $(AR) without -X32_64.
389 2020-09-25 Jakub Jelinek <jakub@redhat.com>
391 * testsuite/libgomp.c/loop-25.c: New test.
393 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
396 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
398 2020-09-22 Tom de Vries <tdevries@suse.de>
400 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
403 2020-09-16 Nathan Sidwell <nathan@acm.org>
405 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
407 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
410 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
412 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
415 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
416 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
417 (gomp_map_vars_existing): Update call to it.
418 (gomp_map_fields_existing): Likewise
419 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
420 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
422 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
424 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
425 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
427 2020-09-14 Tom de Vries <tdevries@suse.de>
429 * config/nvptx/atomic.c: New file. Add
430 __sync_val_compare_and_swap_16.
431 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
432 target offload_target_nvptx.
434 2020-09-08 Julian Brown <julian@codesourcery.com>
436 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
437 iteration-ordering assumptions.
439 2020-09-08 Julian Brown <julian@codesourcery.com>
441 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
442 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
444 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
446 * plugin/plugin-nvptx.c (nvptx_free):
447 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
448 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
451 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
453 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
455 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
457 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
459 2020-08-13 Jakub Jelinek <jakub@redhat.com>
461 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
462 * testsuite/libgomp.c/loop-23.c (main): Likewise.
463 * testsuite/libgomp.c/loop-24.c: New test.
465 2020-08-08 Jakub Jelinek <jakub@redhat.com>
466 Tobias Burnus <tobias@codesourcery.com>
469 * testsuite/libgomp.fortran/pr93553.f90: New test.
471 2020-08-05 Jakub Jelinek <jakub@redhat.com>
473 * testsuite/libgomp.c/loop-22.c: New test.
474 * testsuite/libgomp.c/loop-23.c: New test.
476 2020-08-05 Jakub Jelinek <jakub@redhat.com>
479 * testsuite/libgomp.c/teams-3.c: New test.
480 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
482 (N(test)): Use it before all N(f*) calls.
483 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
484 (main): Don't call all test_* functions from within
485 #pragma omp teams reduction(|:err), call them directly.
487 2020-08-04 Tom de Vries <tdevries@suse.de>
490 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
491 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
493 2020-08-03 Julian Brown <julian@codesourcery.com>
494 Thomas Schwinge <thomas@codesourcery.com>
496 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
497 shared-memory devices. Extend with further checking.
499 2020-08-03 Martin Jambor <mjambor@suse.cz>
501 * plugin/Makefrag.am: Remove configuration of HSA plugin.
502 * aclocal.m4: Regenerated.
503 * Makefile.in: Regenerated.
504 * config.h.in: Regenerated.
505 * configure: Regenerated.
506 * plugin/configfrag.ac: Likewise.
507 * plugin/hsa_ext_finalize.h: Removed.
508 * plugin/plugin-hsa.c: Likewise.
509 * testsuite/Makefile.in: Regenerated.
510 * testsuite/lib/libgomp.exp
511 (offload_target_to_openacc_device_type): Remove hsa case.
512 (check_effective_target_hsa_offloading_selected_nocache): Removed
513 (check_effective_target_hsa_offloading_selected): Likewise.
514 (libgomp_init): Do not add -Wno-hsa to additional_flags.
515 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
516 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
517 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
518 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
519 * testsuite/libgomp.hsa.c/c.exp: Likewise.
520 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
521 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
522 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
523 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
524 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
525 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
526 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
527 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
528 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
529 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
530 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
531 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
532 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
533 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
534 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
535 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
536 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
537 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
538 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
540 2020-07-27 Julian Brown <julian@codesourcery.com>
541 Thomas Schwinge <thomas@codesourcery.com>
543 * libgomp.h (struct target_var_desc): Rename do_detach field to
545 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
546 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
547 (goacc_enter_data_internal): Don't affect reference counts
549 (goacc_exit_data_internal): Don't affect reference counts for detach
551 * target.c (gomp_map_vars_existing): Don't affect reference counts for
553 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
554 mark attach mappings.
555 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
556 reference count for attach mappings.
557 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
558 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
559 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
560 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
562 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
563 gracefully in no-finalize mode.
564 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
566 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
568 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
570 * testsuite/libgomp.oacc-c/c.exp: Likewise.
571 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
573 2020-07-23 Julian Brown <julian@codesourcery.com>
574 Thomas Schwinge <thomas@codesourcery.com>
576 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
577 finalization for detach operation.
578 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
581 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
583 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
584 * libgomp_f.h.in (omp_check_defines): Check whether
585 sizeof of determined Fortran kind and C typedef match.
586 * omp_lib.f90.in: Add omp_depened_kind.
587 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
588 * configure: Regenerate.
589 * Makefile.in: Regenerate.
590 * testsuite/Makefile.in: Regenerate.
592 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
594 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
595 gcc/testsuite/c-c++-common/gomp/.
596 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
597 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
598 from gcc/testsuite/gfortran.dg/gomp/.
599 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
601 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
603 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
604 * omp_lib.h.in: Likewise.
606 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
609 * testsuite/libgomp.c/pr95620.c: New test.
611 2020-07-16 Julian Brown <julian@codesourcery.com>
612 Thomas Schwinge <thomas@codesourcery.com>
614 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
615 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
617 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
619 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
620 avoid conversion on 32bit systems from 32bit to 64bit due
621 to -fdefault-integer-8.
623 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
625 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
626 variables; add character(kind=4) tests; update TODO comment.
628 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
630 * allocator.c: Add ialias for omp_init_allocator and
631 omp_destroy_allocator.
632 * configure.ac: Set INTPTR_T_KIND.
633 * configure: Regenerate.
634 * Makefile.in: Regenerate.
635 * testsuite/Makefile.in: Regenerate.
636 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
637 omp_set_default_allocator_, omp_get_default_allocator_): New
638 functions and ialias_redirect.
639 * icv.c: Add ialias for omp_set_default_allocator and
640 omp_get_default_allocator.
641 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
642 omp_destroy_allocator_, omp_set_default_allocator_ and
643 omp_get_default_allocator_.
644 * omp_lib.f90.in: Add allocator traits parameters, declare
645 allocator routines and add related kind parameters.
646 * omp_lib.h.in: Likewise.
647 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
648 * testsuite/libgomp.fortran/alloc-1.F90: New test.
649 * testsuite/libgomp.fortran/alloc-2.F90: New test.
650 * testsuite/libgomp.fortran/alloc-3.F: New test.
651 * testsuite/libgomp.fortran/alloc-4.f90: New test.
652 * testsuite/libgomp.fortran/alloc-5.f90: New test.
654 2020-07-14 Tom de Vries <tom@codesourcery.com>
655 Cesar Philippidis <cesar@codesourcery.com>
656 Thomas Schwinge <thomas@codesourcery.com>
657 Kwok Cheung Yeung <kcy@codesourcery.com>
659 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
661 (acc_init_1): Set acc_init_thread to pthread_self (). Set
662 acc_init_state to initializing at the start, and to initialized at the
664 (self_initializing_p): New function.
665 (acc_get_device_type): Return acc_device_none if called by thread that
666 is currently executing acc_init_1.
667 * libgomp.texi (acc_get_device_type): Update documentation.
668 (Implementation Status and Implementation-Defined Behavior): Likewise.
669 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
671 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
673 * config/t-aix: Set BITS from compiler cpp macro.
675 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
677 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
679 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
682 * testsuite/libgomp.fortran/target-map-1.f90: New test.
684 2020-07-14 Jakub Jelinek <jakub@redhat.com>
686 * testsuite/libgomp.c/loop-21.c: New test.
688 2020-07-13 Julian Brown <julian@codesourcery.com>
689 Thomas Schwinge <thomas@codesourcery.com>
691 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
693 2020-07-10 Julian Brown <julian@codesourcery.com>
694 Thomas Schwinge <thomas@codesourcery.com>
696 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
698 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
699 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
701 (acc_unmap_data): Update comment.
702 (goacc_map_var_existing, goacc_enter_datum): Adjust for
703 dynamic_refcount semantics.
704 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
705 Adjust for dynamic_refcount semantics.
706 (goacc_enter_data_internal): Implement "present" case of dynamic
707 memory-map handling here. Update "non-present" case for
708 dynamic_refcount semantics.
709 (goacc_exit_data_internal): Use goacc_exit_datum_1.
710 * target.c (gomp_map_vars_internal): Remove
711 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
713 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
714 (gomp_load_image_to_device): Substitute dynamic_refcount for
716 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
717 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
718 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
719 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
720 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
722 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
724 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
726 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
727 Remove stale comment.
728 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
729 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
730 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
731 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
732 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
733 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
735 2020-07-10 Julian Brown <julian@codesourcery.com>
736 Thomas Schwinge <thomas@codesourcery.com>
738 * oacc-mem.c (goacc_map_var_existing): New function.
739 (goacc_enter_datum): Use above function.
740 (goacc_exit_datum_1): New function.
741 (goacc_exit_datum): Use above function.
743 2020-07-09 Julian Brown <julian@codesourcery.com>
744 Thomas Schwinge <thomas@codesourcery.com>
747 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
748 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
750 2020-07-09 Julian Brown <julian@codesourcery.com>
752 * oacc-mem.c (find_group_last): Group data-movement clauses
753 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
754 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
756 2020-07-09 Jakub Jelinek <jakub@redhat.com>
758 * testsuite/libgomp.c/loop-19.c: New test.
759 * testsuite/libgomp.c/loop-20.c: New test.
761 2020-07-09 Jakub Jelinek <jakub@redhat.com>
763 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
764 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
765 it. Remove __omp_alloctrait_value_max__.
766 * allocator.c (omp_init_allocator): Handle omp_atv_default for
767 omp_atk_alignment and omp_atk_pool_size.
769 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
771 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
772 behavior for 'GOMP_MAP_FORCE_FROM'.
773 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
775 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
777 * oacc-mem.c (goacc_exit_data_internal): Remove
778 'GOMP_MAP_ALWAYS_FROM' handling.
780 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
782 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
783 'scan-assembler' with 'scan-offload-rtl'.
784 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
785 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
786 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
787 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
789 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
791 * target.c (gomp_map_vars_existing): Assert 'kind !=
793 (gomp_map_vars_internal): Clean up.
795 2020-06-27 Jakub Jelinek <jakub@redhat.com>
797 * testsuite/libgomp.c/loop-17.c: New test.
798 * testsuite/libgomp.c/loop-18.c: New test.
800 2020-06-26 Marek Polacek <polacek@redhat.com>
802 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
804 2020-06-23 Alexandre Oliva <oliva@adacore.com>
806 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
807 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
809 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
811 * Makefile.am: Use -include.
812 * Makefile.in: Regenerate.
814 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
816 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
817 * Makefile.in: Regenerate
818 * configure.ac (tmake_file): Substitute.
819 * configure: Regenerate.
820 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
821 * config/t-aix: New file.
823 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
826 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
829 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
831 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
832 variant for HSA_RUNTIME_LIB name.
833 (find_executable_symbol_1): Delete.
834 (find_executable_symbol): Delete.
835 (init_kernel_properties): Add ".kd" suffix to symbol names.
836 (find_load_offset): Delete.
837 (create_and_finalize_hsa_program): Remove relocation handling.
839 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
841 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
843 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
847 * testsuite/libgomp.fortran/target-var.f90: New test.
849 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
850 Julian Brown <julian@codesourcery.com>
852 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
855 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
856 Julian Brown <julian@codesourcery.com>
858 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
861 2020-06-05 Julian Brown <julian@codesourcery.com>
863 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
864 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
866 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
868 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
869 Evaluate 'copyfrom' individually for each entry.
870 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
872 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
874 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
875 Evaluate 'finalize' individually for each entry.
876 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
877 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
880 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
882 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
884 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
886 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
887 Julian Brown <julian@codesourcery.com>
889 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
891 (acc_unmap_data, goacc_exit_data_internal): Restore
892 'is_tgt_unmapped' checking.
893 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
895 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
896 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
897 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
898 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
899 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
900 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
902 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
903 Julian Brown <julian@codesourcery.com>
905 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
907 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
910 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
912 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
915 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
918 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
919 Julian Brown <julian@codesourcery.com>
921 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
923 (acc_map_data): Clean up accordingly.
925 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
927 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
928 of over-eager 'finalize' clause.
929 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
931 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
932 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
933 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
934 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
935 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
936 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
937 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
938 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
940 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
942 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
944 2020-06-04 Julian Brown <julian@codesourcery.com>
946 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
948 (goacc_detach_internal): Likewise.
950 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
952 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
954 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
955 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
956 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
957 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
958 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
960 2020-06-02 Jakub Jelinek <jakub@redhat.com>
962 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
965 2020-05-30 Jakub Jelinek <jakub@redhat.com>
967 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
969 2020-05-30 Jakub Jelinek <jakub@redhat.com>
971 * allocator.c (omp_alloc): For size == 0, return NULL early.
973 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
976 * configure: Regenerated.
978 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
981 * testsuite/libgomp.fortran/async_io_9.f90: New test.
983 2020-05-19 Jakub Jelinek <jakub@redhat.com>
985 * omp.h.in (omp_uintptr_t): New typedef.
986 (__GOMP_UINTPTR_T_ENUM): Define.
987 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
988 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
989 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
990 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
991 omp_get_default_allocator, omp_alloc, omp_free): Declare.
992 * libgomp.h (struct gomp_team_state): Add def_allocator field.
993 (gomp_def_allocator): Declare.
994 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
995 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
996 omp_alloc and omp_free.
997 * team.c (gomp_team_start): Copy over ts.def_allocator.
998 * env.c (gomp_def_allocator): New variable.
999 (parse_wait_policy): Adjust function comment.
1000 (parse_allocator): New function.
1001 (handle_omp_display_env): Print OMP_ALLOCATOR.
1002 (initialize_env): Call parse_allocator.
1003 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
1004 * allocator.c: New file.
1005 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
1007 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
1008 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
1009 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
1010 * Makefile.in: Regenerated.
1012 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
1015 * configure: Regenerated.
1017 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1020 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
1022 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
1024 * configure: Regenerated.
1026 2020-05-14 Jakub Jelinek <jakub@redhat.com>
1028 * testsuite/libgomp.c-c++-common/target-40.c: New test.
1030 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
1033 * testsuite/libgomp.fortran/pr66199-3.f90: New.
1034 * testsuite/libgomp.fortran/pr66199-4.f90: New.
1035 * testsuite/libgomp.fortran/pr66199-5.f90: New.
1036 * testsuite/libgomp.fortran/pr66199-6.f90: New.
1037 * testsuite/libgomp.fortran/pr66199-7.f90: New.
1038 * testsuite/libgomp.fortran/pr66199-8.f90: New.
1039 * testsuite/libgomp.fortran/pr66199-9.f90: New.
1041 2020-05-12 Jakub Jelinek <jakub@redhat.com>
1043 * testsuite/libgomp.c/target-39.c: New test.
1045 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
1047 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
1048 * openacc.f90 (acc_device_current): Likewise.
1049 * openacc.h (acc_device_current): Likewise.
1050 * openacc_lib.h (acc_device_current): Likewise.
1053 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
1054 'dg-allow-blank-lines-in-output'.
1056 * oacc-init.c (get_openacc_name): Handle 'gcn'.
1057 * testsuite/lib/libgomp.exp
1058 (offload_target_to_openacc_device_type) [amdgcn*]: Return
1059 'radeon'. Adjust all users.
1060 (check_effective_target_openacc_amdgcn_accel_present): Rename
1062 (check_effective_target_openacc_radeon_accel_present): ... this.
1064 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
1065 (check_effective_target_openacc_radeon_accel_selected): ... this.
1068 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
1071 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
1075 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
1077 (GOMP_OFFLOAD_init_device): Check return values from both calls to
1078 hsa_agent_iterate_regions.
1080 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
1083 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
1086 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
1089 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
1092 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
1095 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
1097 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
1100 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1102 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
1104 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1106 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
1108 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1110 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
1112 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1114 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
1116 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1118 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
1120 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1122 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
1124 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1126 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
1128 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1130 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
1132 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1134 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
1136 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1138 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
1140 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1142 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
1144 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1146 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
1148 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1150 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
1152 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1154 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
1156 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1158 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
1160 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
1162 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
1165 2020-04-10 Julian Brown <julian@codesourcery.com>
1166 Thomas Schwinge <thomas@codesourcery.com>
1169 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1171 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1173 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1175 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1177 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1179 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1181 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1183 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1185 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1187 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1189 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1191 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1193 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1195 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1197 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1199 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
1202 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
1204 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
1207 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
1210 * libgomp.oacc-c++/declare-pr94120.C: New.
1212 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
1214 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
1216 * configure: Regenerate.
1217 * testsuite/libgomp-site-extra.exp.in: New file.
1218 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
1220 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
1222 * testsuite/Makefile.in: Regenerate.
1224 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
1226 PR tree-optimization/89713
1228 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
1230 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
1232 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
1234 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
1235 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
1237 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
1240 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
1242 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
1245 * target.c (gomp_load_image_to_device): Fix link
1248 2020-03-19 Jakub Jelinek <jakub@redhat.com>
1251 * testsuite/libgomp.c++/pr93931.C: New test.
1253 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
1255 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
1256 dg-allow-blank-lines-in-output.
1258 2020-03-18 Julian Brown <julian@codesourcery.com>
1259 Tobias Burnus <tobias@codesourcery.com>
1261 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
1262 it work concurrently.
1264 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
1266 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
1267 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
1268 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
1270 2020-03-14 Jakub Jelinek <jakub@redhat.com>
1273 * testsuite/libgomp.c/pr93566.c: New test.
1275 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
1277 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
1278 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
1279 integer(acc_device_property) for the type of the return value of
1282 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
1284 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
1285 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
1286 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
1287 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
1288 (acc_set_device_num): Fix Fortran argument name, use same name for C.
1289 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
1290 corrections; add note about the previous interface and named constant.
1291 (OpenACC library and environment variables): Fix two typos.
1292 * openacc.f90: Use for all procedures the argument names from the spec
1293 as for …_h they are user visible.
1294 (openacc_kinds): Rename acc_device_property to
1295 acc_device_property_kinds and change value to int32 ; and update users.
1296 Re-add acc_device_property for for backward compatibility.
1297 (acc_get_property_string_h): Clean up as acc_device_property_kind
1299 (acc_get_property_h): Likewise and return c_size_t instead of
1300 acc_device_property.
1301 (openacc): Also export acc_device_property_kinds.
1302 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
1303 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
1304 handling; check against /= 0 instead of == 1 to match C.
1305 * openacc_lib.h: Use for all procedures the argument names from the spec
1306 as for …_h they are user visible. Place !GCC$ into the first column to
1307 be active also for fixed-form souce form.
1308 (acc_device_current, acc_device_property_kind, acc_device_property,
1309 acc_property_memory, acc_property_free_memory, acc_property_name,
1310 acc_property_vendor, acc_property_driver): New named constants.
1311 (acc_get_property, acc_get_property_string): New generic interface.
1313 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
1316 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
1317 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
1319 (gomp_target_task_fn): Assert "devicep->async_run_func".
1320 (clear_unsupported_flags): New function to remove unsupported flags
1321 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
1322 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
1323 * testsuite/libgomp.c/target-33.c:
1324 Remove xfail for offload_target_nvptx.
1325 * testsuite/libgomp.c/target-34.c: Likewise.
1327 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
1329 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
1330 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
1331 * testsuite/libgomp.c/target-34.c: Likewise.
1332 * testsuite/libgomp.c/target-link-1.c: Add xfail for
1333 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
1335 2020-02-09 Jakub Jelinek <jakub@redhat.com>
1337 * testsuite/libgomp.c/target-38.c: New test.
1339 2020-02-06 Jakub Jelinek <jakub@redhat.com>
1342 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
1344 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
1346 * testsuite/lib/libgomp.exp
1347 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
1348 and not as 'source' argument to libgomp_target_compile.
1350 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
1352 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
1353 (gcn_gfx801_s): Remove.
1354 (isa_hsa_name): Remove gfx801.
1355 (isa_gcc_name): Remove gfx801/carizzo.
1356 (isa_code): Remove gfx801.
1358 2020-02-03 Julian Brown <julian@codesourcery.com>
1359 Tobias Burnus <tobias@codesourcery.com>
1361 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
1362 and *_finalize variants; document acc_attach and acc_detach; update
1363 references from OpenACC 2.0 to 2.6.
1364 * openacc.f90 (openacc_version): Update to 201711.
1365 * openacc_lib.h (openacc_version): Update to 201711.
1366 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
1367 openacc_version to 201711.
1368 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1370 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
1372 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
1373 and vgpr_count fields.
1374 (struct kernel_info): Add a field for a hsa_kernel_description.
1375 (run_kernel): Reduce the number of threads/workers if the requested
1376 number would require too many VGPRs.
1377 (init_basic_kernel_info): Initialize description field with
1378 the hsa_kernel_description entry for the kernel.
1380 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
1383 * plugin/configfrag.ac (enable_offload_targets): Skip
1384 HSA and GCN plugin besides -m32 also for -mx32.
1385 * configure: Regenerate.
1387 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
1389 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
1391 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
1393 * plugin-gcn.c (struct agent_info): Add fields "name" and
1395 (GOMP_OFFLOAD_init_device): ... and init from here.
1396 (struct hsa_context_info): Add field "driver_version_s" ...
1397 (init_hsa_contest): ... and init from here.
1398 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
1400 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1401 Enable test execution for amdgcn and host offloading targets.
1402 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
1403 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1404 (expect_device_properties): Split function into ...
1405 (expect_device_string_properties): ... this new function ...
1406 (expect_device_memory): ... and this new function.
1407 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
1410 2020-01-28 Julian Brown <julian@codesourcery.com>
1412 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
1413 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
1414 component/non-component variable refs in a single directive.
1415 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
1417 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
1419 * configure.ac: Handle `--with-toolexeclibdir='.
1420 * Makefile.in: Regenerate.
1421 * aclocal.m4: Regenerate.
1422 * configure: Regenerate.
1423 * testsuite/Makefile.in: Regenerate.
1425 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
1427 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1428 (expect_device_properties): Remove "expected_free_mem" argument,
1429 change "expected_total_mem" argument type to size_t;
1430 change types of acc_get_property results to size_t,
1431 adapt format strings.
1432 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1433 Use %zu instead of %zd to print size_t values.
1434 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
1436 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
1437 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
1439 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
1441 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
1443 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
1446 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
1448 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
1449 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
1450 Adjust test dimensions for amdgcn.
1451 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
1452 gang/worker/vector expectations dynamically.
1453 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
1455 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
1456 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
1457 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
1458 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
1459 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
1460 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
1461 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
1462 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
1463 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1464 (acc_gang): Recognise acc_device_radeon.
1465 (acc_worker): Likewise.
1466 (acc_vector): Likewise.
1467 (main): Set expectations for amdgcn.
1468 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
1469 (main): Adjust gang/worker/vector expectations dynamically.
1470 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
1471 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
1472 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
1473 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
1476 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
1478 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
1480 (openacc): Likewise.
1481 * openacc.f90 (openacc_kinds): Likewise.
1482 (openacc): Likewise.
1483 * openacc.h (acc_device_t): Likewise.
1484 * openacc_lib.h: Likewise.
1485 * testsuite/lib/libgomp.exp
1486 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
1487 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1488 (cb_compute_construct_end): Likewise.
1489 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1490 (cb_enqueue_launch_start): Likewise.
1491 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1492 (cb_enter_data_end): Likewise.
1493 (cb_exit_data_start): Likewise.
1494 (cb_exit_data_end): Likewise.
1495 (cb_compute_construct_end): Likewise.
1496 (cb_enqueue_launch_start): Likewise.
1497 (cb_enqueue_launch_end): Likewise.
1498 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
1501 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
1503 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
1504 to use this instead of 'enum gomp_device_property'.
1505 (GOMP_OFFLOAD_get_property): Rename to...
1506 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
1507 * libgomp.h (struct gomp_device_descr): Move
1508 'GOMP_OFFLOAD_openacc_get_property'...
1509 (struct acc_dispatch_t): ... here. Adjust all users.
1510 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
1512 * target.c (gomp_map_vars_internal)
1513 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
1516 2020-01-10 Jakub Jelinek <jakub@redhat.com>
1519 * libgomp.h (gomp_print_string): Change return type from void to int.
1520 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
1521 not all characters have been written.
1523 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
1525 * libgomp.texi: Fix typos, use https.
1527 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
1529 * testsuite/libgomp.fortran/optional-map.f90: Add test for
1530 unallocated/disassociated actual arguments to nonallocatable/nonpointer
1531 dummy arguments; those are/shall be regarded as absent arguments.
1532 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1533 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
1535 2020-01-01 Jakub Jelinek <jakub@redhat.com>
1537 Update copyright years.
1539 * libgomp.texi: Bump @copying's copyright year.
1541 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
1544 * oacc-init.c (goacc_runtime_deinitialize): New function.
1546 2019-12-28 Jakub Jelinek <jakub@redhat.com>
1549 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
1550 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
1552 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
1553 Frederik Harwath <frederik@codesourcery.com>
1554 Thomas Schwinge <tschwinge@codesourcery.com>
1556 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
1557 * libgomp-plugin.h (gomp_device_property_value): New union.
1558 (gomp_device_property_value): New prototype.
1559 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
1561 (acc_device_property_t): New enum.
1562 (acc_get_property, acc_get_property_string): New prototypes.
1563 * oacc-init.c (acc_get_device_type): Also assert that result
1564 is not `acc_device_current'.
1565 (get_property_any, acc_get_property, acc_get_property_string):
1567 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
1568 `acc_property_memory', `acc_property_free_memory',
1569 `acc_property_name', `acc_property_vendor' and
1570 `acc_property_driver' constants. Add `acc_device_property' data
1572 (openacc_internal): Add `acc_get_property' and
1573 `acc_get_property_string' interfaces. Add `acc_get_property_h',
1574 `acc_get_property_string_h', `acc_get_property_l' and
1575 `acc_get_property_string_l'.
1576 * oacc-host.c (host_get_property): New function.
1577 (host_dispatch): Wire it.
1578 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
1579 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
1580 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
1581 * libgomp.texi (OpenACC Runtime Library Routines): Add
1583 (acc_get_property): New node.
1584 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
1586 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
1587 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
1588 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
1590 (GOMP_OFFLOAD_get_property): New function.
1591 (struct ptx_device): Add new field "name".
1592 (cuda_driver_version_s): Add new static variable ...
1593 (nvptx_init): ... and init from here.
1595 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
1596 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
1597 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
1598 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
1599 with test helper functions.
1601 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
1603 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
1605 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
1608 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
1610 * target.c (gomp_map_vars_internal): Restore 'omp declare target
1613 2019-12-19 Julian Brown <julian@codesourcery.com>
1615 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
1616 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
1617 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
1619 2019-12-19 Julian Brown <julian@codesourcery.com>
1620 Cesar Philippidis <cesar@codesourcery.com>
1622 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1623 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1624 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1625 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1626 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1627 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1628 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1629 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1630 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1631 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1632 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1633 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1634 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1636 2019-12-19 Julian Brown <julian@codesourcery.com>
1638 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1639 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1640 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1641 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1642 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1643 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1644 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1645 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1646 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1647 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1648 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1649 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1651 2019-12-19 Julian Brown <julian@codesourcery.com>
1653 * libgomp.h (struct target_var_desc): Add do_detach flag.
1654 * oacc-init.c (acc_shutdown_1): Free aux block if present.
1655 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1656 struct components. Tidy up and add some new checks.
1657 (goacc_enter_data_internal): Update call to find_group_last.
1658 (goacc_exit_data_internal): Support detach operations and
1660 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1661 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
1662 attach/detach in enter/exit data detection code.
1663 * target.c (gomp_map_vars_existing): Initialise do_detach field of
1665 (gomp_map_vars_internal): Support attach.
1666 (gomp_unmap_vars_internal): Support detach.
1668 2019-12-19 Julian Brown <julian@codesourcery.com>
1669 Thomas Schwinge <thomas@codesourcery.com>
1671 * libgomp.h (struct splay_tree_aux): Add attach_count field.
1672 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1673 * libgomp.map (OACC_2.6): New section. Add acc_attach,
1674 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1675 acc_detach_finalize_async.
1676 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1677 acc_detach, acc_detach_async, acc_detach_finalize,
1678 acc_detach_finalize_async): New functions.
1679 * openacc.h (acc_attach, acc_attach_async, acc_detach,
1680 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1682 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1683 (gomp_remove_var_internal): Free attachment counts if present.
1684 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1685 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1687 2019-12-19 Julian Brown <julian@codesourcery.com>
1688 Cesar Philippidis <cesar@codesourcery.com>
1690 * libgomp.h (gomp_map_val): Add prototype.
1691 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1692 open-coding device-address calculation.
1693 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1696 2019-12-19 Julian Brown <julian@codesourcery.com>
1698 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1699 field for virtual_refcount.
1700 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1701 (gomp_free_memmap): Remove prototype.
1702 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1703 instead of calling gomp_free_memmap.
1704 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1706 (acc_unmap_data): Open code instead of forcing target_mem_desc's
1707 to_free field to NULL then calling gomp_unmap_vars. Handle
1708 REFCOUNT_INFINITY on target blocks.
1709 (goacc_enter_data): Rename to...
1710 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
1711 handling for mapping groups. Use virtual_refcount instead of
1712 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1713 map_map_vars_async call. Re-do lookup for target pointer return value.
1714 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1715 renamed goacc_enter_datum function.
1716 (goacc_exit_data): Rename to...
1717 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
1718 (acc_delete, acc_delete_async, acc_delete_finalize,
1719 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1720 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1721 goacc_exit_datum function.
1722 (gomp_acc_remove_pointer, find_pointer): Remove functions.
1723 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1725 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1726 goacc_exit_data_internal helper functions.
1727 * target.c (gomp_map_vars_internal): Handle
1728 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
1730 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1731 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1732 virtual_refcount field instead of dynamic_refcount.
1733 (gomp_free_memmap): Remove function.
1734 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1735 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1736 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1738 2019-12-19 Julian Brown <julian@codesourcery.com>
1739 Thomas Schwinge <thomas@codesourcery.com>
1741 * libgomp.h (struct splay_tree_aux): New.
1742 (struct splay_tree_key_s): Replace link_key field with aux pointer.
1743 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1745 (gomp_remove_var_internal): Free aux block if present.
1746 (gomp_load_image_to_device): Zero-initialise aux field instead of
1748 (omp_target_associate_pointer): Zero-initialise aux field.
1750 2019-12-18 Jakub Jelinek <jakub@redhat.com>
1753 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1755 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1758 2019-12-19 Julian Brown <julian@codesourcery.com>
1759 Maciej W. Rozycki <macro@codesourcery.com>
1760 Tobias Burnus <tobias@codesourcery.com>
1761 Thomas Schwinge <thomas@codesourcery.com>
1763 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1764 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1765 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1766 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1767 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1768 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1769 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1770 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1771 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1773 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
1775 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1777 (goacc_insert_pointer): ... from here, "present" case.
1778 (goacc_insert_pointer): Inline function into...
1779 (GOACC_enter_exit_data): ... here, and simplify.
1781 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1783 (goacc_insert_pointer): ... from here, "not present" case.
1785 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
1788 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1789 'goacc_enter_data', 'goacc_exit_data'.
1791 * oacc-mem.c (delete_copyout): Refactor into...
1792 (goacc_exit_data): ... this. Adjust all users.
1794 * oacc-mem.c (present_create_copy): Refactor into...
1795 (goacc_enter_data): ... this. Adjust all users.
1797 * target.c (gomp_unmap_vars_internal): Add a safeguard to
1800 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1801 like 'GOMP_MAP_FROM'.
1806 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1808 (GOACC_enter_exit_data): Simplify accordingly.
1809 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1811 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1812 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1814 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1816 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1817 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1819 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1821 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1823 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1824 'finalize' handling.
1827 * oacc-mem.c (acc_map_data, present_create_copy)
1828 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1829 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1830 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1831 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1832 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1833 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1834 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1835 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1838 * target.c (gomp_unmap_tgt): Make it 'static'.
1839 * libgomp.h (gomp_unmap_tgt): Remove.
1841 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
1844 * testsuite/libgomp.c/pr86416-1.c: New.
1845 * testsuite/libgomp.c/pr86416-2.c: New.
1847 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
1849 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1850 all symbols as public except for the 'use …, only' imported symbol,
1852 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1853 all symbols from module openacc_kinds as PUBLIC
1854 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1856 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1858 2019-12-13 Julian Brown <julian@codesourcery.com>
1862 * libgomp.h (gomp_remove_var_async): Add prototype.
1863 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1865 * target.c (gomp_unref_tgt): Change return type to bool, indicating
1866 whether target_mem_desc was unmapped.
1867 (gomp_unref_tgt_void): New.
1868 (gomp_remove_var): Reimplement in terms of...
1869 (gomp_remove_var_internal): ...this new helper function.
1870 (gomp_remove_var_async): New, implemented using above helper function.
1871 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1874 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
1876 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1877 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1878 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1879 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1880 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1882 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1883 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1885 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
1887 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1888 as public except for the 'use …, only' imported symbol, which is
1890 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1891 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1892 attributes for acc_copyout_finalize and acc_delete_finalize.
1894 2019-12-11 Jakub Jelinek <jakub@redhat.com>
1897 * testsuite/libgomp.fortran/atomic1.f90: New test.
1899 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1902 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1903 reference counting for structured 'REFCOUNT_INFINITY'. Add some
1905 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1906 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1907 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1908 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1909 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1911 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1912 * oacc-mem.c: ... here.
1913 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1914 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1915 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1917 * libgomp_g.h: Update.
1919 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1920 * oacc-async.c: ... here.
1921 * oacc-int.h (goacc_wait): Declare.
1922 * libgomp_g.h: Update
1925 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1927 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1929 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1931 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1933 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1935 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1938 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1939 Julian Brown <julian@codesourcery.com>
1941 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1942 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1944 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
1946 * omp_lib.h.in: Fix spelling of function declaration
1947 omp_get_cancell(l)ation.
1948 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1950 * env.c: Fix comment typos.
1951 * oacc-host.c: Likewise.
1952 * ordered.c: Likewise.
1955 * config/gcn/task.c: Likewise.
1956 * config/gcn/team.c: Likewise.
1957 * config/nvptx/task.c: Likewise.
1958 * config/nvptx/team.c: Likewise.
1959 * plugin/plugin-gcn.c: Likewise.
1960 * testsuite/libgomp.fortran/jacobi.f: Likewise.
1961 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1962 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1964 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
1966 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1967 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1968 unnecessary 'dg-additional-options "-w"'.
1970 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1971 Julian Brown <julian@codesourcery.com>
1976 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
1977 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1979 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1981 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1983 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1985 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1988 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1989 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1991 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1993 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1995 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1997 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1999 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
2001 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
2002 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2003 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2004 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2005 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2006 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2007 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2008 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2009 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
2010 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
2013 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
2014 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
2015 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
2017 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
2019 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
2021 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
2022 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
2025 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
2027 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
2029 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
2031 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
2033 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
2034 ... with their content moved into, and extended in this new file.
2035 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
2037 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
2039 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
2041 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
2044 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
2047 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
2049 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
2051 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
2053 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
2055 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
2057 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
2058 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
2059 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
2060 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
2062 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
2063 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
2065 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
2067 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
2069 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
2070 Kwok Cheung Yeung <kcy@codesourcery.com>
2072 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
2073 if input it a NULL pointer.
2074 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
2075 diagnostic of NULL pointer.
2076 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
2077 * testsuite/libgomp.fortran/optional-map.f90: New.
2078 * testsuite/libgomp.fortran/use_device_addr-1.f90
2079 (test_dummy_opt_callee_1_absent): New.
2080 (test_dummy_opt_call_1): Call it.
2081 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2082 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
2083 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2084 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
2085 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
2086 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
2087 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
2088 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
2089 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
2090 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
2091 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
2092 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
2093 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
2094 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
2095 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
2096 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
2098 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
2100 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
2101 expect dg-output of 'Error termination.' for GCN.
2102 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2103 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2105 2019-12-04 Jakub Jelinek <jakub@redhat.com>
2108 * testsuite/libgomp.fortran/teams1.f90: New test.
2109 * testsuite/libgomp.fortran/teams2.f90: New test.
2111 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
2113 * oacc-init.c (acc_known_device_type): Add function.
2114 (unknown_device_type_error): Add function.
2115 (name_of_acc_device_t): Change to call unknown_device_type_error
2117 (resolve_device): Use acc_known_device_type.
2118 (acc_init): Fail if acc_device_t argument is not valid.
2119 (acc_shutdown): Likewise.
2120 (acc_get_num_devices): Likewise.
2121 (acc_set_device_type): Likewise.
2122 (acc_get_device_num): Likewise.
2123 (acc_set_device_num): Likewise.
2124 (acc_on_device): Add comment that argument validity is not checked.
2126 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
2128 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2130 (check_effective_target_openacc_amdgcn_accel_present): New proc.
2131 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
2132 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
2133 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2134 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2136 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
2139 * configure.tgt: Avoid IE tls on *-*-musl*.
2141 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
2143 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
2144 adding a common-block test case.
2146 2019-11-29 Jakub Jelinek <jakub@redhat.com>
2149 * testsuite/libgomp.c++/udr-20.C: New test.
2150 * testsuite/libgomp.c++/udr-21.C: New test.
2152 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
2154 * testsuite/lib/libgomp.exp
2155 (check_effective_target_offload_target_nvptx): New proc.
2156 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
2158 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2159 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
2160 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
2162 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2164 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
2165 * testsuite/libgomp.c/pr39591-2.c: Likewise.
2166 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2167 * testsuite/libgomp.c/private-1.c: Likewise.
2168 * testsuite/libgomp.c/task-1.c: Likewise.
2169 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
2171 2019-11-20 Julian Brown <julian@codesourcery.com>
2173 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
2175 (queue_push_launch): Lock aq->mutex before calling
2176 wait_for_queue_nonfull.
2177 (queue_push_callback): Likewise.
2178 (queue_push_asyncwait): Likewise.
2179 (queue_push_placeholder): Likewise.
2181 2019-11-20 Julian Brown <julian@codesourcery.com>
2183 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
2184 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
2185 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
2188 2019-11-20 Julian Brown <julian@codesourcery.com>
2192 * oacc-mem.c (present_create_copy): Fix device pointer return value in
2193 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
2194 in non-present/create case.
2195 (delete_copyout): Change error condition to fail only on copies outside
2196 of mapped block. Adjust error message accordingly.
2197 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
2198 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
2199 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
2201 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2202 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
2203 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2205 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
2207 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
2208 libatomic in build-tree testing.
2210 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
2212 * testsuite/Makefile.in: Regenerate.
2214 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
2216 * testsuite/libgomp.c/target-print-1.c: New file.
2217 * testsuite/libgomp.fortran/target-print-1.f90: New file.
2218 * testsuite/libgomp.oacc-c/print-1.c: New file.
2219 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
2221 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
2222 Kwok Cheung Yeung <kcy@codesourcery.com>
2223 Julian Brown <julian@codesourcery.com>
2224 Tom de Vries <tom@codesourcery.com>
2226 * plugin/Makefrag.am: Add amdgcn plugin support.
2227 * plugin/configfrag.ac: Likewise.
2228 * plugin/plugin-gcn.c: New file.
2229 * configure: Regenerate.
2230 * Makefile.in: Regenerate.
2231 * testsuite/Makefile.in: Regenerate.
2233 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
2235 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
2236 and use team_malloc variants.
2237 (gomp_gcn_exit_kernel): Use team_free.
2238 * libgomp.h (TEAM_ARENA_SIZE): Define.
2239 (TEAM_ARENA_START): Define.
2240 (TEAM_ARENA_FREE): Define.
2241 (TEAM_ARENA_END): Define.
2242 (team_malloc): New function.
2243 (team_malloc_cleared): New function.
2244 (team_free): New function.
2245 * team.c (gomp_new_team): Initialize and use team_malloc.
2246 (free_team): Use team_free.
2247 (gomp_free_thread): Use team_free.
2248 (gomp_pause_host): Use team_free.
2249 * work.c (gomp_init_work_share): Use team_malloc.
2250 (gomp_fini_work_share): Use team_free.
2252 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
2253 Kwok Cheung Yeung <kcy@codesourcery.com>
2254 Julian Brown <julian@codesourcery.com>
2255 Tom de Vries <tom@codesourcery.com>
2257 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
2258 * Makefile.in: Regenerate.
2259 * config.h.in (PLUGIN_GCN): Add new undef.
2260 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
2261 * config/gcn/affinity-fmt.c: New file.
2262 * config/gcn/bar.c: New file.
2263 * config/gcn/bar.h: New file.
2264 * config/gcn/doacross.h: New file.
2265 * config/gcn/icv-device.c: New file.
2266 * config/gcn/oacc-target.c: New file.
2267 * config/gcn/simple-bar.h: New file.
2268 * config/gcn/target.c: New file.
2269 * config/gcn/task.c: New file.
2270 * config/gcn/team.c: New file.
2271 * config/gcn/time.c: New file.
2272 * configure.ac: Add amdgcn*-*-*.
2273 * configure: Regenerate.
2274 * configure.tgt: Add amdgcn*-*-*.
2275 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
2276 * libgomp.h (gcn_thrs): Add amdgcn variant.
2277 (set_gcn_thrs): Likewise.
2278 (gomp_thread): Likewise.
2279 * oacc-int.h (goacc_thread): Likewise.
2280 * oacc-target.c: New file.
2281 * openacc.f90 (acc_device_gcn): New parameter.
2282 * openacc.h (acc_device_t): Add acc_device_gcn.
2283 * team.c (gomp_free_pool_helper): Add amdgcn support.
2285 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
2286 Julian Brown <julian@codesourcery.com>
2288 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
2290 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
2292 * oacc-host.c (host_openacc_async_construct): Add device parameter.
2293 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
2296 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
2298 * configure.tgt (nvptx*-*-*): Add "accel" directory.
2299 * config/nvptx/libgomp-plugin.c: Move ...
2300 * config/accel/libgomp-plugin.c: ... to here.
2301 * config/nvptx/lock.c: Move ...
2302 * config/accel/lock.c: ... to here.
2303 * config/nvptx/mutex.c: Move ...
2304 * config/accel/mutex.c: ... to here.
2305 * config/nvptx/mutex.h: Move ...
2306 * config/accel/mutex.h: ... to here.
2307 * config/nvptx/oacc-async.c: Move ...
2308 * config/accel/oacc-async.c: ... to here.
2309 * config/nvptx/oacc-cuda.c: Move ...
2310 * config/accel/oacc-cuda.c: ... to here.
2311 * config/nvptx/oacc-host.c: Move ...
2312 * config/accel/oacc-host.c: ... to here.
2313 * config/nvptx/oacc-init.c: Move ...
2314 * config/accel/oacc-init.c: ... to here.
2315 * config/nvptx/oacc-mem.c: Move ...
2316 * config/accel/oacc-mem.c: ... to here.
2317 * config/nvptx/oacc-plugin.c: Move ...
2318 * config/accel/oacc-plugin.c: ... to here.
2319 * config/nvptx/omp-lock.h: Move ...
2320 * config/accel/omp-lock.h: ... to here.
2321 * config/nvptx/openacc.f90: Move ...
2322 * config/accel/openacc.f90: ... to here.
2323 * config/nvptx/pool.h: Move ...
2324 * config/accel/pool.h: ... to here.
2325 * config/nvptx/proc.c: Move ...
2326 * config/accel/proc.c: ... to here.
2327 * config/nvptx/ptrlock.c: Move ...
2328 * config/accel/ptrlock.c: ... to here.
2329 * config/nvptx/ptrlock.h: Move ...
2330 * config/accel/ptrlock.h: ... to here.
2331 * config/nvptx/sem.c: Move ...
2332 * config/accel/sem.c: ... to here.
2333 * config/nvptx/sem.h: Move ...
2334 * config/accel/sem.h: ... to here.
2335 * config/nvptx/thread-stacksize.h: Move ...
2336 * config/accel/thread-stacksize.h: ... to here.
2338 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2339 Tobias Burnus <tobias@codesourcery.com>
2340 Frederik Harwath <frederik@codesourcery.com>
2341 Thomas Schwinge <thomas@codesourcery.com>
2344 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
2345 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
2346 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
2348 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
2349 Kwok Cheung Yeung <kcy@codesourcery.com>
2351 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
2352 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
2354 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
2356 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
2358 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
2360 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2361 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
2363 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
2365 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
2366 Add expected warnings about missing reduction clauses.
2367 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
2369 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
2371 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
2374 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
2376 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
2377 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
2378 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
2379 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2380 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2381 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2383 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
2386 * testsuite/libgomp.fortran/allocatable2.f90: Use
2387 unique numbers with 'stop'.
2388 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2389 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2390 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
2391 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
2392 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
2394 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
2396 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
2397 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
2398 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2399 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
2400 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
2401 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
2403 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
2405 * testsuite/libgomp.fortran/target9.f90: New.
2407 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
2409 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
2410 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
2411 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
2412 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
2413 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
2414 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
2415 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
2416 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
2417 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
2418 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
2419 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
2420 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
2421 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
2422 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
2423 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
2424 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
2425 * testsuite/libgomp.fortran/associate1.f90: Ditto.
2426 * testsuite/libgomp.fortran/associate2.f90: Ditto.
2427 * testsuite/libgomp.fortran/associate3.f90: Ditto.
2428 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
2429 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
2430 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
2431 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
2432 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
2433 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
2434 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
2435 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
2436 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
2437 * testsuite/libgomp.fortran/character1.f90: Ditto.
2438 * testsuite/libgomp.fortran/character2.f90: Ditto.
2439 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
2440 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
2441 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
2442 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
2443 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
2444 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
2445 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
2446 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
2447 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
2448 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
2449 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
2450 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
2451 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
2452 * testsuite/libgomp.fortran/do1.f90: Ditto.
2453 * testsuite/libgomp.fortran/do2.f90: Ditto.
2454 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
2455 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
2456 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
2457 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
2458 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
2459 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
2460 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
2461 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
2462 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
2463 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
2464 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
2465 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
2466 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
2467 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
2468 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
2469 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
2470 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
2471 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
2472 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
2473 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
2474 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
2475 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
2476 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
2477 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
2478 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
2479 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
2480 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
2481 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
2482 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
2483 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
2484 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
2485 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
2486 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
2487 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
2488 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
2489 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
2490 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
2491 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
2492 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
2493 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
2494 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
2495 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
2496 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
2497 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
2498 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
2499 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
2500 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
2501 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
2502 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
2503 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2504 * testsuite/libgomp.fortran/lib1.f90: Ditto.
2505 * testsuite/libgomp.fortran/lib4.f90: Ditto.
2506 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
2507 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
2508 * testsuite/libgomp.fortran/nested1.f90: Ditto.
2509 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
2510 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
2511 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
2512 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2513 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
2514 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
2515 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2516 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
2517 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
2518 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
2519 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
2520 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
2521 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
2522 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
2523 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2524 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
2525 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2526 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
2527 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
2528 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
2529 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
2530 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
2531 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
2532 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
2533 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2534 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
2535 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
2536 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
2537 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
2538 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
2539 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2540 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
2541 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
2542 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
2543 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
2544 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2545 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
2546 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
2547 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
2548 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
2549 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
2550 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
2551 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
2552 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
2553 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
2554 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
2555 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
2556 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
2557 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
2558 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
2559 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
2560 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
2561 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
2562 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
2563 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
2564 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
2565 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2566 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
2567 * testsuite/libgomp.fortran/reference1.f90: Ditto.
2568 * testsuite/libgomp.fortran/reference2.f90: Ditto.
2569 * testsuite/libgomp.fortran/retval1.f90: Ditto.
2570 * testsuite/libgomp.fortran/retval2.f90: Ditto.
2571 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
2572 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
2573 * testsuite/libgomp.fortran/simd1.f90: Ditto.
2574 * testsuite/libgomp.fortran/simd2.f90: Ditto.
2575 * testsuite/libgomp.fortran/simd3.f90: Ditto.
2576 * testsuite/libgomp.fortran/simd4.f90: Ditto.
2577 * testsuite/libgomp.fortran/simd5.f90: Ditto.
2578 * testsuite/libgomp.fortran/simd6.f90: Ditto.
2579 * testsuite/libgomp.fortran/simd7.f90: Ditto.
2580 * testsuite/libgomp.fortran/stack.f90: Ditto.
2581 * testsuite/libgomp.fortran/strassen.f90: Ditto.
2582 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
2583 * testsuite/libgomp.fortran/tabs2.f: Ditto.
2584 * testsuite/libgomp.fortran/target1.f90: Ditto.
2585 * testsuite/libgomp.fortran/target2.f90: Ditto.
2586 * testsuite/libgomp.fortran/target3.f90: Ditto.
2587 * testsuite/libgomp.fortran/target4.f90: Ditto.
2588 * testsuite/libgomp.fortran/target5.f90: Ditto.
2589 * testsuite/libgomp.fortran/target6.f90: Ditto.
2590 * testsuite/libgomp.fortran/target7.f90: Ditto.
2591 * testsuite/libgomp.fortran/target8.f90: Ditto.
2592 * testsuite/libgomp.fortran/task1.f90: Ditto.
2593 * testsuite/libgomp.fortran/task2.f90: Ditto.
2594 * testsuite/libgomp.fortran/task3.f90: Ditto.
2595 * testsuite/libgomp.fortran/task4.f90: Ditto.
2596 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2597 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2598 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2599 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2600 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2601 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
2602 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
2603 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
2604 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
2605 * testsuite/libgomp.fortran/udr1.f90: Ditto.
2606 * testsuite/libgomp.fortran/udr10.f90: Ditto.
2607 * testsuite/libgomp.fortran/udr11.f90: Ditto.
2608 * testsuite/libgomp.fortran/udr12.f90: Ditto.
2609 * testsuite/libgomp.fortran/udr13.f90: Ditto.
2610 * testsuite/libgomp.fortran/udr14.f90: Ditto.
2611 * testsuite/libgomp.fortran/udr15.f90: Ditto.
2612 * testsuite/libgomp.fortran/udr2.f90: Ditto.
2613 * testsuite/libgomp.fortran/udr3.f90: Ditto.
2614 * testsuite/libgomp.fortran/udr4.f90: Ditto.
2615 * testsuite/libgomp.fortran/udr5.f90: Ditto.
2616 * testsuite/libgomp.fortran/udr6.f90: Ditto.
2617 * testsuite/libgomp.fortran/udr7.f90: Ditto.
2618 * testsuite/libgomp.fortran/udr8.f90: Ditto.
2619 * testsuite/libgomp.fortran/udr9.f90: Ditto.
2620 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2621 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2622 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2623 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2624 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2625 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2626 * testsuite/libgomp.fortran/vla7.f90: Ditto.
2627 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2628 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2629 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2631 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
2633 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2634 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2635 Ditto; add 'dg-do run' for torture testing.
2636 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
2637 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2638 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2639 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2640 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2641 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2642 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2643 * testsuite/libgomp.fortran/task2.f90: Ditto.
2644 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2645 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2646 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2647 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2648 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2649 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2651 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
2653 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2654 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2655 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2656 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2657 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2658 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2659 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2660 Use 'stop' not abort().
2661 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2662 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2663 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2664 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2665 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2666 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2667 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2668 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2669 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2670 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2671 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2672 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2673 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2674 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2675 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2676 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2677 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2679 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2681 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2683 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2685 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2687 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2689 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2691 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2693 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2695 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2697 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2699 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2701 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2703 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2705 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2706 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2707 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2708 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2709 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2710 Likewise and also add 'dg-do run'.
2711 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2714 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
2715 Tobias Burnus <tobias@codesourcery.com>
2717 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2718 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2719 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2721 2019-10-14 Jakub Jelinek <jakub@redhat.com>
2724 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2727 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
2729 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2730 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2732 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
2735 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2738 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
2741 * testsuite/libgomp.fortran/fortran.exp: Conditionally
2743 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2745 2019-10-09 Jakub Jelinek <jakub@redhat.com>
2748 * target.c (gomp_map_vars_internal): Readd the previous
2749 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2750 though do that just in the !not_found_cnt case.
2752 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
2754 * gfortran.dg/gomp/target-simd.f90: New.
2756 2019-10-02 Julian Brown <julian@codesourcery.com>
2757 Cesar Philippidis <cesar@codesourcery.com>
2759 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2760 * target.c (FIELD_TGT_EMPTY): Define.
2761 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
2762 as switch instead of list of ifs.
2763 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2765 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
2767 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2768 include. Replace alloca () with __builtin_alloca ().
2769 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2771 2019-10-01 Jakub Jelinek <jakub@redhat.com>
2773 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2774 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2775 * oacc-parallel.c: Don't include "libgomp_g.h".
2776 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2777 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2778 * aclocal.m4: Regenerated.
2779 * config.h.in: Regenerated.
2780 * configure: Regenerated.
2781 * Makefile.in: Regenerated.
2783 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
2785 * libgomp_g.h: Include stdint.h instead of gstdint.h.
2787 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
2789 * configure: Regenerate.
2791 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
2793 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2794 string is initialized.
2796 2019-09-06 Florian Weimer <fweimer@redhat.com>
2798 * configure: Regenerate.
2800 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
2803 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2804 scanning to conform to the GNU Coding Standards.
2805 * configure: Regenerate.
2807 2019-08-28 Jakub Jelinek <jakub@redhat.com>
2810 * testsuite/libgomp.c/scan-21.c: New test.
2811 * testsuite/libgomp.c/scan-22.c: New test.
2813 2019-08-27 Jakub Jelinek <jakub@redhat.com>
2816 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2818 * testsuite/libgomp.c/scan-12.c: Likewise.
2819 * testsuite/libgomp.c/scan-13.c: Likewise.
2820 * testsuite/libgomp.c/scan-14.c: Likewise.
2821 * testsuite/libgomp.c/scan-15.c: Likewise.
2822 * testsuite/libgomp.c/scan-16.c: Likewise.
2823 * testsuite/libgomp.c/scan-17.c: Likewise.
2824 * testsuite/libgomp.c/scan-18.c: Likewise.
2825 * testsuite/libgomp.c/scan-19.c: Likewise.
2826 * testsuite/libgomp.c/scan-20.c: Likewise.
2827 * testsuite/libgomp.c++/scan-9.C: Likewise.
2828 * testsuite/libgomp.c++/scan-10.C: Likewise.
2829 * testsuite/libgomp.c++/scan-11.C: Likewise.
2830 * testsuite/libgomp.c++/scan-12.C: Likewise.
2831 * testsuite/libgomp.c++/scan-14.C: Likewise.
2832 * testsuite/libgomp.c++/scan-15.C: Likewise.
2833 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
2834 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2835 * testsuite/libgomp.c++/scan-16.C: Likewise.
2837 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
2840 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2841 -std=legacy so invalid code in the test case is accepted.
2843 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2846 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2849 2019-08-08 Jakub Jelinek <jakub@redhat.com>
2851 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2852 perform the lookup in the first loop only if !not_found_cnt, otherwise
2853 perform lookups for it in the second loop guarded with
2854 if (not_found_cnt || has_firstprivate).
2855 * testsuite/libgomp.c/target-37.c: New test.
2856 * testsuite/libgomp.c++/target-22.C: New test.
2858 2019-08-07 Jakub Jelinek <jakub@redhat.com>
2860 * testsuite/libgomp.c/target-18.c (struct S): New type.
2861 (foo): Use use_device_addr clause instead of use_device_ptr clause
2862 where required by OpenMP 5.0, add further tests for both use_device_ptr
2863 and use_device_addr clauses.
2864 * testsuite/libgomp.c++/target-9.C (struct S): New type.
2865 (foo): Use use_device_addr clause instead of use_device_ptr clause
2866 where required by OpenMP 5.0, add further tests for both use_device_ptr
2867 and use_device_addr clauses. Add t and u arguments.
2868 (main): Adjust caller.
2870 2019-08-06 Jakub Jelinek <jakub@redhat.com>
2872 * testsuite/libgomp.c++/loop-13.C: New test.
2873 * testsuite/libgomp.c++/loop-14.C: New test.
2874 * testsuite/libgomp.c++/loop-15.C: New test.
2876 2019-07-31 Jakub Jelinek <jakub@redhat.com>
2879 * testsuite/libgomp.c++/for-27.C: New test.
2881 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
2883 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
2884 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2886 2019-07-20 Jakub Jelinek <jakub@redhat.com>
2888 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2890 2019-07-08 Jakub Jelinek <jakub@redhat.com>
2892 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2893 * testsuite/libgomp.c++/scan-16.C: Likewise.
2895 2019-07-06 Jakub Jelinek <jakub@redhat.com>
2897 * testsuite/libgomp.c/scan-19.c: New test.
2898 * testsuite/libgomp.c/scan-20.c: New test.
2900 * testsuite/libgomp.c/scan-11.c: New test.
2901 * testsuite/libgomp.c/scan-12.c: New test.
2902 * testsuite/libgomp.c/scan-13.c: New test.
2903 * testsuite/libgomp.c/scan-14.c: New test.
2904 * testsuite/libgomp.c/scan-15.c: New test.
2905 * testsuite/libgomp.c/scan-16.c: New test.
2906 * testsuite/libgomp.c/scan-17.c: New test.
2907 * testsuite/libgomp.c/scan-18.c: New test.
2908 * testsuite/libgomp.c++/scan-9.C: New test.
2909 * testsuite/libgomp.c++/scan-10.C: New test.
2910 * testsuite/libgomp.c++/scan-11.C: New test.
2911 * testsuite/libgomp.c++/scan-12.C: New test.
2912 * testsuite/libgomp.c++/scan-13.C: New test.
2913 * testsuite/libgomp.c++/scan-14.C: New test.
2914 * testsuite/libgomp.c++/scan-15.C: New test.
2915 * testsuite/libgomp.c++/scan-16.C: New test.
2917 2019-07-04 Jakub Jelinek <jakub@redhat.com>
2919 * testsuite/libgomp.c/scan-9.c: New test.
2920 * testsuite/libgomp.c/scan-10.c: New test.
2922 2019-07-03 Jakub Jelinek <jakub@redhat.com>
2924 * testsuite/libgomp.c++/scan-1.C: New test.
2925 * testsuite/libgomp.c++/scan-2.C: New test.
2926 * testsuite/libgomp.c++/scan-3.C: New test.
2927 * testsuite/libgomp.c++/scan-4.C: New test.
2928 * testsuite/libgomp.c++/scan-5.C: New test.
2929 * testsuite/libgomp.c++/scan-6.C: New test.
2930 * testsuite/libgomp.c++/scan-7.C: New test.
2931 * testsuite/libgomp.c++/scan-8.C: New test.
2932 * testsuite/libgomp.c/scan-1.c: New test.
2933 * testsuite/libgomp.c/scan-2.c: New test.
2934 * testsuite/libgomp.c/scan-3.c: New test.
2935 * testsuite/libgomp.c/scan-4.c: New test.
2936 * testsuite/libgomp.c/scan-5.c: New test.
2937 * testsuite/libgomp.c/scan-6.c: New test.
2938 * testsuite/libgomp.c/scan-7.c: New test.
2939 * testsuite/libgomp.c/scan-8.c: New test.
2941 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2943 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2944 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2947 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2950 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
2952 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2955 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2958 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2960 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2961 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2962 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2963 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2966 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2969 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2971 2019-06-16 Tom de Vries <tdevries@suse.de>
2973 PR tree-optimization/89376
2974 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2976 2019-06-15 Tom de Vries <tdevries@suse.de>
2978 PR tree-optimization/89713
2979 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2980 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2982 2019-06-15 Jakub Jelinek <jakub@redhat.com>
2985 * testsuite/libgomp.c/pr90779.c: New test.
2986 * testsuite/libgomp.fortran/pr90779.f90: New test.
2988 2019-06-15 Tom de Vries <tdevries@suse.de>
2990 PR tree-optimization/90009
2991 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2993 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
2995 PR tree-optimization/89713
2996 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2998 2019-06-11 Jakub Jelinek <jakub@redhat.com>
3001 * testsuite/libgomp.c/pr90811.c: New test.
3003 2019-06-05 Jakub Jelinek <jakub@redhat.com>
3005 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
3006 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
3008 2019-06-04 Jakub Jelinek <jakub@redhat.com>
3010 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
3011 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
3012 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
3013 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
3015 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3017 * configure.ac: Call AX_COUNT_CPUS.
3018 Substitute CPU_COUNT.
3019 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
3021 * aclocal.m4: Regenerate.
3022 * configure: Regenerate.
3023 * Makefile.in, testsuite/Makefile.in: Regenerate.
3025 2019-05-29 Jakub Jelinek <jakub@redhat.com>
3027 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
3029 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
3030 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
3031 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
3033 2019-05-27 Jakub Jelinek <jakub@redhat.com>
3035 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
3037 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
3040 * work.c (gomp_init_work_share): Instead of aligning final ordered
3041 value to multiples of long long alignment, align to that the
3042 first part (ordered team ids) and if inline_ordered_team_ids
3043 is not on a long long alignment boundary within the structure,
3044 use __alignof__ (long long) - 1 pad size always.
3045 * loop.c (GOMP_loop_start): Fix *mem computation if
3046 inline_ordered_team_ids is not aligned on long long alignment boundary
3047 within the structure.
3048 * loop-ull.c (GOMP_loop_ull_start): Likewise.
3049 * sections.c (GOMP_sections2_start): Likewise.
3051 2019-05-24 Jakub Jelinek <jakub@redhat.com>
3053 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
3054 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
3057 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
3058 HAVE_INTTYPES_H is defined.
3059 (print_uint64_t): New typedef.
3060 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
3061 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
3062 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
3063 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
3064 before casting to void *.
3065 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
3066 * oacc-mem.c: Don't include config.h nor stdint.h.
3067 * target.c: Don't include config.h.
3068 * oacc-cuda.c: Likewise.
3069 * oacc-host.c: Don't include stdint.h.
3071 2019-05-20 Jakub Jelinek <jakub@redhat.com>
3074 * alloc.c (_GNU_SOURCE): Define.
3076 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3078 * acc_prof.h: New file.
3079 * oacc-profiling.c: Likewise.
3080 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
3081 Add these, respectively.
3082 * Makefile.in: Regenerate.
3083 * env.c (initialize_env): Call goacc_profiling_initialize.
3084 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
3085 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
3086 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
3087 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
3088 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
3089 acc_prof_register, acc_prof_unregister, and acc_register_library.
3090 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
3091 GOMP_PLUGIN_goacc_thread.
3092 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
3093 prof_callbacks_enabled members.
3094 (goacc_prof_enabled, goacc_profiling_initialize)
3095 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
3096 (goacc_profiling_dispatch): Declare.
3097 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
3098 (GOACC_PROFILING_SETUP_P): Define.
3099 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
3100 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
3101 OpenACC Profiling Interface.
3102 * oacc-cuda.c (acc_get_current_cuda_device)
3103 (acc_get_current_cuda_context, acc_get_cuda_stream)
3104 (acc_set_cuda_stream): Likewise.
3105 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
3106 (acc_init, acc_set_device_type, acc_get_device_type)
3107 (acc_get_device_num, goacc_lazy_initialize): Likewise.
3108 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
3109 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
3110 (acc_unmap_data, present_create_copy, delete_copyout)
3111 (update_dev_host): Likewise.
3112 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
3113 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
3115 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
3116 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
3118 * libgomp.texi: Update.
3119 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
3121 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
3122 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3124 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
3126 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
3128 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
3131 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
3133 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
3134 (struct goacc_asyncqueue_list): Likewise.
3135 (goacc_aq): Likewise.
3136 (goacc_aq_list): Likewise.
3137 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3138 (GOMP_OFFLOAD_openacc_async_test): Remove.
3139 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3140 (GOMP_OFFLOAD_openacc_async_wait): Remove.
3141 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3142 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3143 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3144 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3145 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
3146 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
3147 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
3148 (GOMP_OFFLOAD_openacc_async_exec): Declare.
3149 (GOMP_OFFLOAD_openacc_async_construct): Declare.
3150 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
3151 (GOMP_OFFLOAD_openacc_async_test): Declare.
3152 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
3153 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
3154 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
3155 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
3156 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
3158 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
3159 (gomp_acc_insert_pointer): Adjust declaration.
3160 (gomp_copy_host2dev): New declaration.
3161 (gomp_copy_dev2host): Likewise.
3162 (gomp_map_vars_async): Likewise.
3163 (gomp_unmap_tgt): Likewise.
3164 (gomp_unmap_vars_async): Likewise.
3165 (gomp_fini_device): Likewise.
3167 * oacc-async.c (get_goacc_thread): New function.
3168 (get_goacc_thread_device): New function.
3169 (lookup_goacc_asyncqueue): New function.
3170 (get_goacc_asyncqueue): New function.
3171 (acc_async_test): Adjust code to use new async design.
3172 (acc_async_test_all): Likewise.
3173 (acc_wait): Likewise.
3174 (acc_wait_async): Likewise.
3175 (acc_wait_all): Likewise.
3176 (acc_wait_all_async): Likewise.
3177 (goacc_async_free): New function.
3178 (goacc_init_asyncqueues): Likewise.
3179 (goacc_fini_asyncqueues): Likewise.
3180 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
3182 (acc_set_cuda_stream): Likewise.
3183 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
3184 (host_openacc_register_async_cleanup): Remove.
3185 (host_openacc_async_exec): New function.
3186 (host_openacc_async_test): Adjust parameters.
3187 (host_openacc_async_test_all): Remove.
3188 (host_openacc_async_wait): Remove.
3189 (host_openacc_async_wait_async): Remove.
3190 (host_openacc_async_wait_all): Remove.
3191 (host_openacc_async_wait_all_async): Remove.
3192 (host_openacc_async_set_async): Remove.
3193 (host_openacc_async_synchronize): New function.
3194 (host_openacc_async_serialize): New function.
3195 (host_openacc_async_host2dev): New function.
3196 (host_openacc_async_dev2host): New function.
3197 (host_openacc_async_queue_callback): New function.
3198 (host_openacc_async_construct): New function.
3199 (host_openacc_async_destruct): New function.
3200 (struct gomp_device_descr host_dispatch): Remove initialization of old
3201 interface, add initialization of new async sub-struct.
3202 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
3203 (goacc_attach_host_thread_to_device): Remove old async code usage.
3204 * oacc-int.h (goacc_init_asyncqueues): New declaration.
3205 (goacc_fini_asyncqueues): Likewise.
3206 (goacc_async_copyout_unmap_vars): Likewise.
3207 (goacc_async_free): Likewise.
3208 (get_goacc_asyncqueue): Likewise.
3209 (lookup_goacc_asyncqueue): Likewise.
3210 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
3212 (present_create_copy): Adjust code to use new async design.
3213 (delete_copyout): Likewise.
3214 (update_dev_host): Likewise.
3215 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
3217 (gomp_acc_remove_pointer): Adjust code to use new async design.
3218 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
3220 (GOACC_enter_exit_data): Likewise.
3221 (goacc_wait): Likewise.
3222 (GOACC_update): Likewise.
3223 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
3224 when called, warn as obsolete in comment.
3225 * target.c (goacc_device_copy_async): New function.
3226 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
3227 add goacc_device_copy_async case.
3228 (gomp_copy_dev2host): Likewise.
3229 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
3230 (gomp_map_pointer): Likewise.
3231 (gomp_map_fields_existing): Likewise.
3232 (gomp_map_vars_internal): New always_inline function, renamed from
3234 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
3235 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
3236 passing goacc_asyncqueue argument.
3237 (gomp_unmap_tgt): Remove static, add attribute_hidden.
3238 (gomp_unref_tgt): New function.
3239 (gomp_unmap_vars_internal): New always_inline function, renamed from
3241 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
3242 (gomp_unmap_vars_async): Implement by calling
3243 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
3244 (gomp_fini_device): New function.
3245 (gomp_exit_data): Adjust gomp_copy_dev2host call.
3246 (gomp_load_plugin_for_device): Remove old interface, adjust to load
3247 new async interface.
3248 (gomp_target_fini): Adjust code to call gomp_fini_device.
3250 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
3251 (struct ptx_stream): Remove.
3252 (struct nvptx_thread): Remove current_stream field.
3253 (cuda_map_create): Remove.
3254 (cuda_map_destroy): Remove.
3259 (struct goacc_asyncqueue): Define.
3260 (struct nvptx_callback): Define.
3261 (struct ptx_free_block): Define.
3262 (struct ptx_device): Remove null_stream, active_streams, async_streams,
3263 stream_lock, and next fields.
3264 (enum ptx_event_type): Remove.
3265 (struct ptx_event): Remove.
3266 (ptx_event_lock): Remove.
3267 (ptx_events): Remove.
3268 (init_streams_for_device): Remove.
3269 (fini_streams_for_device): Remove.
3270 (select_stream_for_async): Remove.
3271 (nvptx_init): Remove ptx_events and ptx_event_lock references.
3272 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
3274 (nvptx_open_device): Add free_blocks initialization, remove
3275 init_streams_for_device call.
3276 (nvptx_close_device): Remove fini_streams_for_device call, add
3277 free_blocks destruct code.
3279 (event_add): Remove.
3280 (nvptx_exec): Adjust parameters and code.
3281 (nvptx_free): Likewise.
3282 (nvptx_host2dev): Remove.
3283 (nvptx_dev2host): Remove.
3284 (nvptx_set_async): Remove.
3285 (nvptx_async_test): Remove.
3286 (nvptx_async_test_all): Remove.
3287 (nvptx_wait): Remove.
3288 (nvptx_wait_async): Remove.
3289 (nvptx_wait_all): Remove.
3290 (nvptx_wait_all_async): Remove.
3291 (nvptx_get_cuda_stream): Remove.
3292 (nvptx_set_cuda_stream): Remove.
3293 (GOMP_OFFLOAD_alloc): Adjust code.
3294 (GOMP_OFFLOAD_free): Likewise.
3295 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3296 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
3297 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3298 (GOMP_OFFLOAD_openacc_async_wait): Remove.
3299 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3300 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3301 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3302 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3303 (cuda_free_argmem): New function.
3304 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
3305 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
3306 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
3307 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
3308 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
3309 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
3310 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
3311 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
3312 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
3313 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
3314 (cuda_callback_wrapper): New function.
3315 (cuda_memcpy_sanity_check): New function.
3316 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
3317 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
3318 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
3319 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
3321 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
3324 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
3326 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
3328 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
3330 2019-03-27 Kevin Buettner <kevinb@redhat.com>
3332 * team.c (gomp_team_start): Initialize pool->threads[0].
3334 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
3336 * testsuite/libgomp.oacc-c++/c++.exp: Specify
3337 "-foffload=$offload_target".
3338 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3339 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3340 * testsuite/lib/libgomp.exp
3341 (check_effective_target_openacc_nvidia_accel_configured): Remove,
3342 as (conceptually) merged into
3343 check_effective_target_openacc_nvidia_accel_selected. Adjust all
3346 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
3347 * testsuite/libgomp-test-support.exp.in: Adjust.
3348 * testsuite/lib/libgomp.exp: Likewise. Don't populate
3349 openacc_device_types_s.
3350 (offload_target_to_openacc_device_type): New proc.
3351 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
3352 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3353 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3354 * Makefile.in: Regenerate.
3355 * configure: Likewise.
3356 * testsuite/Makefile.in: Likewise.
3358 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
3359 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
3360 instead of OFFLOAD_TARGETS.
3361 * target.c (gomp_target_init): Adjust.
3362 * testsuite/libgomp-test-support.exp.in: Likewise.
3363 * testsuite/lib/libgomp.exp: Likewise. Populate
3364 openacc_device_types_s instead of offload_targets_s_openacc.
3365 (check_effective_target_openacc_nvidia_accel_selected)
3366 (check_effective_target_openacc_host_selected): Adjust.
3367 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3368 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3369 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3370 * Makefile.in: Regenerate.
3371 * config.h.in: Likewise.
3372 * configure: Likewise.
3373 * testsuite/Makefile.in: Likewise.
3375 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
3376 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
3377 "offloading: supported, but hardware not accessible".
3378 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3379 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3381 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
3384 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
3386 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
3387 and related adjustment.
3389 2019-01-30 Jakub Jelinek <jakub@redhat.com>
3392 * testsuite/libgomp.c++/pr88988.C: New test.
3394 2019-01-28 Jakub Jelinek <jakub@redhat.com>
3397 * testsuite/libgomp.c/pr89002.c: New test.
3399 2019-01-28 Richard Biener <rguenther@suse.de>
3402 PR tree-optimization/86865
3403 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
3405 2019-01-24 Tom de Vries <tdevries@suse.de>
3407 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
3408 once instantiated_devices drops to 0.
3410 2019-01-23 Tom de Vries <tdevries@suse.de>
3413 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
3415 (nvptx_exec): Don't call map_push if mapnum == 0.
3416 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
3418 2019-01-23 Tom de Vries <tdevries@suse.de>
3422 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
3423 (map_fini): Remove "assert (!s->map->active)".
3424 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
3426 2019-01-23 Tom de Vries <tdevries@suse.de>
3429 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
3430 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
3432 2019-01-15 Tom de Vries <tdevries@suse.de>
3435 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
3438 2019-01-12 Tom de Vries <tdevries@suse.de>
3440 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
3441 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
3442 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
3443 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
3445 2019-01-12 Tom de Vries <tdevries@suse.de>
3447 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
3449 2019-01-12 Tom de Vries <tdevries@suse.de>
3451 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
3452 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
3453 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
3455 2019-01-12 Tom de Vries <tdevries@suse.de>
3458 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
3459 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
3461 2019-01-12 Tom de Vries <tdevries@suse.de>
3464 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
3465 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
3467 2019-01-12 Tom de Vries <tdevries@suse.de>
3469 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
3470 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
3471 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
3473 2019-01-12 Tom de Vries <tdevries@suse.de>
3475 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
3476 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
3477 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
3479 2019-01-12 Tom de Vries <tdevries@suse.de>
3481 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
3482 resources diagnostic.
3484 2019-01-12 Tom de Vries <tdevries@suse.de>
3486 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
3487 vector length to be 128.
3488 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
3489 length 2097152 to be reduced to 1024 instead of 32.
3491 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
3492 James Norris <jnorris@codesourcery.com>
3494 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
3495 Library Routines", and "Environment Variables".
3497 2019-01-11 Tom de Vries <tdevries@suse.de>
3499 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
3502 2019-01-11 Tom de Vries <tdevries@suse.de>
3504 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
3506 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
3507 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
3508 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
3509 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
3511 2019-01-11 Tom de Vries <tdevries@suse.de>
3513 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
3516 2019-01-10 Nathan Sidwell <nathan@acm.org>
3517 Julian Brown <julian@codesourcery.com>
3520 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
3521 * testsuite/libgomp.oacc-c++/pr71959.C: New.
3523 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
3525 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
3528 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
3530 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
3531 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3534 2019-01-09 Tom de Vries <tdevries@suse.de>
3537 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
3538 #define instead of "const int".
3539 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
3540 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
3541 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
3542 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
3544 2019-01-09 Tom de Vries <tdevries@suse.de>
3546 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
3549 2019-01-07 Tom de Vries <tdevries@suse.de>
3551 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
3552 GOMP_OPENACC_DIM argument.
3554 2019-01-03 Tom de Vries <tdevries@suse.de>
3556 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
3557 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
3559 2019-01-01 Jakub Jelinek <jakub@redhat.com>
3561 Update copyright years.
3563 2019-01-01 Jakub Jelinek <jakub@redhat.com>
3565 * libgomp.texi: Bump @copying's copyright year.
3567 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
3569 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
3570 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
3571 (GOACC_declare): Redefine the "device" argument to "flags".
3573 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
3574 Cesar Philippidis <cesar@codesourcery.com>
3576 * target.c (struct gomp_coalesce_chunk): New structure.
3577 (struct gomp_coalesce_buf): Update the chunks member to use that
3578 type. Adjust all users.
3580 2018-12-19 Tom de Vries <tdevries@suse.de>
3582 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
3583 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
3584 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
3586 2018-12-19 Tom de Vries <tdevries@suse.de>
3588 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
3589 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
3590 gcc/testsuite/gcc.dg/goacc.
3591 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
3593 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3594 Chung-Lin Tang <cltang@codesourcery.com>
3596 * oacc-mem.c (acc_present_or_create): Remove definition and change
3597 to alias of acc_create.
3598 (acc_present_or_copyin): Remove definition and change to alias of
3600 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
3601 of acc_present_or_create.
3602 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
3603 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3604 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3605 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3606 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3607 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3608 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3609 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3610 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3611 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3612 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3613 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3614 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3615 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3616 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3617 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3619 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3622 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3623 "identical parameters".
3624 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3625 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3628 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3629 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3632 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3633 (nvptx_wait_async): Unseen async-argument is a no-op.
3634 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3635 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3636 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3637 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3638 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3639 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3640 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
3641 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3642 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
3644 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3645 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3647 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
3649 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3650 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3651 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3653 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3656 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3657 (acc_set_cuda_stream): Clarify.
3658 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3660 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3662 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3663 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3664 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3665 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3667 2018-12-14 Tom de Vries <tdevries@suse.de>
3669 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3670 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3671 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3672 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3673 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3675 2018-12-13 Tom de Vries <tdevries@suse.de>
3677 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3678 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3679 * fortran.c (omp_display_affinity_): ... here.
3680 * libgomp.h (gomp_print_string): Declare.
3681 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
3682 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3685 2018-12-13 Jakub Jelinek <jakub@redhat.com>
3688 * testsuite/libgomp.c++/for-24.C (results): Include it in
3689 omp declare target region.
3690 (main): Use map (always, tofrom: results) instead of
3691 map (tofrom: results).
3693 2018-12-12 Jakub Jelinek <jakub@redhat.com>
3696 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3697 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3699 * testsuite/libgomp.c-c++-common/for-16.c: New test.
3701 2018-12-12 Andreas Schwab <schwab@suse.de>
3703 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3706 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
3709 * testsuite/libgomp.fortran/async_io_8.f90: New test.
3711 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
3712 Jakub Jelinek <jakub@redhat.com>
3714 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3715 devicep->host2dev_func.
3717 2018-12-08 Jakub Jelinek <jakub@redhat.com>
3720 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3721 tls_runtime effective target.
3722 (t): New threadprivate variable.
3723 (main): Set t in threads which execute iterations of the worksharing
3724 loop. Propagate that to the task after the loop and don't abort
3725 if the current taskgroup hasn't been cancelled.
3727 2018-12-02 Jakub Jelinek <jakub@redhat.com>
3729 * testsuite/libgomp.c/task-reduction-3.c: New test.
3731 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3733 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
3736 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3737 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3739 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
3741 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3743 2018-10-19 Richard Biener <rguenther@suse.de>
3745 PR tree-optimization/88182
3746 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3748 2018-11-26 Jakub Jelinek <jakub@redhat.com>
3750 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3751 (RUNTEST): Don't define.
3752 (RUNTESTDEFAULTFLAGS): Add.
3753 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3754 (distclean-am): Depend on distclean-DEJAGNU.
3755 (check-am): If -j% option is present in MFLAGS and if
3756 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3757 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3758 * testsuite/Makefile.in: Regenerated.
3760 2018-11-26 Richard Biener <rguenther@suse.de>
3762 PR tree-optimization/88182
3763 * testsuite/libgomp.c++/pr88182.C: New testcase.
3765 2018-11-20 Jakub Jelinek <jakub@redhat.com>
3768 * config/mingw32/affinity-fmt.c: New file.
3770 2018-11-09 Jakub Jelinek <jakub@redhat.com>
3772 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3773 (gomp_display_affinity): Use __builtin_choose_expr to handle
3774 properly handle argument having integral, or pointer or some other
3775 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
3776 with uint64_t type instead of %llx and unsigned long long.
3778 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3779 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3781 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3783 * affinity.c: Include <string.h>, <stdio.h>.
3784 (gomp_display_affinity_place): Remove cpusetp.
3785 * teams.c: Include <limits.h>.
3787 2018-11-08 Jakub Jelinek <jakub@redhat.com>
3789 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3790 in_reduction clause for s[0].
3792 * affinity.c (gomp_display_affinity_place): New function.
3793 * affinity-fmt.c: New file.
3794 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3795 * config/linux/affinity.c (gomp_display_affinity_place): New function.
3796 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3797 Move these functions to ...
3798 * config/nvptx/teams.c: ... here. New file.
3799 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3801 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3803 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3804 and _aligned_malloc.
3805 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3806 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3807 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3808 gomp_affinity_format_len): New variables.
3809 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3810 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
3811 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3812 modifiers. Display (non-default) chunk sizes. Print
3813 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3814 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
3815 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3816 * fortran.c: Include stdio.h and string.h.
3817 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3818 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3819 (omp_set_affinity_format_, omp_get_affinity_format_,
3820 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3821 omp_pause_resource_all_): New functions.
3822 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3824 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3826 * teams.c: ... here. New file.
3827 * libgomp_g.h: Include gstdint.h.
3828 (GOMP_loop_nonmonotonic_runtime_start,
3829 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3830 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3831 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3832 GOMP_parallel_loop_nonmonotonic_runtime,
3833 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3834 GOMP_loop_ull_nonmonotonic_runtime_start,
3835 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3836 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3837 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3838 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3839 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3840 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3841 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3842 GOMP_teams_reg): Declare.
3843 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3844 gomp_aligned_alloc uses fallback implementation.
3845 (gomp_aligned_alloc, gomp_aligned_free): Declare.
3846 (enum gomp_schedule_type): Add GFS_MONOTONIC.
3847 (struct gomp_doacross_work_share): Add extra field.
3848 (struct gomp_work_share): Add task_reductions field.
3849 (struct gomp_taskgroup): Add workshare and reductions fields.
3850 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3851 (gomp_thread_handle): New typedef.
3852 (gomp_display_affinity_place, gomp_set_affinity_format,
3853 gomp_display_string, gomp_display_affinity,
3854 gomp_display_affinity_thread): Declare.
3855 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3856 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3857 gomp_workshare_task_reduction_register): Declare.
3858 (gomp_team_start): Add taskgroup argument.
3859 (gomp_pause_host): Declare.
3860 (gomp_init_work_share, gomp_work_share_start): Change bool argument
3862 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3863 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3864 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3865 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3866 GOMP_loop_ull_doacross_start,
3867 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3868 GOMP_loop_maybe_nonmonotonic_runtime_next,
3869 GOMP_loop_maybe_nonmonotonic_runtime_start,
3870 GOMP_loop_nonmonotonic_runtime_next,
3871 GOMP_loop_nonmonotonic_runtime_start,
3872 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3873 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3874 GOMP_loop_ull_nonmonotonic_runtime_next,
3875 GOMP_loop_ull_nonmonotonic_runtime_start,
3876 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3877 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3878 GOMP_taskgroup_reduction_register,
3879 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3880 GOMP_teams_reg and GOMP_taskwait_depend.
3881 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3882 omp_{capture,display}_affinity{,_}, and
3883 omp_[gs]et_affinity_format{,_}.
3884 * loop.c: Include string.h.
3885 (GOMP_loop_runtime_next): Add ialias.
3886 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3887 (gomp_loop_static_start, gomp_loop_dynamic_start,
3888 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3889 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3890 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3891 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3892 or gomp_doacross_init callers.
3893 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3894 GOMP_loop_doacross_start): New functions.
3895 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3896 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3897 Mask off GFS_MONOTONIC bit.
3898 (GOMP_loop_maybe_nonmonotonic_runtime_next,
3899 GOMP_loop_maybe_nonmonotonic_runtime_start,
3900 GOMP_loop_nonmonotonic_runtime_next,
3901 GOMP_loop_nonmonotonic_runtime_start,
3902 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3903 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3905 (gomp_parallel_loop_start): Pass NULL as taskgroup to
3907 * loop_ull.c: Include string.h.
3908 (GOMP_loop_ull_runtime_next): Add ialias.
3909 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3910 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3911 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3912 gomp_loop_ull_ordered_dynamic_start,
3913 gomp_loop_ull_ordered_guided_start,
3914 gomp_loop_ull_doacross_static_start,
3915 gomp_loop_ull_doacross_dynamic_start,
3916 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3917 and gomp_doacross_ull_init callers.
3918 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3919 GOMP_loop_ull_doacross_start): New functions.
3920 (GOMP_loop_ull_runtime_start,
3921 GOMP_loop_ull_ordered_runtime_start,
3922 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3923 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3924 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3925 GOMP_loop_ull_nonmonotonic_runtime_next,
3926 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3927 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3928 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3929 (omp_pause_resource_t, omp_depend_t): New typedefs.
3930 (enum omp_lock_hint_t): Renamed to ...
3931 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
3932 enumerators using numbers and omp_lock_hint_* as their aliases.
3933 (omp_lock_hint_t): New typedef. Rename to ...
3934 (omp_sync_hint_t): ... this.
3935 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3936 omp_sync_hint_t instead of omp_lock_hint_t.
3937 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3938 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3940 (omp_target_is_present, omp_target_disassociate_ptr):
3941 Change first argument from void * to const void *.
3942 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3943 from void * to const void *.
3944 (omp_target_associate_ptr): Change first and second arguments from
3945 void * to const void *.
3946 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3947 omp_pause_hard): New parameters.
3948 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3949 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3951 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3952 omp_pause_hard): New parameters.
3953 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3954 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3956 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3957 EXTRA argument. If not needed to prepare array, if extra is 0,
3958 clear ws->doacross, otherwise allocate just doacross structure and
3959 extra payload. If array is needed, allocate also extra payload.
3960 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3961 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3963 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3965 (GOMP_parallel): Likewise. Formatting fix.
3966 (GOMP_parallel_reductions): New function.
3967 (GOMP_cancellation_point): If taskgroup has workshare
3968 flag set, check cancelled of prev taskgroup if any.
3969 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3970 on prev taskgroup if any.
3971 * sections.c: Include string.h.
3972 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3973 (GOMP_sections_start): Adjust gomp_work_share_start caller.
3974 (GOMP_sections2_start): New function.
3975 (GOMP_parallel_sections_start, GOMP_parallel_sections):
3976 Pass NULL as taskgroup to gomp_team_start.
3977 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3978 gomp_work_share_start callers.
3979 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3980 If taskgroup has workshare flag set, check cancelled on prev
3981 taskgroup if any. Guard all cancellation tests with
3982 gomp_cancel_var test.
3983 (omp_target_is_present, omp_target_disassociate_ptr):
3984 Change ptr argument from void * to const void *.
3985 (omp_target_memcpy): Change src argument from void * to const void *.
3986 (omp_target_memcpy_rect): Likewise.
3987 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
3988 instead of char * where needed.
3989 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3990 from void * to const void *.
3991 (omp_pause_resource, omp_pause_resource_all): New functions.
3992 * task.c (gomp_task_handle_depend): Handle new depend array format
3993 in addition to the old. Handle mutexinoutset kinds the same as
3994 inout for now, handle unspecified kinds.
3995 (gomp_create_target_task): If taskgroup has workshare flag set, check
3996 cancelled on prev taskgroup if any. Guard all cancellation tests with
3997 gomp_cancel_var test. Handle new depend array format count in
3998 addition to the old.
3999 (GOMP_task): Likewise. Adjust function comment.
4000 (gomp_task_run_pre): If taskgroup has workshare flag set, check
4001 cancelled on prev taskgroup if any. Guard all cancellation tests with
4002 gomp_cancel_var test.
4003 (GOMP_taskwait_depend): New function.
4004 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
4005 format in addition to the old. Handle mutexinoutset kinds the same as
4006 inout for now, handle unspecified kinds. Fix a function comment typo.
4007 (gomp_taskgroup_init): New function.
4008 (GOMP_taskgroup_start): Use it.
4009 (gomp_reduction_register, gomp_create_artificial_team,
4010 GOMP_taskgroup_reduction_register,
4011 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
4012 gomp_parallel_reduction_register,
4013 gomp_workshare_task_reduction_register,
4014 gomp_workshare_taskgroup_start,
4015 GOMP_workshare_task_reduction_unregister): New functions.
4016 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
4017 check cancelled on prev taskgroup if any. Guard all cancellation
4018 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
4019 by calling GOMP_taskgroup_reduction_register.
4020 * team.c (gomp_thread_attr): Remove comment.
4021 (struct gomp_thread_start_data): Add handle field.
4022 (gomp_thread_start): Call pthread_detach.
4023 (gomp_new_team): Adjust gomp_init_work_share caller.
4024 (gomp_free_pool_helper): Call pthread_detach.
4025 (gomp_team_start): Add taskgroup argument, initialize implicit
4026 tasks' taskgroup field to that. Don't call
4027 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
4028 (gomp_team_end): Determine nesting by thr->ts.level != 0
4029 rather than thr->ts.team != NULL.
4030 (gomp_pause_pool_helper, gomp_pause_host): New functions.
4031 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
4032 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
4033 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
4034 if more than 1 allocate also extra payload at the end of array. Never
4035 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
4036 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
4037 return true instead of ws.
4038 * Makefile.in: Regenerated.
4039 * configure: Regenerated.
4040 * config.h.in: Regenerated.
4041 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
4043 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
4044 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
4045 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
4046 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
4047 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
4048 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
4049 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
4050 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
4051 * testsuite/libgomp.c-c++-common/for-10.c: New test.
4052 * testsuite/libgomp.c-c++-common/for-11.c: New test.
4053 * testsuite/libgomp.c-c++-common/for-12.c: New test.
4054 * testsuite/libgomp.c-c++-common/for-13.c: New test.
4055 * testsuite/libgomp.c-c++-common/for-14.c: New test.
4056 * testsuite/libgomp.c-c++-common/for-15.c: New test.
4057 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
4058 define a different N(test), don't define N(f0) to N(f14), but instead
4059 define N(f20) to N(f34) using != comparisons.
4060 * testsuite/libgomp.c-c++-common/for-7.c: New test.
4061 * testsuite/libgomp.c-c++-common/for-8.c: New test.
4062 * testsuite/libgomp.c-c++-common/for-9.c: New test.
4063 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
4064 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
4065 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
4066 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
4067 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
4068 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
4069 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
4070 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
4071 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
4072 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
4073 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
4074 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
4075 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
4076 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
4077 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
4078 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
4079 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
4080 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
4081 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
4082 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
4083 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
4084 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
4085 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
4086 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
4087 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
4088 * testsuite/libgomp.c++/depend-1.C: New test.
4089 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
4090 * testsuite/libgomp.c++/depobj-1.C: New test.
4091 * testsuite/libgomp.c++/for-16.C: New test.
4092 * testsuite/libgomp.c++/for-21.C: New test.
4093 * testsuite/libgomp.c++/for-22.C: New test.
4094 * testsuite/libgomp.c++/for-23.C: New test.
4095 * testsuite/libgomp.c++/for-24.C: New test.
4096 * testsuite/libgomp.c++/for-25.C: New test.
4097 * testsuite/libgomp.c++/for-26.C: New test.
4098 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
4099 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
4100 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
4101 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
4102 * testsuite/libgomp.c++/task-reduction-10.C: New test.
4103 * testsuite/libgomp.c++/task-reduction-11.C: New test.
4104 * testsuite/libgomp.c++/task-reduction-12.C: New test.
4105 * testsuite/libgomp.c++/task-reduction-13.C: New test.
4106 * testsuite/libgomp.c++/task-reduction-14.C: New test.
4107 * testsuite/libgomp.c++/task-reduction-15.C: New test.
4108 * testsuite/libgomp.c++/task-reduction-16.C: New test.
4109 * testsuite/libgomp.c++/task-reduction-17.C: New test.
4110 * testsuite/libgomp.c++/task-reduction-18.C: New test.
4111 * testsuite/libgomp.c++/task-reduction-19.C: New test.
4112 * testsuite/libgomp.c/task-reduction-1.c: New test.
4113 * testsuite/libgomp.c++/task-reduction-1.C: New test.
4114 * testsuite/libgomp.c/task-reduction-2.c: New test.
4115 * testsuite/libgomp.c++/task-reduction-2.C: New test.
4116 * testsuite/libgomp.c++/task-reduction-3.C: New test.
4117 * testsuite/libgomp.c++/task-reduction-4.C: New test.
4118 * testsuite/libgomp.c++/task-reduction-5.C: New test.
4119 * testsuite/libgomp.c++/task-reduction-6.C: New test.
4120 * testsuite/libgomp.c++/task-reduction-7.C: New test.
4121 * testsuite/libgomp.c++/task-reduction-8.C: New test.
4122 * testsuite/libgomp.c++/task-reduction-9.C: New test.
4123 * testsuite/libgomp.c/teams-1.c: New test.
4124 * testsuite/libgomp.c/teams-2.c: New test.
4125 * testsuite/libgomp.c/thread-limit-4.c: New test.
4126 * testsuite/libgomp.c/thread-limit-5.c: New test.
4127 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
4129 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
4131 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
4132 acc_memcpy_to/from_device functions, now with async parameter.
4133 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
4134 (acc_memcpy_from_device): Likewise.
4135 (acc_memcpy_to_device_async): New API function.
4136 (acc_memcpy_from_device_async): Likewise.
4137 (present_create_copy): Add async parameter and async setting/unsetting.
4138 (acc_create): Adjust present_create_copy call.
4139 (acc_copyin): Likewise.
4140 (acc_present_or_create): Likewise.
4141 (acc_present_or_copyin): Likewise.
4142 (acc_create_async): New API function.
4143 (acc_copyin_async): New API function.
4144 (delete_copyout): Add async parameter and async setting/unsetting.
4145 (acc_delete): Adjust delete_copyout call.
4146 (acc_copyout): Likewise.
4147 (acc_delete_async): New API function.
4148 (acc_copyout_async): Likewise.
4149 (update_dev_host): Add async parameter and async setting/unsetting.
4150 (acc_update_device): Adjust update_dev_host call.
4151 (acc_update_self): Likewise.
4152 (acc_update_device_async): New API function.
4153 (acc_update_self_async): Likewise.
4154 * openacc.h (acc_copyin_async): Declare new API function.
4155 (acc_create_async): Likewise.
4156 (acc_copyout_async): Likewise.
4157 (acc_delete_async): Likewise.
4158 (acc_update_device_async): Likewise.
4159 (acc_update_self_async): Likewise.
4160 (acc_memcpy_to_device_async): Likewise.
4161 (acc_memcpy_from_device_async): Likewise.
4162 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
4163 (acc_copyin_async_64_h): New subroutine.
4164 (acc_copyin_async_array_h): New subroutine.
4165 (acc_create_async_32_h): New subroutine.
4166 (acc_create_async_64_h): New subroutine.
4167 (acc_create_async_array_h): New subroutine.
4168 (acc_copyout_async_32_h): New subroutine.
4169 (acc_copyout_async_64_h): New subroutine.
4170 (acc_copyout_async_array_h): New subroutine.
4171 (acc_delete_async_32_h): New subroutine.
4172 (acc_delete_async_64_h): New subroutine.
4173 (acc_delete_async_array_h): New subroutine.
4174 (acc_update_device_async_32_h): New subroutine.
4175 (acc_update_device_async_64_h): New subroutine.
4176 (acc_update_device_async_array_h): New subroutine.
4177 (acc_update_self_async_32_h): New subroutine.
4178 (acc_update_self_async_64_h): New subroutine.
4179 (acc_update_self_async_array_h): New subroutine.
4180 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
4181 (acc_copyin_async_64_h): New subroutine.
4182 (acc_copyin_async_array_h): New subroutine.
4183 (acc_create_async_32_h): New subroutine.
4184 (acc_create_async_64_h): New subroutine.
4185 (acc_create_async_array_h): New subroutine.
4186 (acc_copyout_async_32_h): New subroutine.
4187 (acc_copyout_async_64_h): New subroutine.
4188 (acc_copyout_async_array_h): New subroutine.
4189 (acc_delete_async_32_h): New subroutine.
4190 (acc_delete_async_64_h): New subroutine.
4191 (acc_delete_async_array_h): New subroutine.
4192 (acc_update_device_async_32_h): New subroutine.
4193 (acc_update_device_async_64_h): New subroutine.
4194 (acc_update_device_async_array_h): New subroutine.
4195 (acc_update_self_async_32_h): New subroutine.
4196 (acc_update_self_async_64_h): New subroutine.
4197 (acc_update_self_async_array_h): New subroutine.
4198 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
4199 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
4200 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
4201 acc_memcpy_to_device_async*, acc_update_device_async*, and
4202 acc_update_self_async* entries.
4203 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
4204 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
4205 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
4207 2018-10-31 Joseph Myers <joseph@codesourcery.com>
4210 * Makefile.am: Include multilib.am
4211 (AUTOMAKE_OPTIONS): Add info-in-builddir.
4212 (CLEANFILES): Remove libgomp.info.
4213 * configure.ac: Remove AC_PREREQ.
4214 * testsuite/Makefile.am (RUNTEST): Remove quotes.
4215 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
4218 2018-10-29 Joseph Myers <joseph@codesourcery.com>
4219 Julian Brown <julian@codesourcery.com>
4221 * testsuite/libgomp.oacc-c++/this.C: New.
4223 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
4225 * plugin/plugin-nvptx.c (struct cuda_map): New.
4226 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
4227 h_tail with (cuda_map *) map.
4228 (cuda_map_create): New function.
4229 (cuda_map_destroy): New function.
4230 (map_init): Update to use a linked list of cuda_map objects.
4231 (map_fini): Likewise.
4232 (map_pop): Likewise.
4233 (map_push): Likewise. Return CUdeviceptr instead of void.
4234 (init_streams_for_device): Remove stales references to ptx_stream
4236 (select_stream_for_async): Likewise.
4237 (nvptx_exec): Update call to map_init.
4239 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
4240 Julian Brown <julian@codesourcery.com>
4243 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
4245 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
4246 Thomas Koenig <tkoenig@gcc.gnu.org>
4249 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4250 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4251 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4252 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4253 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4254 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4255 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4257 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
4258 Tom de Vries <tdevries@suse.de>
4261 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
4262 (cuOccupancyMaxPotentialBlockSize): Declare.
4263 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
4264 CUDA_ONE_CALL_MAYBE_NULL.
4265 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
4266 CUoccupancyB2DSize and declare
4267 cuOccupancyMaxPotentialBlockSize.
4268 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
4269 default num_gangs and num_workers when the driver supports it.
4271 2018-08-08 Tom de Vries <tdevries@suse.de>
4273 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
4274 CUDA_ONE_CALL_MAYBE_NULL.
4275 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
4276 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
4277 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
4280 2018-08-08 Tom de Vries <tdevries@suse.de>
4282 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
4283 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
4286 2018-08-08 Tom de Vries <tdevries@suse.de>
4288 * plugin/plugin-nvptx.c
4289 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
4290 (nvptx_open_device): Use
4291 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
4293 2018-08-08 Tom de Vries <tdevries@suse.de>
4295 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
4296 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
4298 2018-08-07 Tom de Vries <tdevries@suse.de>
4300 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
4301 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
4302 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
4303 corresponding call in CUDA_ONE_CALL. Add def/undef of
4304 CUDA_ONE_CALL_MAYBE_NULL.
4305 (CUDA_CALL_EXISTS): Define.
4307 2018-08-07 Tom de Vries <tdevries@suse.de>
4309 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
4310 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
4311 corresponding undefs right after.
4313 2018-08-04 Tom de Vries <tdevries@suse.de>
4315 * plugin/configfrag.ac: For --without-cuda-driver, set
4316 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
4317 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
4318 * configure: Regenerate.
4320 2018-08-02 Tom de Vries <tdevries@suse.de>
4323 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
4324 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
4325 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4327 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
4328 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
4329 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
4331 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
4332 Thomas Schwinge <thomas@codesourcery.com>
4334 * config/nvptx/oacc-parallel.c: Truncate.
4336 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
4337 James Norris <jnorris@codesourcery.com>
4339 * plugin/plugin-nvptx.c (struct map): Removed.
4340 (map_init, map_pop): Remove use of struct map.
4341 (map_push): Likewise and change argument list.
4342 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
4344 2018-08-01 Tom de Vries <tdevries@suse.de>
4346 * plugin/cuda-lib.def: New file. Factor out of ...
4347 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
4348 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
4351 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
4353 Revert 'AsyncI/O patch committed'.
4354 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
4355 Thomas Koenig <tkoenig@gcc.gnu.org>
4358 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4359 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4360 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4361 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4362 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4363 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4364 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4366 2018-07-30 Tom de Vries <tdevries@suse.de>
4368 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
4369 (nvptx_exec): Ensure worker and vector default dims don't exceed
4370 targ_fn->max_threads_per_block.
4372 2018-07-30 Tom de Vries <tdevries@suse.de>
4374 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
4375 (nvptx_open_device): Init default_dims for device.
4376 (nvptx_exec): Use default_dims from device.
4378 2018-07-26 Jakub Jelinek <jakub@redhat.com>
4381 * testsuite/libgomp.c++/for-15.C (results): Include it in
4382 omp declare target region.
4383 (main): Use map (always, tofrom: results) instead of
4384 map (tofrom: results).
4387 * testsuite/libgomp.c/pr86660.c: New test.
4389 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
4390 Tom de Vries <tdevries@suse.de>
4392 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
4393 sufficient resources to launch a kernel, and give a hint on how to fix
4396 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
4397 Tom de Vries <tdevries@suse.de>
4399 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
4400 max_threads_per_block and max_threads_per_multiprocessor fields.
4401 (nvptx_open_device): Initialize new fields.
4402 (nvptx_exec): Use num_sms, and new fields.
4404 2018-07-26 Tom de Vries <tdevries@suse.de>
4406 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
4407 to correct locations. Remove xfail.
4409 2018-07-26 Tom de Vries <tdevries@suse.de>
4411 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
4412 acc_wait. Move acc_async_test calls to correct locations. Remove
4415 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
4416 Thomas Koenig <tkoenig@gcc.gnu.org>
4419 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4420 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4421 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4422 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4423 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4424 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4425 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4427 2018-07-17 Jakub Jelinek <jakub@redhat.com>
4430 * testsuite/libgomp.c++/pr86542.C: New test.
4433 * testsuite/libgomp.c++/pr86539.C: New test.
4435 2018-07-11 Jakub Jelinek <jakub@redhat.com>
4438 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
4439 (results): Make sure the variable is not inside declare target region.
4440 (qux): Remove unused function.
4442 2018-07-10 Jakub Jelinek <jakub@redhat.com>
4445 * testsuite/libgomp.c++/for-15.C: New test.
4447 2018-06-26 Jakub Jelinek <jakub@redhat.com>
4450 * testsuite/libgomp.c++/pr86291.C: New test.
4452 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
4454 * libgomp.texi (Top): Move www.openmp.org to https.
4455 (Enabling OpenMP): Ditto.
4456 (omp_get_active_level): Ditto.
4457 (omp_get_ancestor_thread_num): Ditto.
4458 (omp_get_cancellation): Ditto.
4459 (omp_get_default_device): Ditto.
4460 (omp_get_dynamic): Ditto.
4461 (omp_get_level): Ditto.
4462 (omp_get_max_active_levels): Ditto.
4463 (omp_get_max_task_priority): Ditto.
4464 (omp_get_max_threads): Ditto.
4465 (omp_get_nested): Ditto.
4466 (omp_get_num_devices): Ditto.
4467 (omp_get_num_procs): Ditto.
4468 (omp_get_num_teams): Ditto.
4469 (omp_get_num_threads): Ditto.
4470 (omp_get_proc_bind): Ditto.
4471 (omp_get_schedule): Ditto.
4472 (omp_get_team_num): Ditto.
4473 (omp_get_team_size): Ditto.
4474 (omp_get_thread_limit): Ditto.
4475 (omp_get_thread_num): Ditto.
4476 (omp_in_parallel): Ditto.
4477 (omp_in_final): Ditto.
4478 (omp_is_initial_device): Ditto.
4479 (omp_set_default_device): Ditto.
4480 (omp_set_dynamic): Ditto.
4481 (omp_set_max_active_levels): Ditto.
4482 (omp_set_nested): Ditto.
4483 (omp_set_num_threads): Ditto.
4484 (omp_set_schedule): Ditto.
4485 (omp_init_lock): Ditto.
4486 (omp_set_lock): Ditto.
4487 (omp_test_lock): Ditto.
4488 (omp_unset_lock): Ditto.
4489 (omp_destroy_lock): Ditto.
4490 (omp_init_nest_lock): Ditto.
4491 (omp_set_nest_lock): Ditto.
4492 (omp_test_nest_lock): Ditto.
4493 (omp_unset_nest_lock): Ditto.
4494 (omp_destroy_nest_lock): Ditto.
4495 (omp_get_wtick): Ditto.
4496 (omp_get_wtime): Ditto.
4497 (OMP_CANCELLATION): Ditto.
4498 (OMP_DISPLAY_ENV): Ditto.
4499 (OMP_DEFAULT_DEVICE): Ditto.
4500 (OMP_DYNAMIC): Ditto.
4501 (OMP_MAX_ACTIVE_LEVELS): Ditto.
4502 (OMP_MAX_TASK_PRIORITY): Ditto.
4503 (OMP_NESTED): Ditto.
4504 (OMP_NUM_THREADS): Ditto.
4505 (OMP_PROC_BIND): Ditto.
4506 (OMP_PLACES): Ditto.
4507 (OMP_STACKSIZE): Ditto.
4508 (OMP_SCHEDULE): Ditto.
4509 (OMP_THREAD_LIMIT): Ditto.
4510 (OMP_WAIT_POLICY): Ditto.
4512 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
4513 James Norris <jnorris@codesourcery.com>
4514 Julian Brown <julian@codesourcery.com>
4515 Thomas Schwinge <thomas@codesourcery.com>
4516 Tom de Vries <tom@codesourcery.com>
4518 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
4519 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
4520 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
4521 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
4522 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4523 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4524 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
4525 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4526 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
4527 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
4529 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4531 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4533 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
4535 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
4537 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4539 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4541 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4543 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4545 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4547 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4549 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4551 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4553 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4555 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4557 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4559 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4561 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4563 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4565 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4567 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4569 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4571 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4573 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4575 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4577 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4579 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4581 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
4582 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
4583 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
4584 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
4585 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
4586 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4587 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4588 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
4589 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4591 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4593 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
4594 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
4595 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
4597 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
4598 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
4599 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4601 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4603 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4605 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4607 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4609 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4611 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4613 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4615 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4617 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4619 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4621 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4623 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4625 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4627 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4629 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4630 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4631 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4632 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4633 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4634 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4635 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4637 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4638 Thomas Schwinge <thomas@codesourcery.com>
4639 Cesar Philippidis <cesar@codesourcery.com>
4641 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4642 (gomp_acc_remove_pointer): Update declaration.
4643 (gomp_acc_declare_allocate): Declare.
4644 (gomp_remove_var): Declare.
4645 * libgomp.map (OACC_2.5): Define.
4646 * oacc-mem.c (acc_map_data): Update refcount.
4647 (acc_unmap_data): Likewise.
4648 (present_create_copy): Likewise.
4649 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4650 (acc_copyin): Likewise.
4651 (FLAG_FINALIZE): Define.
4652 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4653 (acc_delete_finalize): New function.
4654 (acc_delete_finalize_async): New function.
4655 (acc_copyout_finalize): New function.
4656 (acc_copyout_finalize_async): New function.
4657 (gomp_acc_insert_pointer): Update refcounts.
4658 (gomp_acc_remove_pointer): Return if data is not present on the
4660 * oacc-parallel.c (find_pset): Rename to find_pointer.
4661 (find_pointer): Add support for GOMP_MAP_POINTER.
4662 (handle_ftn_pointers): New function.
4663 (GOACC_parallel_keyed): Update refcounts of variables.
4664 (GOACC_enter_exit_data): Add support for finalized data mappings.
4665 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4667 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4668 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4669 for GOMP_MAP_FORCE_FROM.
4670 * openacc.f90 (module openacc_internal): Add
4671 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4672 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4673 acc_copyout_finalize and acc_delete_finalize.
4674 (acc_copyout_finalize_32_h): New subroutine.
4675 (acc_copyout_finalize_64_h): New subroutine.
4676 (acc_copyout_finalize_array_h): New subroutine.
4677 (acc_delete_finalize_32_h): New subroutine.
4678 (acc_delete_finalize_64_h): New subroutine.
4679 (acc_delete_finalize_array_h): New subroutine.
4680 * openacc.h (acc_copyout_finalize): Declare.
4681 (acc_copyout_finalize_async): Declare.
4682 (acc_delete_finalize): Declare.
4683 (acc_delete_finalize_async): Declare.
4684 * openacc_lib.h (acc_copyout_finalize): New interface.
4685 (acc_delete_finalize): New interface.
4686 * target.c (gomp_map_vars): Update dynamic_refcount.
4687 (gomp_remove_var): New function.
4688 (gomp_unmap_vars): Use it.
4689 (gomp_unload_image_from_device): Likewise.
4690 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4691 case to utilize OpenACC 2.5 data clause semantics.
4692 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4693 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4694 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4695 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4696 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4697 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4698 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4699 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4700 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4701 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4702 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4703 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4704 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4705 utilize OpenACC 2.5 data clause semantics.
4706 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4707 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4708 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4709 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4710 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4711 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4712 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4713 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4714 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4716 2018-05-21 Janus Weil <janus@gcc.gnu.org>
4720 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4721 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4722 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4723 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4724 * testsuite/libgomp.fortran/task2.f90: Ditto.
4725 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4726 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4727 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4728 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4729 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4730 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4731 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4732 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4733 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4735 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
4738 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4740 2018-05-09 Tom de Vries <tom@codesourcery.com>
4743 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4744 to GOACC_enter_exit_data.
4746 2018-05-09 Tom de Vries <tom@codesourcery.com>
4749 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4750 (async_synchronous_p): New function.
4751 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4753 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4754 async_valid_stream_id_p.
4755 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4756 * oacc-parallel.c (GOACC_parallel_keyed): Same.
4758 2018-05-07 Tom de Vries <tom@codesourcery.com>
4761 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4762 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4764 2018-05-03 Tom de Vries <tom@codesourcery.com>
4767 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4768 extra_tool_flags if it contains an -foffload=-fdump-* flag.
4769 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4770 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4772 2018-05-02 Tom de Vries <tom@codesourcery.com>
4775 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4776 GOMP_OPENACC_DIM ...
4777 * env.c (parse_gomp_openacc_dim): ... here. New function.
4778 (initialize_env): Call parse_gomp_openacc_dim.
4779 (goacc_default_dims): Define.
4780 * libgomp.h (goacc_default_dims): Declare.
4781 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4782 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4783 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4784 GOMP_PLUGIN_acc_default_dim.
4785 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4786 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4788 2018-05-02 Tom de Vries <tom@codesourcery.com>
4791 * testsuite/libgomp.c++/udr-9.C: Update.
4792 * testsuite/libgomp.c++/atomic-16.C: Remove.
4793 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4794 * testsuite/libgomp.c++/loop-13.C: Remove.
4795 * testsuite/libgomp.c++/loop-14.C: Remove.
4796 * testsuite/libgomp.c++/loop-15.C: Remove.
4797 * testsuite/libgomp.c++/monotonic-1.C: Remove.
4798 * testsuite/libgomp.c++/monotonic-2.C: Remove.
4799 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4800 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4801 * testsuite/libgomp.c++/ordered-1.C: Remove.
4802 * testsuite/libgomp.c++/pr45784.C: Remove.
4803 * testsuite/libgomp.c++/pr64824.C: Remove.
4804 * testsuite/libgomp.c++/pr64868.C: Remove.
4805 * testsuite/libgomp.c++/pr66199-1.C: Remove.
4806 * testsuite/libgomp.c++/pr66199-2.C: Remove.
4807 * testsuite/libgomp.c++/pr66199-3.C: Remove.
4808 * testsuite/libgomp.c++/pr66199-4.C: Remove.
4809 * testsuite/libgomp.c++/pr66199-5.C: Remove.
4810 * testsuite/libgomp.c++/pr66199-6.C: Remove.
4811 * testsuite/libgomp.c++/pr66199-7.C: Remove.
4812 * testsuite/libgomp.c++/pr66199-8.C: Remove.
4813 * testsuite/libgomp.c++/pr66199-9.C: Remove.
4814 * testsuite/libgomp.c++/pr69389.C: Remove.
4815 * testsuite/libgomp.c++/simd10.C: Remove.
4816 * testsuite/libgomp.c++/simd11.C: Remove.
4817 * testsuite/libgomp.c++/simd12.C: Remove.
4818 * testsuite/libgomp.c++/simd13.C: Remove.
4819 * testsuite/libgomp.c++/target-1.C: Remove.
4820 * testsuite/libgomp.c++/target-3.C: Remove.
4821 * testsuite/libgomp.c++/target-4.C: Remove.
4822 * testsuite/libgomp.c++/target-5.C: Remove.
4823 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4824 * testsuite/libgomp.c++/taskloop-1.C: Remove.
4825 * testsuite/libgomp.c++/taskloop-2.C: Remove.
4826 * testsuite/libgomp.c++/taskloop-3.C: Remove.
4827 * testsuite/libgomp.c++/taskloop-4.C: Remove.
4828 * testsuite/libgomp.c++/udr-9.C: Remove.
4829 * testsuite/libgomp.c++/for-10.C: Remove.
4830 * testsuite/libgomp.c++/for-11.C: Remove.
4831 * testsuite/libgomp.c++/for-12.C: Remove.
4832 * testsuite/libgomp.c++/for-13.C: Remove.
4833 * testsuite/libgomp.c++/for-14.C: Remove.
4834 * testsuite/libgomp.c++/for-9.C: Remove.
4835 * testsuite/libgomp.c/atomic-18.c: Move ...
4836 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4837 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4838 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4839 * testsuite/libgomp.c/loop-13.c: Move ...
4840 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4841 * testsuite/libgomp.c/loop-14.c: Move ...
4842 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4843 * testsuite/libgomp.c/loop-15.c: Remove.
4844 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4845 * testsuite/libgomp.c/monotonic-1.c: Move ...
4846 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4847 * testsuite/libgomp.c/monotonic-2.c: Move ...
4848 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4849 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4850 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4851 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4852 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4853 * testsuite/libgomp.c/ordered-4.c: Move ...
4854 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4855 * testsuite/libgomp.c/pr45784.c: Move ...
4856 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4857 * testsuite/libgomp.c/pr64824.c: Move ...
4858 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4859 * testsuite/libgomp.c/pr64868.c: Move ...
4860 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4861 * testsuite/libgomp.c/pr66199-1.c: Move ...
4862 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4863 * testsuite/libgomp.c/pr66199-2.c: Move ...
4864 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4865 * testsuite/libgomp.c/pr66199-3.c: Move ...
4866 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4867 * testsuite/libgomp.c/pr66199-4.c: Move ...
4868 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4869 * testsuite/libgomp.c/pr66199-5.c: Move ...
4870 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4871 * testsuite/libgomp.c/pr66199-6.c: Move ...
4872 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4873 * testsuite/libgomp.c/pr66199-7.c: Move ...
4874 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4875 * testsuite/libgomp.c/pr66199-8.c: Move ...
4876 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4877 * testsuite/libgomp.c/pr66199-9.c: Move ...
4878 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4879 * testsuite/libgomp.c/pr69389.c: Move ...
4880 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4881 * testsuite/libgomp.c/simd-14.c: Move ...
4882 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4883 * testsuite/libgomp.c/simd-15.c: Move ...
4884 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4885 * testsuite/libgomp.c/simd-16.c: Move ...
4886 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4887 * testsuite/libgomp.c/simd-17.c: Move ...
4888 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4889 * testsuite/libgomp.c/target-1.c: Move ...
4890 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4891 * testsuite/libgomp.c/target-10.c: Move ...
4892 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4893 * testsuite/libgomp.c/target-13.c: Move ...
4894 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4895 * testsuite/libgomp.c/target-2.c: Move ...
4896 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4897 * testsuite/libgomp.c/taskgroup-1.c: Move ...
4898 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4899 * testsuite/libgomp.c/taskloop-1.c: Move ...
4900 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4901 * testsuite/libgomp.c/taskloop-2.c: Move ...
4902 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4903 * testsuite/libgomp.c/taskloop-3.c: Move ...
4904 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4905 * testsuite/libgomp.c/taskloop-4.c: Move ...
4906 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4907 * testsuite/libgomp.c/udr-1.c: Move ...
4908 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4909 * testsuite/libgomp.c/for-1.c: Move ...
4910 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4911 * testsuite/libgomp.c/for-1.h: Move ...
4912 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4913 * testsuite/libgomp.c/for-2.c: Move ...
4914 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4915 * testsuite/libgomp.c/for-2.h: Move ...
4916 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4917 * testsuite/libgomp.c/for-3.c: Move ...
4918 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4919 * testsuite/libgomp.c/for-4.c: Move ...
4920 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4921 * testsuite/libgomp.c/for-5.c: Move ...
4922 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4923 * testsuite/libgomp.c/for-6.c: Move ...
4924 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4926 2018-05-02 Tom de Vries <tom@codesourcery.com>
4929 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4930 __builtin_goacc_parlevel_{id,size}.
4931 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4932 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4933 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4934 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4935 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4936 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4937 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4938 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4939 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4940 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4941 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4942 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4943 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4944 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4945 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4946 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4947 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4948 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4949 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4950 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4951 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4952 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4953 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4955 2018-05-02 Tom de Vries <tom@codesourcery.com>
4958 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4960 2018-05-02 Tom de Vries <tom@codesourcery.com>
4963 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4965 2018-04-29 Julian Brown <julian@codesourcery.com>
4966 Tom de Vries <tom@codesourcery.com>
4969 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4970 arbitrary order for iterations of atomic subtract check.
4972 2018-04-28 Tom de Vries <tom@codesourcery.com>
4975 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4976 atomic capture results obtained in parallel loop to an array, instead of
4979 2018-04-26 Tom de Vries <tom@codesourcery.com>
4982 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4983 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4984 (process_GOMP_NVPTX_JIT): New function.
4985 (link_ptx): Use process_GOMP_NVPTX_JIT.
4987 2018-04-26 Richard Biener <rguenther@suse.de>
4988 Tom de Vries <tom@codesourcery.com>
4991 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4993 2018-04-26 Tom de Vries <tom@codesourcery.com>
4996 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4997 recursion depth from 25 to 23.
4998 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
5000 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
5002 * configure: Regenerated.
5004 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
5005 Tom de Vries <tom@codesourcery.com>
5008 * testsuite/libgomp.oacc-c++/ref-1.C: New.
5010 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
5013 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
5014 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5015 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5016 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
5017 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
5018 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
5021 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
5023 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5025 2018-04-19 Jakub Jelinek <jakub@redhat.com>
5027 * configure: Regenerated.
5029 2018-04-18 David Malcolm <dmalcolm@redhat.com>
5032 * configure: Regenerate.
5034 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
5035 Tom de Vries <tom@codesourcery.com>
5038 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5039 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5041 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
5045 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
5046 test from gfortran.dg to here.
5048 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
5050 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
5051 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
5053 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
5056 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5057 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5059 2018-04-05 Tom de Vries <tom@codesourcery.com>
5062 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
5064 2018-03-26 Tom de Vries <tom@codesourcery.com>
5066 PR tree-optimization/85063
5067 * testsuite/libgomp.c/switch-conversion-2.c: New test.
5068 * testsuite/libgomp.c/switch-conversion.c: New test.
5069 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
5070 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
5072 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
5075 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
5076 call abort by STOP n.
5077 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
5078 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
5079 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
5080 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
5081 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
5082 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
5083 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
5084 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
5085 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
5086 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
5087 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
5088 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
5089 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
5090 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
5091 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
5092 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
5093 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
5094 * testsuite/libgomp.fortran/associate1.f90: Likewise.
5095 * testsuite/libgomp.fortran/associate2.f90: Likewise.
5096 * testsuite/libgomp.fortran/associate3.f90: Likewise.
5097 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
5098 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
5099 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
5100 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
5101 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
5102 * testsuite/libgomp.fortran/character1.f90: Likewise.
5103 * testsuite/libgomp.fortran/character2.f90: Likewise.
5104 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
5105 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
5106 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
5107 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
5108 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
5109 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
5110 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
5111 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
5112 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
5113 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
5114 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
5115 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
5116 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
5117 * testsuite/libgomp.fortran/do1.f90: Likewise.
5118 * testsuite/libgomp.fortran/do2.f90: Likewise.
5119 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
5120 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
5121 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
5122 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
5123 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
5124 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
5125 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5126 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
5127 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
5128 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
5129 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
5130 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
5131 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5132 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
5133 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
5134 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
5135 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
5136 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
5137 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
5138 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
5139 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
5140 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
5141 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
5142 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
5143 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
5144 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
5145 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
5146 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5147 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
5148 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
5149 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
5150 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
5151 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
5152 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5153 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5154 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
5155 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
5156 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
5157 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
5158 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
5159 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
5160 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
5161 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
5162 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
5163 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5164 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
5165 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
5166 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
5167 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
5168 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5169 * testsuite/libgomp.fortran/lib2.f: Likewise.
5170 * testsuite/libgomp.fortran/lib3.f: Likewise.
5171 * testsuite/libgomp.fortran/lib4.f90: Likewise.
5172 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
5173 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
5174 * testsuite/libgomp.fortran/nested1.f90: Likewise.
5175 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
5176 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
5177 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
5178 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
5179 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
5180 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
5181 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
5182 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
5183 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
5184 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
5185 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
5186 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
5187 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
5188 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
5189 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
5190 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
5191 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
5192 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
5193 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
5194 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5195 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
5196 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
5197 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
5198 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
5199 * testsuite/libgomp.fortran/pr25162.f: Likewise.
5200 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
5201 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
5202 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
5203 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
5204 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
5205 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
5206 * testsuite/libgomp.fortran/pr28390.f: Likewise.
5207 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
5208 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
5209 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
5210 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
5211 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
5212 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
5213 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
5214 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
5215 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
5216 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
5217 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
5218 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
5219 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
5220 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
5221 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
5222 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
5223 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
5224 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
5225 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
5226 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
5227 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
5228 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
5229 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
5230 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
5231 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
5232 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
5233 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
5234 * testsuite/libgomp.fortran/reference1.f90: Likewise.
5235 * testsuite/libgomp.fortran/reference2.f90: Likewise.
5236 * testsuite/libgomp.fortran/retval1.f90: Likewise.
5237 * testsuite/libgomp.fortran/retval2.f90: Likewise.
5238 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
5239 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
5240 * testsuite/libgomp.fortran/simd1.f90: Likewise.
5241 * testsuite/libgomp.fortran/simd2.f90: Likewise.
5242 * testsuite/libgomp.fortran/simd3.f90: Likewise.
5243 * testsuite/libgomp.fortran/simd4.f90: Likewise.
5244 * testsuite/libgomp.fortran/simd5.f90: Likewise.
5245 * testsuite/libgomp.fortran/simd6.f90: Likewise.
5246 * testsuite/libgomp.fortran/simd7.f90: Likewise.
5247 * testsuite/libgomp.fortran/stack.f90: Likewise.
5248 * testsuite/libgomp.fortran/strassen.f90: Likewise.
5249 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
5250 * testsuite/libgomp.fortran/tabs2.f: Likewise.
5251 * testsuite/libgomp.fortran/target1.f90: Likewise.
5252 * testsuite/libgomp.fortran/target2.f90: Likewise.
5253 * testsuite/libgomp.fortran/target3.f90: Likewise.
5254 * testsuite/libgomp.fortran/target4.f90: Likewise.
5255 * testsuite/libgomp.fortran/target5.f90: Likewise.
5256 * testsuite/libgomp.fortran/target6.f90: Likewise.
5257 * testsuite/libgomp.fortran/target7.f90: Likewise.
5258 * testsuite/libgomp.fortran/target8.f90: Likewise.
5259 * testsuite/libgomp.fortran/task1.f90: Likewise.
5260 * testsuite/libgomp.fortran/task2.f90: Likewise.
5261 * testsuite/libgomp.fortran/task3.f90: Likewise.
5262 * testsuite/libgomp.fortran/task4.f90: Likewise.
5263 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
5264 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
5265 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
5266 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
5267 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
5268 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
5269 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
5270 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
5271 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
5272 * testsuite/libgomp.fortran/udr1.f90: Likewise.
5273 * testsuite/libgomp.fortran/udr10.f90: Likewise.
5274 * testsuite/libgomp.fortran/udr11.f90: Likewise.
5275 * testsuite/libgomp.fortran/udr12.f90: Likewise.
5276 * testsuite/libgomp.fortran/udr13.f90: Likewise.
5277 * testsuite/libgomp.fortran/udr14.f90: Likewise.
5278 * testsuite/libgomp.fortran/udr15.f90: Likewise.
5279 * testsuite/libgomp.fortran/udr2.f90: Likewise.
5280 * testsuite/libgomp.fortran/udr3.f90: Likewise.
5281 * testsuite/libgomp.fortran/udr4.f90: Likewise.
5282 * testsuite/libgomp.fortran/udr5.f90: Likewise.
5283 * testsuite/libgomp.fortran/udr6.f90: Likewise.
5284 * testsuite/libgomp.fortran/udr7.f90: Likewise.
5285 * testsuite/libgomp.fortran/udr8.f90: Likewise.
5286 * testsuite/libgomp.fortran/udr9.f90: Likewise.
5287 * testsuite/libgomp.fortran/vla1.f90: Likewise.
5288 * testsuite/libgomp.fortran/vla2.f90: Likewise.
5289 * testsuite/libgomp.fortran/vla3.f90: Likewise.
5290 * testsuite/libgomp.fortran/vla4.f90: Likewise.
5291 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5292 * testsuite/libgomp.fortran/vla6.f90: Likewise.
5293 * testsuite/libgomp.fortran/vla7.f90: Likewise.
5294 * testsuite/libgomp.fortran/vla8.f90: Likewise.
5295 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
5296 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
5297 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5298 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5299 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5300 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5301 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5302 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5303 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5304 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5305 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5306 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
5307 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5308 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
5309 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5310 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
5311 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5312 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
5313 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
5314 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
5315 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
5316 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
5317 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
5318 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
5319 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
5320 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5321 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5322 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
5323 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5324 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
5325 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5326 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5327 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5328 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5329 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5330 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5331 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5332 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5333 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
5334 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5335 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
5336 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5337 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
5338 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
5339 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
5340 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
5341 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5342 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5343 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
5344 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5345 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
5346 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
5347 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
5348 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5349 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
5350 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5351 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
5352 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5353 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5354 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
5355 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5356 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5357 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5358 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5359 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
5360 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5361 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5362 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5363 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5364 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
5365 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
5366 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
5367 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
5368 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5369 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5370 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
5371 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5372 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5373 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5374 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5375 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5376 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5377 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5378 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
5379 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
5380 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
5381 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
5382 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
5383 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
5384 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5385 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
5386 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
5387 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
5388 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
5390 2018-03-20 Richard Biener <rguenther@suse.de>
5392 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
5393 parallelizable loop.
5395 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
5398 * configure: Regenerate.
5400 2018-02-16 Jakub Jelinek <jakub@redhat.com>
5403 * libgomp.fortran/pr84418-1.f90: New test.
5404 * libgomp.fortran/pr84418-2.f90: New test.
5406 2018-02-14 Jakub Jelinek <jakub@redhat.com>
5409 * testsuite/libgomp.fortran/threadprivate4.f90: Add
5410 -std=f2003 -fall-intrinsics into dg-additional-options.
5412 2018-02-08 Martin Jambor <mjambor@suse.cz>
5414 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
5417 2018-02-08 Martin Jambor <mjambor@suse.cz>
5419 * testsuite/libgomp.hsa.c/staticvar.c: New test.
5421 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5423 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
5424 [__cplusplus]: Declare extern "C".
5426 2018-02-07 Tom de Vries <tom@codesourcery.com>
5429 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
5431 2018-01-29 Christoph Spiel <cspiel@freenet.de>
5432 Jakub Jelinek <jakub@redhat.com>
5435 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
5436 instead of omp_lock_t.
5438 2018-01-25 Tom de Vries <tom@codesourcery.com>
5441 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
5443 2018-01-24 Tom de Vries <tom@codesourcery.com>
5446 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
5448 2018-01-24 Tom de Vries <tom@codesourcery.com>
5451 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
5453 2018-01-19 Tom de Vries <tom@codesourcery.com>
5454 Cesar Philippidis <cesar@codesourcery.com>
5457 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
5458 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
5460 2018-01-03 Jakub Jelinek <jakub@redhat.com>
5462 Update copyright years.
5464 * libgomp.texi: Bump @copying's copyright year.
5466 2017-12-30 Tom de Vries <tom@codesourcery.com>
5469 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
5470 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
5472 2017-12-27 Tom de Vries <tom@codesourcery.com>
5475 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
5476 (test_nonstatic): Fix return type to workaround PR83046.
5478 2017-12-05 Jakub Jelinek <jakub@redhat.com>
5481 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
5482 j suffix instead of i.
5483 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
5486 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
5488 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
5489 call to acc_wait (1).
5491 2017-11-24 Jakub Jelinek <jakub@redhat.com>
5494 * testsuite/libgomp.fortran/pr81304.f90: New test.
5496 2017-11-23 Jakub Jelinek <jakub@redhat.com>
5499 * libgomp.fortran/pr81841.f90: New test.
5501 2017-11-22 Jakub Jelinek <jakub@redhat.com>
5504 * target.c (gomp_target_init): Compute lengths just once and
5505 use them in both malloc size and subsequent copying.
5507 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
5509 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
5510 * acinclude.m4: Add cet.m4.
5511 * configure: Regenerate.
5512 * Makefile.in: Likewise.
5513 * testsuite/Makefile.in: Likewise.
5515 2017-11-15 Tom de Vries <tom@codesourcery.com>
5517 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
5518 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
5519 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
5520 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
5521 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
5522 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
5524 2017-11-14 Tom de Vries <tom@codesourcery.com>
5526 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
5529 2017-11-07 Jakub Jelinek <jakub@redhat.com>
5532 * testsuite/libgomp.c++/pr82835.C: New test.
5534 2017-11-06 Martin Liska <mliska@suse.cz>
5536 * testsuite/libgomp.c++/loop-2.C: Return a value
5537 for functions with non-void return type, or change type to void,
5538 or add -Wno-return-type for test.
5539 * testsuite/libgomp.c++/loop-4.C: Likewise.
5540 * testsuite/libgomp.c++/parallel-1.C: Likewise.
5541 * testsuite/libgomp.c++/shared-1.C: Likewise.
5542 * testsuite/libgomp.c++/single-1.C: Likewise.
5543 * testsuite/libgomp.c++/single-2.C: Likewise.
5545 2017-10-31 Tom de Vries <tom@codesourcery.com>
5547 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
5548 "do {} while (false)".
5549 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
5550 after HSA_DEBUG call.
5552 2017-10-28 Jakub Jelinek <jakub@redhat.com>
5554 * target.c (struct gomp_coalesce_buf): New type.
5555 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
5556 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
5557 (gomp_copy_host2dev): Add CBUF argument, if copying into
5558 the cached ranges, memcpy into buffer instead of copying
5560 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
5561 Add CBUF argument, pass it through to other calls.
5562 (gomp_map_vars): Aggregate copies from host to device if small enough
5563 and with small enough gaps in between into memcpy into a buffer and
5564 fewer host to device copies from the buffer.
5565 (gomp_update): Adjust gomp_copy_host2dev caller.
5567 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
5569 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
5571 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5572 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5573 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5574 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5576 2017-10-16 Tom de Vries <tom@codesourcery.com>
5578 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
5579 openacc_nvidia_accel_selected.
5580 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
5581 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
5582 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
5583 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
5584 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
5585 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
5586 openacc_nvidia_accel_selected. Skip for shared memory device.
5587 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
5588 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
5590 2017-10-09 Martin Jambor <mjambor@suse.cz>
5593 * testsuite/libgomp.hsa.c/pr82416.c: New test.
5595 2017-10-07 Tom de Vries <tom@codesourcery.com>
5597 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
5598 Remove acc_device_nvidia references.
5599 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
5602 2017-10-05 Tom de Vries <tom@codesourcery.com>
5604 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
5605 vector_length(32) clause from acc parallel directive.
5606 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
5608 2017-10-04 Tom de Vries <tom@codesourcery.com>
5610 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
5611 (main): Reduce sum of arr elements. Assert that hres is exactly
5612 representable in 32-bit floating point.
5613 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
5614 (main): Reduce sum of arr elements. Assert that hres and hmres are
5615 exactly representable in 32-bit floating point.
5616 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
5618 2017-09-28 Tom de Vries <tom@codesourcery.com>
5620 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5622 * testsuite/libgomp.c++/pr69393.C: Same.
5623 * testsuite/libgomp.c++/taskloop-1.C: Same.
5624 * testsuite/libgomp.c++/taskloop-3.C: Same.
5625 * testsuite/libgomp.c++/taskloop-4.C: Same.
5626 * testsuite/libgomp.c/for-4.c: Same.
5627 * testsuite/libgomp.c/pr66199-3.c: Same.
5628 * testsuite/libgomp.c/pr66199-4.c: Same.
5629 * testsuite/libgomp.c/pr66199-6.c: Same.
5630 * testsuite/libgomp.c/taskloop-1.c: Same.
5631 * testsuite/libgomp.c/taskloop-3.c: Same.
5632 * testsuite/libgomp.c/taskloop-4.c: Same.
5633 * testsuite/libgomp.fortran/aligned1.f03: Same.
5634 * testsuite/libgomp.fortran/condinc1.f: Same.
5635 * testsuite/libgomp.fortran/condinc3.f90: Same.
5636 * testsuite/libgomp.fortran/crayptr1.f90: Same.
5637 * testsuite/libgomp.fortran/crayptr2.f90: Same.
5638 * testsuite/libgomp.fortran/crayptr3.f90: Same.
5639 * testsuite/libgomp.fortran/omp_cond1.f: Same.
5640 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5641 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5642 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5643 * testsuite/libgomp.fortran/recursion1.f90: Same.
5644 * testsuite/libgomp.fortran/target2.f90: Same.
5645 * testsuite/libgomp.fortran/target5.f90: Same.
5646 * testsuite/libgomp.fortran/task3.f90: Same.
5648 2017-09-28 Tom de Vries <tom@codesourcery.com>
5650 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5651 vector_length(32) clause from acc parallel directive.
5652 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5654 2017-09-27 Tom de Vries <tom@codesourcery.com>
5656 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5657 Remove acc_device_nvidia references.
5659 2017-09-16 Tom de Vries <tom@codesourcery.com>
5662 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5664 2017-09-14 Tom de Vries <tom@codesourcery.com>
5666 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5667 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5668 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5669 * testsuite/libgomp.c/c.exp: Include test-cases from
5670 libgomp.c-c++-common.
5671 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
5674 2017-09-14 Jakub Jelinek <jakub@redhat.com>
5677 * testsuite/libgomp.c++/pr81314.C: New test.
5679 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
5681 * libgomp.texi (Top): www.openacc.org now uses https.
5682 (Enabling OpenACC): Ditto.
5683 (acc_get_num_devices): Ditto.
5684 (acc_set_device_type): Ditto.
5685 (acc_get_device_type): Ditto.
5686 (acc_set_device_num): Ditto.
5687 (acc_get_device_num): Ditto.
5688 (acc_async_test): Ditto.
5689 (acc_async_test_all): Ditto.
5691 (acc_wait_all): Ditto.
5692 (acc_wait_all_async): Ditto.
5693 (acc_wait_async): Ditto.
5695 (acc_shutdown): Ditto.
5696 (acc_on_device): Ditto.
5697 (acc_malloc): Ditto.
5699 (acc_copyin): Ditto.
5700 (acc_present_or_copyin): Ditto.
5701 (acc_create): Ditto.
5702 (acc_present_or_create): Ditto.
5703 (acc_copyout): Ditto.
5704 (acc_delete): Ditto.
5705 (acc_update_device): Ditto.
5706 (acc_update_self): Ditto.
5707 (acc_map_data): Ditto.
5708 (acc_unmap_data): Ditto.
5709 (acc_deviceptr): Ditto.
5710 (acc_hostptr): Ditto.
5711 (acc_is_present): Ditto.
5712 (acc_memcpy_to_device): Ditto.
5713 (acc_memcpy_from_device): Ditto.
5714 (acc_get_current_cuda_device): Ditto.
5715 (acc_get_current_cuda_context): Ditto.
5716 (acc_get_cuda_stream): Ditto.
5717 (acc_set_cuda_stream): Ditto.
5718 (ACC_DEVICE_TYPE): Ditto.
5719 (ACC_DEVICE_NUM): Ditto.
5720 (OpenACC Library Interoperability): Ditto.
5722 2017-08-09 Jakub Jelinek <jakub@redhat.com>
5725 * testsuite/libgomp.c/pr81687-1.c: New test.
5726 * testsuite/libgomp.c/pr81687-2.c: New test.
5728 2017-08-07 Jakub Jelinek <jakub@redhat.com>
5731 * testsuite/libgomp.c/pr69389.c: New test.
5732 * testsuite/libgomp.c++/pr69389.C: New test.
5734 2017-08-07 Tom de Vries <tom@codesourcery.com>
5737 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5738 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5740 2017-07-27 Jakub Jelinek <jakub@redhat.com>
5743 * testsuite/libgomp.c/pr45784.c: New test.
5744 * testsuite/libgomp.c++/pr45784.C: New test.
5746 2017-07-19 Tom de Vries <tom@codesourcery.com>
5748 * testsuite/libgomp.oacc-c/vec.c: New test.
5750 2017-07-03 Tom de Vries <tom@codesourcery.com>
5752 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5754 2017-06-27 Tom de Vries <tom@codesourcery.com>
5756 * plugin/plugin-nvptx.c (notify_var): New function.
5757 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5759 2017-06-27 Tom de Vries <tom@codesourcery.com>
5761 * env.c (parse_unsigned_long_1): Factor out of ...
5762 (parse_unsigned_long): ... here.
5763 (parse_int_1): Factor out of ...
5764 (parse_int): ... here.
5765 (parse_int_secure): New function.
5766 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5767 * secure_getenv.h: Factor out of ...
5768 * plugin/plugin-hsa.c: ... here.
5769 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5771 2017-06-21 Jakub Jelinek <jakub@redhat.com>
5774 * testsuite/libgomp.c++/pr81130.C: New test.
5776 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5778 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5780 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5781 dg-xfail-run-if default args.
5783 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5785 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5786 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5788 2017-05-30 Jakub Jelinek <jakub@redhat.com>
5791 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5792 (gomp_affinity_init_level): Use it. Always analyze the core and thread
5793 sibling lists, depending on level just pick up what CPUs to put
5794 together into a place vs. whether add multiple ordered places.
5796 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
5798 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5799 * libgomp.map (OACC_2.0.1): Add these.
5800 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5801 for "acc_wait", and "acc_wait_all", respectively.
5802 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5803 for "acc_wait", and "acc_wait_all", respectively.
5804 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5805 * libgomp.texi (acc_wait, acc_wait_all): Update.
5806 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5807 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5808 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5810 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5811 acc_present_or_copyin and acc_present_or_create procedures,
5813 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5814 generally different variants of OpenACC Runtime Library functions.
5815 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5817 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5818 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5820 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5821 of preprocessor definitions.
5822 * libgomp.h (strong_alias): Guard by "#ifdef
5823 HAVE_ATTRIBUTE_ALIAS".
5824 * oacc-mem.c: Provide "acc_pcreate" as alias for
5825 "acc_present_or_create", and "acc_pcopyin" as alias for
5826 "acc_present_or_copyin".
5827 * libgomp.map: New version "OACC_2.0.1".
5828 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5829 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5831 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5834 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5835 when disabling nvptx offloading.
5837 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
5839 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5840 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5841 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5843 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5844 * testsuite/lib/libgomp.exp
5845 (check_effective_target_openacc_nvidia_accel_configured): New
5847 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5848 (check_effective_target_c++): New procs.
5849 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5850 (check_effective_target_c++): Likewise.
5852 2017-05-22 Jakub Jelinek <jakub@redhat.com>
5855 * testsuite/libgomp.c/pr80809-2.c: New test.
5856 * testsuite/libgomp.c/pr80809-3.c: New test.
5859 * testsuite/libgomp.c/pr80809-1.c: New test.
5862 * testsuite/libgomp.c/pr80853.c: New test.
5864 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
5866 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5867 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5868 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5869 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5870 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5872 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5873 Debug output for failure.
5875 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5877 * testsuite/lib/libgomp.exp: Load scanlang.exp.
5879 2017-04-27 Jakub Jelinek <jakub@redhat.com>
5882 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5883 bootstrap compare failures.
5885 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
5887 * testsuite/libgomp.c/target-36.c: New testcase.
5889 2017-04-13 Jakub Jelinek <jakub@redhat.com>
5891 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5894 2017-04-11 Jakub Jelinek <jakub@redhat.com>
5897 * testsuite/libgomp.c/pr80394.c: New test.
5899 2017-04-04 Jakub Jelinek <jakub@redhat.com>
5902 * config/posix/thread-stacksize.h: New file.
5903 * config/darwin/thread-stacksize.h: New file.
5904 * config/nvptx/thread-stacksize.h: New file.
5905 * env.c: Include thread-stacksize.h.
5906 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5907 instead of 0. Call pthread_attr_setstacksize even if
5908 GOMP_DEFAULT_STACKSIZE is non-zero.
5910 2017-03-30 Jakub Jelinek <jakub@redhat.com>
5912 * env.c (initialize_env): Initialize stacksize to 0.
5914 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
5917 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5919 2017-03-08 Jakub Jelinek <jakub@redhat.com>
5922 * testsuite/libgomp.c/pr79940.c: New test.
5924 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5926 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5928 Add __float128 options.
5930 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
5932 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5933 hppa*-*-* dg-skip-if directive.
5935 2017-02-09 Jakub Jelinek <jakub@redhat.com>
5937 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5938 dg-skip-if directive into a comment.
5940 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
5941 Chung-Lin Tang <cltang@codesourcery.com>
5943 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5944 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5945 add additional case.
5946 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5947 "openacc_nvidia_accel_selected".
5948 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5949 Add num_workers(8) clause.
5951 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
5953 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5955 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5956 include complex.h on hppa*-*-hpux*.
5957 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5959 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
5961 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5963 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5964 GOMP_OFFLOAD_openacc_exec. Adjust all users.
5965 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5966 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
5967 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5968 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
5969 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5970 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
5971 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5972 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
5974 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
5976 * libgomp-plugin.h: #include <stdbool.h>.
5977 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5978 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5979 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5980 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5981 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5982 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5983 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5984 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5985 (GOMP_OFFLOAD_openacc_register_async_cleanup)
5986 (GOMP_OFFLOAD_openacc_async_test)
5987 (GOMP_OFFLOAD_openacc_async_test_all)
5988 (GOMP_OFFLOAD_openacc_async_wait)
5989 (GOMP_OFFLOAD_openacc_async_wait_async)
5990 (GOMP_OFFLOAD_openacc_async_wait_all)
5991 (GOMP_OFFLOAD_openacc_async_wait_all_async)
5992 (GOMP_OFFLOAD_openacc_async_set_async)
5993 (GOMP_OFFLOAD_openacc_create_thread_data)
5994 (GOMP_OFFLOAD_openacc_destroy_thread_data)
5995 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5996 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5997 (GOMP_OFFLOAD_openacc_get_cuda_stream)
5998 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5999 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
6001 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
6002 (GOMP_OFFLOAD_unload_image): Fix argument types.
6004 2017-01-26 Jakub Jelinek <jakub@redhat.com>
6006 * testsuite/lib/libgomp.exp
6007 (check_effective_target_hsa_offloading_selected_nocache): Fix up
6008 check_compile invocation. Fix up removal of executable. Drop
6009 bogus "2>&1" argument.
6011 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
6014 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
6015 Martin Jambor <mjambor@suse.cz>
6017 * plugin/hsa.h: Moved to top level include.
6018 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
6020 2017-01-21 Jakub Jelinek <jakub@redhat.com>
6023 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
6024 of cat to get version from BASE-VER file.
6025 * testsuite/Makefile.in: Regenerated.
6027 2017-01-19 Jakub Jelinek <jakub@redhat.com>
6029 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
6032 2017-01-17 Jakub Jelinek <jakub@redhat.com>
6034 * plugin/hsa.h: Add GCC runtime library exception.
6035 * plugin/hsa_ext_finalize.h: Likewise.
6037 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
6038 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
6039 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
6040 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
6041 plugin/include/cuda as include dir and -ldl instead of -lcuda as
6042 library to link ptx plugin against.
6043 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
6044 (CUDA_CALLS): Define.
6045 (cuda_lib, cuda_lib_inited): New variables.
6046 (init_cuda_lib): New function.
6047 (CUDA_CALL_PREFIX): Define.
6048 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
6049 (CUDA_CALL): Use FN instead of (FN).
6050 (CUDA_CALL_NOCHECK): Define.
6051 (cuda_error, fini_streams_for_device, select_stream_for_async,
6052 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
6053 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
6054 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
6055 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
6057 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
6059 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
6060 Use CUDA_CALL_NOCHECK.
6061 * plugin/cuda/cuda.h: New file.
6062 * config.h.in: Regenerated.
6063 * configure: Regenerated.
6066 * configure.ac: Add GCC_BASE_VER.
6067 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
6068 get version from BASE-VER file.
6069 * testsuite/Makefile.in: Regenerated.
6070 * configure: Regenerated.
6071 * Makefile.in: Regenerated.
6073 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6076 * Makefile.am: Make fincludedir multilib-aware.
6077 * Makefile.in: Regenerate.
6079 2017-01-01 Jakub Jelinek <jakub@redhat.com>
6081 Update copyright years.
6083 * libgomp.texi: Bump @copying's copyright year.
6085 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
6087 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
6088 pthread_spinlock_t instead of gomp_mutex_t lock.
6089 (gomp_get_thread_pool): Likewise.
6090 (gomp_release_thread_pool): Likewise.
6091 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
6094 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
6096 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
6097 thread pool in case nthreads == 1.
6099 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
6101 * config/nvptx/env.c: Delete.
6102 * icv.c: Move definitions of ICV variables back ...
6103 * env.c: ...here. Do not compile environment-related functionality if
6104 LIBGOMP_OFFLOADED_ONLY is set.
6106 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
6108 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
6109 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
6110 * configure: Regenerate.
6111 * config.h.in: Likewise.
6113 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
6115 * Makefile.in: Regenerate with automake-1.11.6.
6116 * aclocal.m4: Likewise.
6117 * configure: Likewise.
6118 * testsuite/Makefile.in: Likewise.
6120 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
6122 * config/nvptx/critical.c: Delete to use generic implementation.
6124 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
6126 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
6127 ../../affinity.c as fallback.
6128 * config/nvptx/affinity.c: Delete to use fallback implementation.
6130 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
6131 Jakub Jelinek <jakub@redhat.com>
6132 Dmitry Melnik <dm@ispras.ru>
6134 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
6135 * Makefile.in. Regenerate.
6136 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
6137 (LIBGOMP_USE_PTHREADS): ...here; new define.
6138 * configure: Regenerate.
6139 * config.h.in: Likewise.
6140 * config/posix/affinity.c: Move to...
6141 * affinity.c: ...here (new file). Guard use of Pthreads-specific
6142 interface by LIBGOMP_USE_PTHREADS.
6143 * critical.c: Split out GOMP_atomic_{start,end} into...
6144 * atomic.c: ...here (new file).
6145 * env.c: Split out ICV definitions into...
6146 * icv.c: ...here (new file) and...
6147 * icv-device.c: ...here. New file.
6148 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
6149 (gomp_destroy_lock_30): Ditto.
6150 (gomp_set_lock_30): Ditto.
6151 (gomp_unset_lock_30): Ditto.
6152 (gomp_test_lock_30): Ditto.
6153 (gomp_init_nest_lock_30): Ditto.
6154 (gomp_destroy_nest_lock_30): Ditto.
6155 (gomp_set_nest_lock_30): Ditto.
6156 (gomp_unset_nest_lock_30): Ditto.
6157 (gomp_test_nest_lock_30): Ditto.
6159 * config/nvptx/lock.c: New.
6160 * config/nvptx/bar.c: New.
6161 * config/nvptx/bar.h: New.
6162 * config/nvptx/doacross.h: New.
6163 * config/nvptx/error.c: New.
6164 * config/nvptx/icv-device.c: New.
6165 * config/nvptx/mutex.h: New.
6166 * config/nvptx/pool.h: New.
6167 * config/nvptx/proc.c: New.
6168 * config/nvptx/ptrlock.h: New.
6169 * config/nvptx/sem.h: New.
6170 * config/nvptx/simple-bar.h: New.
6171 * config/nvptx/target.c: New.
6172 * config/nvptx/task.c: New.
6173 * config/nvptx/team.c: New.
6174 * config/nvptx/time.c: New.
6175 * config/posix/simple-bar.h: New.
6176 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
6177 (gomp_num_teams_var): Declare.
6178 (struct gomp_thread_pool): Change threads_dock member to
6179 gomp_simple_barrier_t.
6180 [__nvptx__] (gomp_thread): New implementation.
6181 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
6182 (gomp_thread_destructor): Ditto.
6183 (gomp_init_thread_affinity): Ditto.
6184 * team.c: Guard uses of Pthreads-specific interfaces by
6185 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
6186 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
6187 * config/nvptx/alloc.c: Delete.
6188 * config/nvptx/barrier.c: Ditto.
6189 * config/nvptx/fortran.c: Ditto.
6190 * config/nvptx/iter.c: Ditto.
6191 * config/nvptx/iter_ull.c: Ditto.
6192 * config/nvptx/loop.c: Ditto.
6193 * config/nvptx/loop_ull.c: Ditto.
6194 * config/nvptx/ordered.c: Ditto.
6195 * config/nvptx/parallel.c: Ditto.
6196 * config/nvptx/priority_queue.c: Ditto.
6197 * config/nvptx/sections.c: Ditto.
6198 * config/nvptx/single.c: Ditto.
6199 * config/nvptx/splay-tree.c: Ditto.
6200 * config/nvptx/work.c: Ditto.
6201 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
6202 -foffload=-lgfortran in addition to -lgfortran.
6203 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
6204 * plugin/plugin-nvptx.c: Include <limits.h>.
6205 (struct targ_fn_descriptor): Add new fields.
6206 (struct ptx_device): Ditto. Set them...
6207 (nvptx_open_device): ...here.
6208 (nvptx_adjust_launch_bounds): New.
6209 (nvptx_host2dev): Allow NULL 'nvthd'.
6210 (nvptx_dev2host): Ditto.
6211 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
6212 (link_ptx): Adjust log sizes.
6213 (nvptx_host2dev): Allow NULL 'nvthd'.
6214 (nvptx_dev2host): Ditto.
6215 (nvptx_set_clocktick): New. Use it...
6216 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
6218 (GOMP_OFFLOAD_dev2dev): New.
6219 (nvptx_adjust_launch_bounds): New.
6220 (nvptx_stacks_size): New.
6221 (nvptx_stacks_alloc): New.
6222 (nvptx_stacks_free): New.
6223 (GOMP_OFFLOAD_run): New.
6224 (GOMP_OFFLOAD_async_run): New (stub).
6226 2016-11-23 Martin Jambor <mjambor@suse.cz>
6228 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
6229 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6230 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6232 2016-11-23 Martin Liska <mliska@suse.cz>
6233 Martin Jambor <mjambor@suse.cz>
6235 * plugin/hsa.h: New file.
6236 * plugin/hsa_ext_finalize.h: New file.
6237 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
6238 header file unistd.h, and functions secure_getenv, __secure_getenv,
6239 getuid, geteuid, getgid and getegid.
6240 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
6242 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
6243 Handle various cases of secure_getenv presence, add an implementation
6244 when we can test effective UID and GID.
6245 (struct hsa_runtime_fn_info): New structure.
6246 (hsa_runtime_fn_info hsa_fns): New variable.
6247 (hsa_runtime_lib): Likewise.
6248 (support_cpu_devices): Likewise.
6249 (init_enviroment_variables): Load newly introduced ENV
6251 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
6252 (hsa_fatal): Likewise.
6253 (DLSYM_FN): New macro.
6254 (init_hsa_runtime_functions): New function.
6255 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
6256 structure. Depending on environment, also allow CPU devices.
6257 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
6258 (get_kernarg_memory_region): Likewise.
6259 (GOMP_OFFLOAD_init_device): Likewise.
6260 (destroy_hsa_program): Likewise.
6261 (init_basic_kernel_info): New function.
6262 (GOMP_OFFLOAD_load_image): Use it.
6263 (create_and_finalize_hsa_program): Call hsa run-time functions via
6265 (create_single_kernel_dispatch): Likewise.
6266 (release_kernel_dispatch): Likewise.
6267 (init_single_kernel): Likewise.
6268 (parse_target_attributes): Allow up multiple HSA grid dimensions.
6269 (get_group_size): New function.
6270 (run_kernel): Likewise.
6271 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
6272 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
6274 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
6275 * testsuite/libgomp-test-support.exp.in: Likewise.
6276 * Makefile.in: Regenerated.
6277 * aclocal.m4: Likewise.
6278 * config.h.in: Likewise.
6279 * configure: Likewise.
6280 * testsuite/Makefile.in: Likewise.
6282 2016-11-15 Martin Jambor <mjambor@suse.cz>
6283 Alexander Monakov <amonakov@ispras.ru>
6285 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
6286 mapping clauses to target constructs.
6287 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
6289 2016-11-15 Matthias Klose <doko@ubuntu.com>
6291 * configure: Regenerate.
6293 2016-11-10 Jakub Jelinek <jakub@redhat.com>
6295 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
6296 * omp_lib.h.in (openmp_version): Likewise.
6297 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
6299 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6301 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
6302 (fib_wrapper): Add map(from: x) clause.
6303 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
6305 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
6306 (accum): Add map(tmp) clause.
6307 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
6308 (accum): Add map(tofrom: tmp) clause.
6309 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
6310 (gramSchmidt): Likewise.
6311 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
6312 map(tofrom: sum) clause.
6313 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
6314 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
6315 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
6316 only allowed on the loop iterator.
6317 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
6318 * testsuite/libgomp.fortran/taskloop2.f90: New test.
6319 * testsuite/libgomp.fortran/taskloop4.f90: New test.
6320 * testsuite/libgomp.fortran/doacross1.f90: New test.
6321 * testsuite/libgomp.fortran/doacross3.f90: New test.
6322 * testsuite/libgomp.fortran/taskloop1.f90: New test.
6323 * testsuite/libgomp.fortran/taskloop3.f90: New test.
6324 * testsuite/libgomp.fortran/doacross2.f90: New test.
6325 * testsuite/libgomp.c/doacross-1.c (main): Add missing
6326 #pragma omp atomic read.
6327 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6328 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
6330 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
6331 Nathan Sidwell <nathan@acm.org>
6333 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
6334 to determine default geometry.
6335 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
6338 2016-11-01 Jakub Jelinek <jakub@redhat.com>
6340 * hashtab.h: Use standard GPLv3 with runtime exception
6343 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
6345 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
6346 size when allocating new thread.
6348 2016-09-14 Marek Polacek <polacek@redhat.com>
6350 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
6352 2016-08-19 Jakub Jelinek <jakub@redhat.com>
6355 * testsuite/libgomp.fortran/pr71014.f90: New test.
6357 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
6360 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
6361 firstprivate clauses.
6362 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
6364 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6365 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
6366 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
6367 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6368 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6369 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6370 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6371 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6372 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6373 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6374 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6375 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
6377 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
6380 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
6382 2016-08-08 Jakub Jelinek <jakub@redhat.com>
6385 * testsuite/libgomp.c++/pr58706.C: New test.
6387 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
6389 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
6390 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
6391 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6393 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
6394 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
6396 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
6398 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
6399 test, and don't hardcode -O0.
6401 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
6403 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
6405 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
6407 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
6410 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
6413 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
6414 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
6416 2016-07-01 Jakub Jelinek <jakub@redhat.com>
6419 * testsuite/libgomp.fortran/associate3.f90: New test.
6421 2016-06-17 Jakub Jelinek <jakub@redhat.com>
6423 * testsuite/libgomp.c++/target-21.C: New test.
6425 2016-06-16 Jakub Jelinek <jakub@redhat.com>
6427 * testsuite/libgomp.c++/target-20.C: New test.
6429 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
6430 Cesar Philippidis <cesar@codesourcery.com>
6433 * libgomp.oacc-c/nested-function-1.c: New file.
6434 * libgomp.oacc-c/nested-function-2.c: Likewise.
6435 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
6436 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
6437 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
6439 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
6442 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
6443 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
6444 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
6446 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
6448 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
6449 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
6451 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
6454 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
6456 2016-05-26 Jakub Jelinek <jakub@redhat.com>
6458 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
6459 instead of invalid schedule(static, 0).
6460 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6462 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
6464 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
6465 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
6466 parameter, use to set async stream around call to gomp_unmap_vars,
6467 call gomp_unmap_vars() with 'do_copyfrom' set to true.
6468 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
6469 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
6470 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
6471 (event_add): Add int parameter, initialize 'val' field when
6472 adding new ptx_event struct.
6473 (nvptx_evec): Adjust event_add() call arguments.
6474 (nvptx_host2dev): Likewise.
6475 (nvptx_dev2host): Likewise.
6476 (nvptx_wait_async): Likewise.
6477 (nvptx_wait_all_async): Likewise.
6478 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
6479 pass to event_add() call.
6480 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
6482 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
6483 call openacc.register_async_cleanup_func() hook.
6484 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
6485 * target.c (gomp_copy_from_async): Delete function.
6486 (gomp_map_vars): Remove async_refcount.
6487 (gomp_unmap_vars): Likewise.
6488 (gomp_load_image_to_device): Likewise.
6489 (omp_target_associate_ptr): Likewise.
6490 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
6491 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
6492 (gomp_copy_from_async): Remove.
6494 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
6496 * target.c (gomp_device_copy): New function.
6497 (gomp_copy_host2dev): Likewise.
6498 (gomp_copy_dev2host): Likewise.
6499 (gomp_free_device_memory): Likewise.
6500 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
6501 (gomp_map_pointer): Likewise.
6502 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
6503 NULL value from alloc_func plugin hook.
6504 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
6505 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
6506 (gomp_unmap_vars): Likewise.
6507 (gomp_update): Adjust to call gomp_copy_dev2host and
6508 gomp_copy_host2dev functions.
6509 (gomp_unload_image_from_device): Handle false value from
6510 unload_image_func plugin hook.
6511 (gomp_init_device): Handle false value from init_device_func
6513 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
6514 (omp_target_free): Adjust to call gomp_free_device_memory.
6515 (omp_target_memcpy): Handle return values from host2dev_func,
6516 dev2host_func, and dev2dev_func plugin hooks.
6517 (omp_target_memcpy_rect_worker): Likewise.
6518 (gomp_target_fini): Handle false value from fini_device_func
6520 * libgomp.h (struct gomp_device_descr): Adjust return type of
6521 init_device_func, fini_device_func, unload_image_func, free_func,
6522 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
6523 * oacc-init.c (acc_shutdown_1): Handle false value from
6524 fini_device_func plugin hook.
6525 * oacc-host.c (host_init_device): Change return type to bool.
6526 (host_fini_device): Likewise.
6527 (host_unload_image): Likewise.
6528 (host_free): Likewise.
6529 (host_dev2host): Likewise.
6530 (host_host2dev): Likewise.
6531 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
6532 (acc_memcpy_to_device): Likewise.
6533 (acc_memcpy_from_device): Likewise.
6534 (delete_copyout): Add libfnname parameter, handle free_func
6535 hook fatal error case.
6536 (acc_delete): Adjust delete_copyout call.
6537 (acc_copyout): Likewise.
6538 (update_dev_host): Move gomp_mutex_unlock to after
6539 host2dev/dev2host hook calls.
6541 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
6542 to 'hsa_error_msg', for clarity.
6543 (hsa_fatal): Likewise.
6544 (hsa_error): New function.
6545 (init_hsa_context): Change return type to bool, adjust to return
6547 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
6549 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
6550 return false on error.
6551 (get_agent_info): Adjust to return NULL on error.
6552 (destroy_hsa_program): Change return type to bool, adjust to
6553 return false on error.
6554 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
6555 (destroy_module): Change return type to bool, adjust to
6556 return false on error.
6557 (GOMP_OFFLOAD_unload_image): Likewise.
6558 (GOMP_OFFLOAD_fini_device): Likewise.
6559 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
6560 (GOMP_OFFLOAD_free): Change to return false when called.
6561 (GOMP_OFFLOAD_dev2host): Likewise.
6562 (GOMP_OFFLOAD_host2dev): Likewise.
6563 (GOMP_OFFLOAD_dev2dev): Likewise.
6565 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
6566 (CUDA_CALL): Likewise.
6567 (CUDA_CALL_ASSERT): Likewise.
6568 (map_init): Change return type to bool, use CUDA_CALL* macros.
6569 (map_fini): Likewise.
6570 (init_streams_for_device): Change return type to bool, adjust
6572 (fini_streams_for_device): Change return type to bool, adjust
6574 (select_stream_for_async): Release stream_lock before calls to
6575 GOMP_PLUGIN_fatal, adjust call to map_init.
6576 (nvptx_init): Use CUDA_CALL* macros.
6577 (nvptx_attach_host_thread_to_device): Change return type to bool,
6578 use CUDA_CALL* macros.
6579 (nvptx_open_device): Use CUDA_CALL* macros.
6580 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
6582 (nvptx_get_num_devices): Use CUDA_CALL* macros.
6583 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
6584 (nvptx_exec): Use CUDA_CALL* macros.
6585 (nvptx_alloc): Use CUDA_CALL* macros.
6586 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
6587 (nvptx_host2dev): Likewise.
6588 (nvptx_dev2host): Likewise.
6589 (nvptx_wait): Use CUDA_CALL* macros.
6590 (nvptx_wait_async): Likewise.
6591 (nvptx_wait_all): Likewise.
6592 (nvptx_wait_all_async): Likewise.
6593 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
6594 use CUDA_CALL* macros, adjust call to map_fini.
6595 (GOMP_OFFLOAD_init_device): Change return type to bool,
6596 adjust code accordingly.
6597 (GOMP_OFFLOAD_fini_device): Likewise.
6598 (GOMP_OFFLOAD_load_image): Adjust calls to
6599 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
6600 use CUDA_CALL* macros.
6601 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
6603 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
6604 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
6605 handle error return.
6606 (GOMP_OFFLOAD_dev2host): Likewise.
6607 (GOMP_OFFLOAD_host2dev): Likewise.
6608 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
6609 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
6611 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
6613 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
6614 (acc_free): Likewise.
6615 (acc_memcpy_to_device): Likewise.
6616 (acc_memcpy_from_device): Likewise.
6617 (acc_deviceptr): Likewise.
6618 (acc_hostptr): Likewise.
6619 (acc_is_present): Likewise.
6620 (acc_map_data): Likewise.
6621 (acc_unmap_data): Likewise.
6622 (present_create_copy): Likewise.
6623 (delete_copyout): Likewise.
6624 (update_dev_host): Likewise.
6625 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6626 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6627 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6628 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6629 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6630 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6631 it only runs on nvptx targets.
6632 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6633 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6634 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6635 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6636 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6637 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6638 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6639 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6640 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6641 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6642 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6643 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6644 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6645 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6646 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6647 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6648 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6649 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6650 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6651 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6652 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6653 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6654 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6656 2016-05-23 Martin Jambor <mjambor@suse.cz>
6658 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6660 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
6662 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6663 to gomp_init_targets_once.
6664 (acc_set_device_type): Remove !cached_base_dev condition on call to
6665 gomp_init_targets_once, move call to before acc_device_lock acquire,
6667 (acc_get_device_num): Remove !cached_base_dev condition on call to
6668 gomp_init_targets_once.
6669 (acc_set_device_num): Likewise.
6671 2016-05-16 Martin Jambor <mjambor@suse.cz>
6673 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
6675 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
6677 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6678 expected partitioning.
6680 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6683 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6684 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6685 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6687 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
6689 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6692 2016-04-19 Jakub Jelinek <jakub@redhat.com>
6695 * testsuite/libgomp.c/pr70680-1.c: New test.
6696 * testsuite/libgomp.c/pr70680-2.c: New test.
6698 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6700 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6701 pass parameter variables to subroutines.
6703 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6706 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6708 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
6711 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6712 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6714 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
6716 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6717 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6718 GOACC_declare prototype.
6720 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6721 Merge this file, and...
6722 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6723 ... this file, and...
6724 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6725 ... this file, and...
6726 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6727 ... this file, and...
6728 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6729 ... this file, and...
6730 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6731 ... this file, and...
6732 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6733 ... this file, and...
6734 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6735 ... this file, and...
6736 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6737 ... this file, and...
6738 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6739 ... this file, and...
6740 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6741 ... this file, and...
6742 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6743 ... this file, and...
6744 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6745 ... this file into...
6746 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6749 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6750 Make failure observable.
6752 2016-04-12 Jakub Jelinek <jakub@redhat.com>
6754 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6756 * target.c (gomp_target_fallback_firstprivate,
6757 gomp_target_unshare_firstprivate): Removed.
6758 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6759 before waiting for dependencies.
6760 (gomp_target_task_fn): Don't copy firstprivate vars here.
6761 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6762 firstprivate_copies here.
6763 (gomp_create_target_task): Don't initialize firstprivate_copies field.
6764 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6765 explicit/implicit firstprivate.
6767 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
6771 PR tree-optimization/70373
6775 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6777 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6779 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6781 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6783 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6785 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6787 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6789 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6791 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6793 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6794 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6795 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6796 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6798 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6800 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6802 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6804 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6806 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6807 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6808 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6809 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6810 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6811 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6813 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6814 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6815 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6816 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6817 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6818 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6819 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6820 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6821 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6822 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6823 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6824 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6825 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6826 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6827 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6829 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
6830 James Norris <jnorris@codesourcery.com>
6831 Nathan Sidwell <nathan@codesourcery.com>
6832 Julian Brown <julian@codesourcery.com>
6833 Cesar Philippidis <cesar@codesourcery.com>
6834 Chung-Lin Tang <cltang@codesourcery.com>
6835 Tom de Vries <tom@codesourcery.com>
6837 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6838 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6839 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6840 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6841 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6842 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6843 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6844 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6845 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6847 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6849 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6851 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6852 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6853 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6854 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6856 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6858 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6859 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6860 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6861 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6862 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6863 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6864 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6865 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6866 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6867 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6869 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6870 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6871 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6873 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6875 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6877 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6879 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6881 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6882 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6883 ... this new file. Update.
6884 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6885 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6886 ... this new file. Update.
6887 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6888 file. Incorporate...
6889 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6891 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6893 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6895 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6897 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
6899 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6900 set-torture-options.
6902 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
6904 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6906 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6907 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6908 -fno-builtin-acc_on_device instead of -O0.
6909 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6911 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6912 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6914 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6915 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6916 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6917 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6918 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6919 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6920 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6921 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6922 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6923 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6924 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6925 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6926 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6927 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6928 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6929 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6930 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6931 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6933 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6935 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6938 2016-03-24 Martin Liska <mliska@suse.cz>
6940 * plugin/plugin-hsa.c (packet_store_release): New function
6941 that is taken from the HSA runtime manual.
6942 (GOMP_OFFLOAD_run): Use the function.
6944 2016-03-23 Jakub Jelinek <jakub@redhat.com>
6947 * testsuite/libgomp.c++/pr70376.C: New test.
6949 2016-03-23 Tom de Vries <tom@codesourcery.com>
6951 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6952 initialization of lresult and lvresult.
6953 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6955 2016-03-23 James Norris <jnorris@codesourcery.com>
6956 Daichi Fukuoka <dc-fukuoka@sgi.com>
6959 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6960 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6961 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6962 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6964 2016-03-23 Martin Liska <mliska@suse.cz>
6967 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6968 argument just in case a dispatched kernel uses that argument.
6970 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
6972 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6973 -ftree-parallelize-loops/-fopenacc changes.
6974 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6976 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6978 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6980 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6982 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6983 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6985 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
6987 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6988 always_ld_library_path the path to libgcc_s.
6990 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
6993 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6995 2016-03-09 Tom de Vries <tom@codesourcery.com>
6997 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6998 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6999 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
7001 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
7002 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
7003 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
7004 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
7006 2016-03-07 Martin Jambor <mjambor@suse.cz>
7008 * testsuite/lib/libgomp.exp
7009 (check_effective_target_hsa_offloading_selected_nocache): New.
7010 (check_effective_target_hsa_offloading_selected): Likewise.
7011 * testsuite/libgomp.hsa.c/c.exp: Likewise.
7012 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
7013 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7014 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7015 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7016 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7017 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7018 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7019 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7020 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7021 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7022 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7023 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7024 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7025 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7026 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7027 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7029 2016-03-07 Martin Jambor <mjambor@suse.cz>
7031 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
7032 non-shared memory accelerators.
7033 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
7034 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
7035 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
7036 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
7037 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7038 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7039 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7040 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7041 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7043 2016-03-07 Martin Jambor <mjambor@suse.cz>
7045 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
7048 2016-03-02 Jakub Jelinek <jakub@redhat.com>
7051 * testsuite/libgomp.c++/pr69555-1.C: New test.
7052 * testsuite/libgomp.c++/pr69555-2.C: New test.
7054 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
7055 Martin Jambor <mjambor@suse.cz>
7057 * testsuite/lib/libgomp.exp
7058 (check_effective_target_offload_device_shared_as): New proc.
7059 * testsuite/libgomp.c++/declare_target-1.C: New test.
7061 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
7064 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
7066 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
7068 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
7069 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
7071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
7072 -ftree-parallelize-loops/-fopenacc changes.
7073 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
7074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
7076 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
7078 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
7080 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
7082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
7084 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
7086 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
7088 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
7089 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
7091 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
7092 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
7094 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
7095 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
7098 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
7100 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
7102 2016-02-19 Jakub Jelinek <jakub@redhat.com>
7105 * testsuite/libgomp.c/pr69805.c: New test.
7107 2016-02-16 Tom de Vries <tom@codesourcery.com>
7110 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
7112 2016-02-09 Tom de Vries <tom@codesourcery.com>
7114 PR tree-optimization/69599
7115 * testsuite/libgomp.c/omp-nested-3.c: New test.
7116 * testsuite/libgomp.c/pr46032-2.c: New test.
7117 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
7118 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
7120 2016-02-09 Tom de Vries <tom@codesourcery.com>
7123 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
7125 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
7127 * testsuite/libgomp.c/target-31.c: Fix testcase.
7129 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
7131 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
7133 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
7134 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
7135 reduction and map clauses.
7136 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7138 2016-02-02 James Norris <jnorris@codesourcery.com>
7140 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
7142 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
7144 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
7145 * oacc-parallel.c (GOACC_host_data): Remove function definition.
7147 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
7150 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
7152 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
7153 (hsa_kmt_lib): Set variables.
7154 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
7155 always_ld_library_path.
7156 * Makefile.in: Regenerate.
7157 * configure: Likewise.
7158 * testsuite/Makefile.in: Likewise.
7160 * plugin/configfrag.ac (offload_additional_options)
7161 (offload_additional_lib_paths): Don't amend for hsa offloading.
7162 * configure: Regenerate.
7164 * plugin/configfrag.ac: Don't configure for offloading target if
7165 we don't build the corresponding plugin.
7166 * configure: Regenerate.
7168 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7170 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
7171 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
7173 2016-01-26 Tom de Vries <tom@codesourcery.com>
7175 PR tree-optimization/69110
7176 * testsuite/libgomp.c/pr69110.c: New test.
7178 2016-01-25 Richard Biener <rguenther@suse.de>
7181 * testsuite/libgomp.c++/pr69393.C: New testcase.
7183 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
7185 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
7186 function wasn't mapped to the device with non-shared memory.
7188 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
7190 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
7192 2016-01-19 Martin Jambor <mjambor@suse.cz>
7193 Martin Liska <mliska@suse.cz>
7195 * plugin/Makefrag.am: Add HSA plugin requirements.
7196 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
7197 (HSA_RUNTIME_LIB): Likewise.
7198 (HSA_RUNTIME_CPPFLAGS): Likewise.
7199 (HSA_RUNTIME_INCLUDE): New substitution.
7200 (HSA_RUNTIME_LIB): Likewise.
7201 (HSA_RUNTIME_LDFLAGS): Likewise.
7202 (hsa-runtime): New configure option.
7203 (hsa-runtime-include): Likewise.
7204 (hsa-runtime-lib): Likewise.
7205 (PLUGIN_HSA): New substitution variable.
7206 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
7208 (PLUGIN_HSA_CPPFLAGS): Likewise.
7209 (PLUGIN_HSA_LDFLAGS): Likewise.
7210 (PLUGIN_HSA_LIBS): Likewise.
7211 Check that we have access to HSA run-time.
7212 * libgomp-plugin.h (offload_target_type): New element
7213 OFFLOAD_TARGET_TYPE_HSA.
7214 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
7216 (bool gomp_create_target_task): Updated.
7217 (gomp_device_descr): Extra parameter of run_func and async_run_func,
7218 new field can_run_func.
7219 * libgomp_g.h (GOMP_target_ext): Update prototype.
7220 * oacc-host.c (host_run): Added a new parameter args.
7221 * target.c (calculate_firstprivate_requirements): New function.
7222 (copy_firstprivate_data): Likewise.
7223 (gomp_target_fallback_firstprivate): Use them.
7224 (gomp_target_unshare_firstprivate): New function.
7225 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
7227 (GOMP_target): Do host fallback for all shared memory devices. Do not
7228 pass any args to plugins.
7229 (GOMP_target_ext): Introduce device-specific argument parameter args.
7230 Allow host fallback if device shares memory. Do not remap data if
7231 device has shared memory.
7232 (gomp_target_task_fn): Likewise. Also treat shared memory devices
7233 like host fallback for mappings.
7234 (GOMP_target_data): Treat shared memory devices like host fallback.
7235 (GOMP_target_data_ext): Likewise.
7236 (GOMP_target_update): Likewise.
7237 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
7238 gomp_create_target_task.
7239 (GOMP_target_enter_exit_data): Likewise.
7240 (omp_target_alloc): Treat shared memory devices like host fallback.
7241 (omp_target_free): Likewise.
7242 (omp_target_is_present): Likewise.
7243 (omp_target_memcpy): Likewise.
7244 (omp_target_memcpy_rect): Likewise.
7245 (omp_target_associate_ptr): Likewise.
7246 (gomp_load_plugin_for_device): Also load can_run.
7247 * task.c (GOMP_PLUGIN_target_task_completion): Free
7248 firstprivate_copies.
7249 (gomp_create_target_task): Accept new argument args and store it to
7251 * plugin/plugin-hsa.c: New file.
7253 2016-01-18 Tom de Vries <tom@codesourcery.com>
7255 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
7256 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
7257 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
7258 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
7259 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
7260 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
7261 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
7262 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
7263 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
7264 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
7265 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7267 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7269 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
7270 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
7271 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
7272 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
7273 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
7274 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
7275 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
7276 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7278 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
7280 2016-01-15 Jakub Jelinek <jakub@redhat.com>
7282 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
7284 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
7286 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
7288 2016-01-12 James Norris <jnorris@codesourcery.com>
7290 * libgomp.texi: Updates for OpenACC.
7292 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
7294 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
7296 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
7299 * testsuite/libgomp.fortran/pr66680.f90: New test.
7301 2016-01-07 Jakub Jelinek <jakub@redhat.com>
7304 * testsuite/libgomp.c/pr68960.c: New test.
7306 2016-01-06 Nathan Sidwell <nathan@acm.org>
7308 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
7309 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
7311 2016-01-04 Jakub Jelinek <jakub@redhat.com>
7313 Update copyright years.
7315 * libgomp.texi: Bump @copying's copyright year.
7317 2015-12-31 Nathan Sidwell <nathan@acm.org>
7319 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
7320 dg-additional-options syntax.
7321 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
7322 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
7323 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
7324 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7325 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
7326 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
7327 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
7328 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
7329 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
7330 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
7331 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7332 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
7333 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
7334 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
7335 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
7336 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
7337 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7338 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7340 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7342 * libgomp.h (REFCOUNT_LINK): Define.
7343 (struct splay_tree_key_s): Add link_key.
7344 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
7345 Replace target address of the pointer with target address of newly
7346 mapped object in the splay tree. Set link pointer on target to the
7347 device address of the mapped object.
7348 (gomp_unmap_vars): Restore target address of the pointer in the splay
7349 tree for REFCOUNT_LINK objects after unmapping.
7350 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
7351 declare target link" objects.
7352 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
7353 "omp declare target link" objects, which were mapped for the image.
7354 (gomp_exit_data): Restore target address of the pointer in the splay
7355 tree for REFCOUNT_LINK objects after unmapping.
7356 * testsuite/libgomp.c/target-link-1.c: New file.
7358 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
7360 * libgomp.h (gomp_device_state): New enum.
7361 (struct gomp_device_descr): Replace is_initialized with state.
7362 (gomp_fini_device): Remove declaration.
7363 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
7364 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
7365 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
7366 (acc_set_device_type): Use state instead of is_initialized.
7367 (acc_set_device_num): Likewise.
7368 * target.c (resolve_device): Use state instead of is_initialized.
7369 Do not initialize finalized device.
7370 (gomp_map_vars): Do nothing if device is finalized.
7371 (gomp_unmap_vars): Likewise.
7372 (gomp_update): Likewise.
7373 (GOMP_offload_register_ver): Use state instead of is_initialized.
7374 (GOMP_offload_unregister_ver): Likewise.
7375 (gomp_init_device): Likewise.
7376 (gomp_unload_device): Likewise.
7377 (gomp_fini_device): Remove.
7378 (gomp_get_target_fn_addr): Do nothing if device is finalized.
7379 (GOMP_target): Go to host fallback if device is finalized.
7380 (GOMP_target_ext): Likewise.
7381 (gomp_exit_data): Do nothing if device is finalized.
7382 (gomp_target_task_fn): Go to host fallback if device is finalized.
7383 (gomp_target_fini): New static function.
7384 (gomp_target_init): Use state instead of is_initialized.
7385 Call gomp_target_fini at exit.
7387 2015-12-09 Tom de Vries <tom@codesourcery.com>
7389 PR tree-optimization/68716
7390 * testsuite/libgomp.c/omp-nested-2.c: New test.
7392 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
7394 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
7395 target openacc_nvidia_accel_selected.
7396 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
7397 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
7398 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
7399 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
7401 2015-12-01 Julian Brown <julian@codesourcery.com>
7402 James Norris <James_Norris@mentor.com>
7404 * oacc-parallel.c (GOACC_host_data): New function.
7405 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
7406 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
7407 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
7408 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
7409 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
7410 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
7411 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
7413 2015-11-30 James Norris <jnorris@codesourcery.com>
7414 Cesar Philippidis <cesar@codesourcery.com>
7417 * libgomp.oacc-fortran/routine-5.f90: New test.
7418 * libgomp.oacc-fortran/routine-7.f90: New test.
7419 * libgomp.oacc-fortran/routine-9.f90: New test.
7421 2015-11-30 Tom de Vries <tom@codesourcery.com>
7423 PR tree-optimization/46032
7424 * testsuite/libgomp.c/pr46032.c: New test.
7426 2015-11-27 Jakub Jelinek <jakub@redhat.com>
7429 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
7430 (gomp_create_target_task): Call it before freeing
7431 GOMP_TARGET_TASK_DATA tasks.
7434 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
7435 in between case label and OpenMP standalone directives.
7436 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
7438 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
7440 * configure: Regenerate.
7442 2015-11-26 Jakub Jelinek <jakub@redhat.com>
7444 * testsuite/libgomp.c/target-35.c: New test.
7446 2015-11-22 James Norris <jnorris@codesourcery.com>
7447 Cesar Philippidis <cesar@codesourcery.com>
7449 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
7450 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7451 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7452 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7453 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7455 2015-11-20 Jakub Jelinek <jakub@redhat.com>
7458 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
7459 * testsuite/libgomp.c/reduction-12.c: Likewise.
7460 * testsuite/libgomp.c++/reduction-11.C: Likewise.
7461 * testsuite/libgomp.c++/reduction-12.C: Likewise.
7463 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
7465 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
7466 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
7467 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
7468 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
7469 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
7471 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7472 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7474 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
7476 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
7477 worker & gang cases.
7478 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7480 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
7482 * config/nvptx/priority_queue.c: New file.
7484 2015-11-14 Jakub Jelinek <jakub@redhat.com>
7486 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
7489 2015-11-14 Jakub Jelinek <jakub@redhat.com>
7490 Aldy Hernandez <aldyh@redhat.com>
7491 Ilya Verbin <ilya.verbin@intel.com>
7493 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
7494 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
7495 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
7496 iterators or IV by chunk size.
7497 * parallel.c (gomp_resolve_num_threads): Don't assume that
7498 if thr->ts.team is non-NULL, then pool must be non-NULL.
7499 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
7500 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
7501 GOMP_PLUGIN_target_task_completion.
7502 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
7503 * Makefile.in: Regenerate.
7504 * libgomp.h: Shuffle prototypes and forward definitions around so
7505 priority queues can be defined.
7506 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
7507 (enum gomp_target_task_state): New enum.
7508 (struct gomp_target_task): Add state, tgt, task and team fields.
7509 (gomp_create_target_task): Change return type to bool, add
7511 (gomp_target_task_fn): Change return type to bool.
7512 (struct gomp_device_descr): Add async_run_func.
7513 (struct gomp_task): Remove children, next_child, prev_child,
7514 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
7516 (struct gomp_taskgroup): Remove children.
7517 Add taskgroup_queue.
7518 (struct gomp_team): Change task_queue type to a priority queue.
7519 (splay_compare): Define inline.
7520 (priority_queue_offset): New.
7521 (priority_node_to_task): New.
7522 (task_to_priority_node): New.
7523 * oacc-mem.c: Do not include splay-tree.h.
7524 * priority_queue.c: New file.
7525 * priority_queue.h: New file.
7526 * splay-tree.c: Do not include splay-tree.h.
7527 (splay_tree_foreach_internal): New.
7528 (splay_tree_foreach): New.
7529 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
7530 (splay_tree_callback): Define typedef.
7531 * target.c (splay_compare): Move to libgomp.h.
7532 (GOMP_target): Don't adjust *thr in any way around running offloaded
7534 (GOMP_target_ext): Likewise. Handle target nowait.
7535 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
7536 return value from gomp_create_target_task, if false, fallthrough
7537 as if no dependencies exist.
7538 (gomp_target_task_fn): Change return type to bool, return true
7539 if the task should have another part scheduled later. Handle
7541 (gomp_load_plugin_for_device): Initialize async_run.
7542 * task.c (gomp_init_task): Initialize children_queue.
7543 (gomp_clear_parent_in_list): New.
7544 (gomp_clear_parent_in_tree): New.
7545 (gomp_clear_parent): Handle priorities.
7546 (GOMP_task): Likewise.
7547 (priority_queue_move_task_first,
7548 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
7550 (gomp_create_target_task): Use priority queues. Change return type
7551 to bool, add state argument, return false if for async
7552 {{enter,exit} data,update} constructs no dependencies need to be
7553 waited for, handle target nowait. Set task->fn to NULL instead of
7554 gomp_target_task_fn.
7555 (verify_children_queue): Remove.
7556 (priority_list_upgrade_task): New.
7557 (priority_queue_upgrade_task): New.
7558 (verify_task_queue): Remove.
7559 (priority_list_downgrade_task): New.
7560 (priority_queue_downgrade_task): New.
7561 (gomp_task_run_pre): Use priority queues.
7562 Abstract code out to priority_queue_downgrade_task.
7563 (gomp_task_run_post_handle_dependers): Use priority queues.
7564 (gomp_task_run_post_remove_parent): Likewise.
7565 (gomp_task_run_post_remove_taskgroup): Likewise.
7566 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
7568 (GOMP_taskwait): Likewise.
7569 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
7570 priority-queue_upgrade_task.
7571 (GOMP_taskgroup_start): Use priority queues.
7572 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
7573 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
7575 * taskloop.c (GOMP_taskloop): Handle priorities.
7576 * team.c (gomp_new_team): Call priority_queue_init.
7577 (free_team): Call priority_queue_free.
7578 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
7579 team created for target nowait in implicit parallel region.
7580 (gomp_team_start): For nested check, test thr->ts.level instead of
7581 thr->ts.team != NULL.
7582 * testsuite/libgomp.c/doacross-3.c: New test.
7583 * testsuite/libgomp.c/ordered-5.c: New test.
7584 * testsuite/libgomp.c/priority.c: New test.
7585 * testsuite/libgomp.c/target-31.c: New test.
7586 * testsuite/libgomp.c/target-32.c: New test.
7587 * testsuite/libgomp.c/target-33.c: New test.
7588 * testsuite/libgomp.c/target-34.c: New test.
7590 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
7592 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
7594 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
7597 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
7599 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
7600 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
7602 2015-11-12 James Norris <jnorris@codesourcery.com>
7603 Joseph Myers <joseph@codesourcery.com>
7605 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
7606 * oacc-parallel.c (GOACC_declare): New function.
7607 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
7608 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
7609 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
7610 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
7611 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
7613 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
7615 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
7617 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
7619 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7620 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7622 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7624 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7627 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7629 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7630 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7631 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7632 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7633 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7635 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
7637 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7638 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7640 2015-11-05 Jakub Jelinek <jakub@redhat.com>
7641 Ilya Verbin <ilya.verbin@intel.com>
7643 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7644 GOMP_loop_nonmonotonic_dynamic_start,
7645 GOMP_loop_nonmonotonic_guided_next,
7646 GOMP_loop_nonmonotonic_guided_start,
7647 GOMP_loop_ull_nonmonotonic_dynamic_next,
7648 GOMP_loop_ull_nonmonotonic_dynamic_start,
7649 GOMP_loop_ull_nonmonotonic_guided_next,
7650 GOMP_loop_ull_nonmonotonic_guided_start,
7651 GOMP_parallel_loop_nonmonotonic_dynamic,
7652 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7653 (GOMP_target_41): Renamed to ...
7654 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7656 (GOMP_target_data_41): Renamed to ...
7657 (GOMP_target_data_ext): ... this.
7658 (GOMP_target_update_41): Renamed to ...
7659 (GOMP_target_update_ext): ... this.
7660 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7661 GOMP_target_data_ext and GOMP_target_update_ext instead of
7662 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7663 Export GOMP_loop_nonmonotonic_dynamic_next,
7664 GOMP_loop_nonmonotonic_dynamic_start,
7665 GOMP_loop_nonmonotonic_guided_next,
7666 GOMP_loop_nonmonotonic_guided_start,
7667 GOMP_loop_ull_nonmonotonic_dynamic_next,
7668 GOMP_loop_ull_nonmonotonic_dynamic_start,
7669 GOMP_loop_ull_nonmonotonic_guided_next,
7670 GOMP_loop_ull_nonmonotonic_guided_start,
7671 GOMP_parallel_loop_nonmonotonic_dynamic and
7672 GOMP_parallel_loop_nonmonotonic_guided.
7673 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7674 GOMP_parallel_loop_nonmonotonic_guided,
7675 GOMP_loop_nonmonotonic_dynamic_start,
7676 GOMP_loop_nonmonotonic_guided_start,
7677 GOMP_loop_nonmonotonic_dynamic_next,
7678 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7679 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7680 GOMP_loop_ull_nonmonotonic_guided_start,
7681 GOMP_loop_ull_nonmonotonic_dynamic_next,
7682 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7683 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7685 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
7686 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7687 Use gomp_map_val function.
7688 (gomp_target_fallback_firstprivate): New static function.
7689 (GOMP_target_41): Renamed to ...
7690 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7691 arguments. Move firstprivate fallback handling into a new
7693 (GOMP_target_data_41): Renamed to ...
7694 (GOMP_target_data_ext): ... this.
7695 (GOMP_target_update_41): Renamed to ...
7696 (GOMP_target_update_ext): ... this.
7697 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7698 gomp_map_0len_lookup instead of gomp_map_lookup.
7699 (omp_target_is_present): Use gomp_map_0len_lookup instead of
7701 * testsuite/libgomp.c/target-28.c: Likewise.
7702 * testsuite/libgomp.c/monotonic-1.c: New test.
7703 * testsuite/libgomp.c/monotonic-2.c: New test.
7704 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7705 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7706 * testsuite/libgomp.c/pr66199-5.c: New test.
7707 * testsuite/libgomp.c/pr66199-6.c: New test.
7708 * testsuite/libgomp.c/pr66199-7.c: New test.
7709 * testsuite/libgomp.c/pr66199-8.c: New test.
7710 * testsuite/libgomp.c/pr66199-9.c: New test.
7711 * testsuite/libgomp.c/reduction-11.c: New test.
7712 * testsuite/libgomp.c/reduction-12.c: New test.
7713 * testsuite/libgomp.c/reduction-13.c: New test.
7714 * testsuite/libgomp.c/reduction-14.c: New test.
7715 * testsuite/libgomp.c/reduction-15.c: New test.
7716 * testsuite/libgomp.c/target-12.c (main): Adjust for
7717 omp_target_is_present change for one-past-last element.
7718 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7719 the same var is both mapped and privatized.
7720 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7721 handling of zero-length array sections.
7722 * testsuite/libgomp.c/target-28.c: New test.
7723 * testsuite/libgomp.c/target-29.c: New test.
7724 * testsuite/libgomp.c/target-30.c: New test.
7725 * testsuite/libgomp.c/target-teams-1.c: New test.
7726 * testsuite/libgomp.c++/member-6.C: New test.
7727 * testsuite/libgomp.c++/member-7.C: New test.
7728 * testsuite/libgomp.c++/monotonic-1.C: New test.
7729 * testsuite/libgomp.c++/monotonic-2.C: New test.
7730 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7731 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7732 * testsuite/libgomp.c++/pr66199-3.C: New test.
7733 * testsuite/libgomp.c++/pr66199-4.C: New test.
7734 * testsuite/libgomp.c++/pr66199-5.C: New test.
7735 * testsuite/libgomp.c++/pr66199-6.C: New test.
7736 * testsuite/libgomp.c++/pr66199-7.C: New test.
7737 * testsuite/libgomp.c++/pr66199-8.C: New test.
7738 * testsuite/libgomp.c++/pr66199-9.C: New test.
7739 * testsuite/libgomp.c++/reduction-11.C: New test.
7740 * testsuite/libgomp.c++/reduction-12.C: New test.
7741 * testsuite/libgomp.c++/target-13.C: New test.
7742 * testsuite/libgomp.c++/target-14.C: New test.
7743 * testsuite/libgomp.c++/target-15.C: New test.
7744 * testsuite/libgomp.c++/target-16.C: New test.
7745 * testsuite/libgomp.c++/target-17.C: New test.
7746 * testsuite/libgomp.c++/target-18.C: New test.
7747 * testsuite/libgomp.c++/target-19.C: New test.
7749 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7751 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7753 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7754 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7755 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7756 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7757 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7758 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7759 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7760 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7761 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7762 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7763 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7764 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7765 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7766 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7768 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7770 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7771 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7772 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7773 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7774 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7775 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7776 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7777 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7779 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
7781 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7782 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7783 (GOMP_OFFLOAD_openacc_parallel): Likewise.
7784 * oacc-host.c (host_openacc_exec): Likewise.
7785 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7787 2015-11-03 Julian Brown <julian@codesourcery.com>
7788 Thomas Schwinge <thomas@codesourcery.com>
7790 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7791 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7792 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7794 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7795 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7797 2015-11-03 James Norris <jnorris@codesourcery.com>
7799 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7801 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7803 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7804 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7805 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7806 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7807 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7809 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
7811 * openacc.h (enum acc_device_t): Reformat. Ensure layout
7813 (enum acc_async_t): Reformat.
7814 (acc_on_device): Declare compatible with builtin and provide C++
7816 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7818 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
7819 Cesar Philippidis <cesar@codesourcery.com>
7821 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7822 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7823 ... this. Add a description of the test at the top of the file.
7824 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7825 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7826 ... this. Add a description of the test at the top of the file.
7828 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
7830 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7831 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7832 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7833 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7834 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7835 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7837 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
7839 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7842 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7845 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7847 2015-10-27 James Norris <jnorris@codesourcery.com>
7849 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7850 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7852 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
7854 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7855 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7857 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7858 acc_device_nvidia usage.
7859 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7860 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7861 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7863 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7864 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7867 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7871 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7872 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7874 2015-10-23 Tom de Vries <tom@codesourcery.com>
7877 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7879 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
7881 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7883 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7885 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
7886 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
7888 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7889 to 0 when mapnum is 0.
7891 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
7893 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7894 Cast to int from int32_t.
7896 2015-10-13 Jakub Jelinek <jakub@redhat.com>
7897 Aldy Hernandez <aldyh@redhat.com>
7898 Ilya Verbin <ilya.verbin@intel.com>
7900 * config/linux/affinity.c (omp_get_place_num_procs,
7901 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7902 * config/linux/doacross.h: New file.
7903 * config/posix/affinity.c (omp_get_place_num_procs,
7904 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7905 * config/posix/doacross.h: New file.
7906 * env.c: Include gomp-constants.h.
7907 (struct gomp_task_icv): Rename run_sched_modifier to
7908 run_sched_chunk_size.
7909 (gomp_max_task_priority_var): New variable.
7910 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7911 (handle_omp_display_env): Change _OPENMP value from 201307 to
7912 201511. Print OMP_MAX_TASK_PRIORITY.
7913 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7914 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7915 chunk_size and run_sched_modifier to run_sched_chunk_size.
7916 (omp_get_max_task_priority, omp_get_initial_device,
7917 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7918 omp_get_partition_place_nums): New functions.
7919 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7920 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7922 (omp_get_num_places_, omp_get_place_num_procs_,
7923 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7924 omp_get_place_proc_ids_8_, omp_get_place_num_,
7925 omp_get_partition_num_places_, omp_get_partition_place_nums_,
7926 omp_get_partition_place_nums_8_, omp_get_initial_device_,
7927 omp_get_max_task_priority_): New functions.
7928 * libgomp_g.h (GOMP_loop_doacross_static_start,
7929 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7930 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7931 GOMP_loop_ull_doacross_dynamic_start,
7932 GOMP_loop_ull_doacross_guided_start,
7933 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7934 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7935 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7936 GOMP_target_data_41, GOMP_target_update_41,
7937 GOMP_target_enter_exit_data): New prototypes.
7938 (GOMP_task): Add prototype argument.
7939 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7940 (struct gomp_doacross_work_share): New type.
7941 (struct gomp_work_share): Add doacross field.
7942 (struct gomp_task_icv): Rename run_sched_modifier to
7943 run_sched_chunk_size.
7944 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7945 GOMP_TASK_UNDEFERRED. Add comments.
7946 (struct gomp_task_depend_entry): Add comments.
7947 (struct gomp_task): Likewise.
7948 (struct gomp_taskgroup): Likewise.
7949 (struct gomp_target_task): New type.
7950 (struct gomp_team): Add comment.
7951 (gomp_get_place_proc_ids_8, gomp_doacross_init,
7952 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7953 gomp_create_target_task, gomp_target_task_fn): New prototypes.
7954 (struct target_var_desc): New type.
7955 (struct target_mem_desc): Adjust comment. Use struct
7956 target_var_desc instead of splay_tree_key for list.
7957 (REFCOUNT_INFINITY): Define.
7958 (struct splay_tree_key_s): Remove copy_from field.
7959 (struct gomp_device_descr): Add dev2dev_func field.
7960 (enum gomp_map_vars_kind): New enum.
7961 (gomp_map_vars): Add one argument.
7962 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7963 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7964 omp_get_place_num_procs, omp_get_place_num_procs_,
7965 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7966 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7967 omp_get_place_num_, omp_get_partition_num_places,
7968 omp_get_partition_num_places_, omp_get_partition_place_nums,
7969 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7970 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7971 omp_target_free, omp_target_is_present, omp_target_memcpy,
7972 omp_target_memcpy_rect, omp_target_associate_ptr and
7973 omp_target_disassociate_ptr.
7974 (GOMP_4.0.2): Renamed to ...
7975 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
7976 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7977 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7978 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7979 GOMP_loop_doacross_static_start, GOMP_doacross_post,
7980 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7981 GOMP_loop_ull_doacross_guided_start,
7982 GOMP_loop_ull_doacross_runtime_start,
7983 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7984 GOMP_doacross_ull_wait.
7985 * libgomp.texi: Document omp_get_max_task_priority.
7986 Rename modifier argument to chunk_size for omp_set_schedule and
7987 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
7988 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7989 to run_sched_chunk_size renaming.
7990 (GOMP_loop_ordered_runtime_start): Likewise.
7991 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7992 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7993 GOMP_parallel_loop_runtime_start): New functions.
7994 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7995 to run_sched_chunk_size renaming.
7996 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7997 GOMP_loop_doacross_guided_start): New functions or aliases.
7998 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7999 run_sched_modifier to run_sched_chunk_size renaming.
8000 (GOMP_loop_ull_ordered_runtime_start): Likewise.
8001 (gomp_loop_ull_doacross_static_start,
8002 gomp_loop_ull_doacross_dynamic_start,
8003 gomp_loop_ull_doacross_guided_start,
8004 GOMP_loop_ull_doacross_runtime_start): New functions.
8005 (GOMP_loop_ull_doacross_static_start,
8006 GOMP_loop_ull_doacross_dynamic_start,
8007 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
8008 * oacc-mem.c (acc_map_data, present_create_copy,
8009 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
8011 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
8012 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
8013 instead of false to gomp_map_vars.
8014 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
8015 * omp.h.in (omp_lock_hint_t): New type.
8016 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8017 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8018 omp_get_place_num, omp_get_partition_num_places,
8019 omp_get_partition_place_nums, omp_get_initial_device,
8020 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
8021 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
8022 omp_target_associate_ptr, omp_target_disassociate_ptr): New
8024 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
8025 (omp_lock_hint_none, omp_lock_hint_uncontended,
8026 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8027 omp_lock_hint_speculative): New parameters.
8028 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8029 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8030 omp_get_place_num, omp_get_partition_num_places,
8031 omp_get_partition_place_nums, omp_get_initial_device,
8032 omp_get_max_task_priority): New interfaces.
8033 (omp_set_schedule, omp_get_schedule): Rename modifier argument
8035 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
8036 (omp_lock_hint_none, omp_lock_hint_uncontended,
8037 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8038 omp_lock_hint_speculative): New parameters.
8039 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8040 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8041 omp_get_place_num, omp_get_partition_num_places,
8042 omp_get_partition_place_nums, omp_get_initial_device,
8043 omp_get_max_task_priority): New functions and subroutines.
8044 * ordered.c: Include stdarg.h and string.h.
8045 (MAX_COLLAPSED_BITS): Define.
8046 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
8047 gomp_doacross_ull_init, GOMP_doacross_ull_post,
8048 GOMP_doacross_ull_wait): New functions.
8049 * target.c: Include errno.h.
8050 (resolve_device): If device is not initialized, call
8051 gomp_init_device on it.
8052 (gomp_map_lookup): New function.
8053 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
8054 Don't bump refcount if REFCOUNT_INFINITY. Handle
8055 GOMP_MAP_ALWAYS_TO_P.
8056 (get_kind): Rename is_openacc argument to short_mapkind.
8057 (gomp_map_pointer): Use gomp_map_lookup.
8058 (gomp_map_fields_existing): New function.
8059 (gomp_map_vars): Rename is_openacc argument to short_mapkind
8060 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
8061 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
8062 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
8063 Adjust for tgt->list changed type and copy_from living in there.
8064 (gomp_copy_from_async): Adjust for tgt->list changed type and
8065 copy_from living in there.
8066 (gomp_unmap_vars): Likewise.
8067 (gomp_update): Likewise. Rename is_openacc argument to
8068 short_mapkind. Don't fail if object is not mapped.
8069 (gomp_load_image_to_device): Initialize refcount to
8071 (gomp_target_fallback): New function.
8072 (gomp_get_target_fn_addr): Likewise.
8073 (GOMP_target): Adjust gomp_map_vars caller, use
8074 gomp_get_target_fn_addr and gomp_target_fallback.
8075 (GOMP_target_41): New function.
8076 (gomp_target_data_fallback): New function.
8077 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
8078 (GOMP_target_data_41): New function.
8079 (GOMP_target_update): Adjust gomp_update caller.
8080 (GOMP_target_update_41): New function.
8081 (gomp_exit_data, GOMP_target_enter_exit_data,
8082 gomp_target_task_fn, omp_target_alloc, omp_target_free,
8083 omp_target_is_present, omp_target_memcpy,
8084 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
8085 omp_target_associate_ptr, omp_target_disassociate_ptr,
8086 gomp_load_plugin_for_device): New functions.
8087 * task.c: Include gomp-constants.h. Include taskloop.c
8088 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
8089 (gomp_task_handle_depend): New function.
8090 (GOMP_task): Use it. Add priority argument. Use
8091 gomp-constant.h constants instead of hardcoded numbers.
8092 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
8093 (gomp_create_target_task): New function.
8094 (verify_children_queue, verify_taskgroup_queue,
8095 verify_task_queue): New functions.
8096 (gomp_task_run_pre): Call verify_*_queue functions.
8097 If an upcoming tied task is about to leave the sibling or
8098 taskgroup queues in an invalid state, adjust appropriately.
8099 Remove taskgroup argument. Add comments.
8100 (gomp_task_run_post_handle_dependers): Add comments.
8101 (gomp_task_run_post_remove_parent): Likewise.
8102 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
8103 (GOMP_taskwait): Likewise. Add comments.
8104 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
8105 problem such that the first non parent_depends_on task does not
8106 end up at the end of the children queue.
8107 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
8108 GOMP_TASK_UNDEFERRED.
8109 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
8110 * taskloop.c: New file.
8111 * testsuite/lib/libgomp.exp
8112 (check_effective_target_offload_device_nonshared_as): New proc.
8113 * testsuite/libgomp.c/affinity-2.c: New test.
8114 * testsuite/libgomp.c/doacross-1.c: New test.
8115 * testsuite/libgomp.c/doacross-2.c: New test.
8116 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
8117 Add map clause to target.
8118 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
8119 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
8120 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
8121 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
8122 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
8124 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
8125 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
8126 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
8127 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
8128 not defined. Use those where needed.
8129 * testsuite/libgomp.c/for-4.c: New test.
8130 * testsuite/libgomp.c/for-5.c: New test.
8131 * testsuite/libgomp.c/for-6.c: New test.
8132 * testsuite/libgomp.c/linear-1.c: New test.
8133 * testsuite/libgomp.c/ordered-4.c: New test.
8134 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
8135 only allowed on the loop iterator.
8136 * testsuite/libgomp.c/pr66199-3.c: New test.
8137 * testsuite/libgomp.c/pr66199-4.c: New test.
8138 * testsuite/libgomp.c/reduction-7.c: New test.
8139 * testsuite/libgomp.c/reduction-8.c: New test.
8140 * testsuite/libgomp.c/reduction-9.c: New test.
8141 * testsuite/libgomp.c/reduction-10.c: New test.
8142 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
8144 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
8145 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
8146 * testsuite/libgomp.c/target-11.c: New test.
8147 * testsuite/libgomp.c/target-12.c: New test.
8148 * testsuite/libgomp.c/target-13.c: New test.
8149 * testsuite/libgomp.c/target-14.c: New test.
8150 * testsuite/libgomp.c/target-15.c: New test.
8151 * testsuite/libgomp.c/target-16.c: New test.
8152 * testsuite/libgomp.c/target-17.c: New test.
8153 * testsuite/libgomp.c/target-18.c: New test.
8154 * testsuite/libgomp.c/target-19.c: New test.
8155 * testsuite/libgomp.c/target-20.c: New test.
8156 * testsuite/libgomp.c/target-21.c: New test.
8157 * testsuite/libgomp.c/target-22.c: New test.
8158 * testsuite/libgomp.c/target-23.c: New test.
8159 * testsuite/libgomp.c/target-24.c: New test.
8160 * testsuite/libgomp.c/target-25.c: New test.
8161 * testsuite/libgomp.c/target-26.c: New test.
8162 * testsuite/libgomp.c/target-27.c: New test.
8163 * testsuite/libgomp.c/taskloop-1.c: New test.
8164 * testsuite/libgomp.c/taskloop-2.c: New test.
8165 * testsuite/libgomp.c/taskloop-3.c: New test.
8166 * testsuite/libgomp.c/taskloop-4.c: New test.
8167 * testsuite/libgomp.c++/ctor-13.C: New test.
8168 * testsuite/libgomp.c++/doacross-1.C: New test.
8169 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
8170 Replace offload_device with offload_device_nonshared_as.
8171 * testsuite/libgomp.c++/for-12.C: New test.
8172 * testsuite/libgomp.c++/for-13.C: New test.
8173 * testsuite/libgomp.c++/for-14.C: New test.
8174 * testsuite/libgomp.c++/linear-1.C: New test.
8175 * testsuite/libgomp.c++/member-1.C: New test.
8176 * testsuite/libgomp.c++/member-2.C: New test.
8177 * testsuite/libgomp.c++/member-3.C: New test.
8178 * testsuite/libgomp.c++/member-4.C: New test.
8179 * testsuite/libgomp.c++/member-5.C: New test.
8180 * testsuite/libgomp.c++/ordered-1.C: New test.
8181 * testsuite/libgomp.c++/reduction-5.C: New test.
8182 * testsuite/libgomp.c++/reduction-6.C: New test.
8183 * testsuite/libgomp.c++/reduction-7.C: New test.
8184 * testsuite/libgomp.c++/reduction-8.C: New test.
8185 * testsuite/libgomp.c++/reduction-9.C: New test.
8186 * testsuite/libgomp.c++/reduction-10.C: New test.
8187 * testsuite/libgomp.c++/reference-1.C: New test.
8188 * testsuite/libgomp.c++/simd14.C: New test.
8189 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
8190 * testsuite/libgomp.c++/target-5.C: New test.
8191 * testsuite/libgomp.c++/target-6.C: New test.
8192 * testsuite/libgomp.c++/target-7.C: New test.
8193 * testsuite/libgomp.c++/target-8.C: New test.
8194 * testsuite/libgomp.c++/target-9.C: New test.
8195 * testsuite/libgomp.c++/target-10.C: New test.
8196 * testsuite/libgomp.c++/target-11.C: New test.
8197 * testsuite/libgomp.c++/target-12.C: New test.
8198 * testsuite/libgomp.c++/taskloop-1.C: New test.
8199 * testsuite/libgomp.c++/taskloop-2.C: New test.
8200 * testsuite/libgomp.c++/taskloop-3.C: New test.
8201 * testsuite/libgomp.c++/taskloop-4.C: New test.
8202 * testsuite/libgomp.c++/taskloop-5.C: New test.
8203 * testsuite/libgomp.c++/taskloop-6.C: New test.
8204 * testsuite/libgomp.c++/taskloop-7.C: New test.
8205 * testsuite/libgomp.c++/taskloop-8.C: New test.
8206 * testsuite/libgomp.c++/taskloop-9.C: New test.
8207 * testsuite/libgomp.fortran/affinity1.f90: New test.
8208 * testsuite/libgomp.fortran/affinity2.f90: New test.
8210 2015-10-13 Tom de Vries <tom@codesourcery.com>
8212 PR tree-optimization/67476
8213 * testsuite/libgomp.c/autopar-3.c: New test.
8214 * testsuite/libgomp.c/autopar-4.c: New test.
8215 * testsuite/libgomp.c/autopar-5.c: New test.
8216 * testsuite/libgomp.c/autopar-6.c: New test.
8217 * testsuite/libgomp.c/autopar-7.c: New test.
8218 * testsuite/libgomp.c/autopar-8.c: New test.
8220 2015-10-12 James Norris <jnorris@codesourcery.com>
8222 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
8225 2015-10-09 David Malcolm <dmalcolm@redhat.com>
8227 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
8230 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
8232 * oacc-ptx.h: Remove file, moving its content into...
8233 * config/nvptx/fortran.c: ... here...
8234 * config/nvptx/oacc-init.c: ..., here...
8235 * config/nvptx/oacc-parallel.c: ..., and here.
8236 * config/nvptx/openacc.f90: New file.
8237 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
8238 (link_ptx): Don't link in predefined bits of PTX code.
8240 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
8241 Bernd Schmidt <bernds@codesourcery.com>
8243 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
8244 (struct targ_ptx_obj): New.
8245 (nvptx_tdata): Move earlier, change data format.
8246 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
8248 (GOMP_OFFLOAD_load_image): Adjust.
8250 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
8252 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
8253 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8254 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8255 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8256 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8257 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8258 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8259 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8260 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8261 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8262 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8263 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8264 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8265 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8266 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8267 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8268 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8269 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8270 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8271 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8272 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8273 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8274 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8275 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8276 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8277 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8278 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8279 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8280 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8281 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8282 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8283 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8284 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8285 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8286 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8287 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8288 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8289 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8290 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8291 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8292 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8293 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8294 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8295 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8296 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8297 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8298 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8299 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8300 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8301 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8302 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8303 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8304 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8305 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8306 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8307 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8308 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8309 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8310 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8311 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8312 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8313 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8314 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8316 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8318 * oacc-init.c (acc_on_device): Force optimization level.
8320 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8322 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
8323 (cuda_errlist): Delete.
8324 (cuda_error): Reimplement.
8326 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
8328 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
8330 * libgomp.map (GOACC_parallel_keyed): New.
8331 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
8333 (GOACC_parallel_keyed): New interface. Lose geometry arguments
8334 and take keyed varargs list. Adjust call to exec_func.
8335 (GOACC_parallel): Force host fallback.
8336 * libgomp_g.h (GOACC_parallel): Remove.
8337 (GOACC_parallel_keyed): Declare.
8338 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
8339 (struct targ_gn_descriptor): Replace name field with launch field.
8340 (nvptx_exec): Lose separate geometry args, take array. Process
8341 dynamic dimensions and adjust.
8342 (struct nvptx_tdata): Replace fn_names field with fn_descs.
8343 (GOMP_OFFLOAD_load_image): Adjust for change in function table
8345 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
8347 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
8350 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
8353 * oacc-int.h (goacc_host_init): Add declaration.
8354 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
8355 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
8357 2015-09-08 Aditya Kumar <hiraditya@msn.com>
8358 Sebastian Pop <s.pop@samsung.com>
8360 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
8362 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
8363 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
8364 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
8365 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
8366 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
8368 2015-09-03 Jakub Jelinek <jakub@redhat.com>
8370 * configure.tgt: Add missing ;; in between nvptx and rtems
8373 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8375 * config/posix/pool.h (gomp_adjust_thread_attr): New.
8376 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
8377 (gomp_thread_pool_reservoir): Add priority member.
8378 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
8380 (parse_thread_pools): Likewise.
8381 * team.c (gomp_team_start): Call configuration provided
8382 gomp_adjust_thread_attr(). Destroy thread attributes if
8384 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
8386 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8388 * config/posix/pool.h: New.
8389 * config/rtems/pool.h: Likewise.
8390 * config/rtems/proc.c: Likewise.
8391 * libgomp.h (gomp_thread_destructor): Declare.
8392 * team.c: Include configuration provided "pool.h".
8393 (gomp_get_thread_pool): Define in configuration.
8394 (gomp_team_end): Call configuration defined
8395 gomp_release_thread_pool().
8397 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8399 * config/rtems/bar.c: New.
8400 * config/rtems/bar.h: Likewise.
8401 * config/rtems/mutex.c: Likewise.
8402 * config/rtems/mutex.h: Likewise.
8403 * config/rtems/sem.c: Likewise.
8404 * config/rtems/sem.h: Likewise.
8405 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
8406 <sys/lock.h> header file.
8407 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
8408 supported by Newlib.
8409 * configure: Regenerate.
8411 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8413 * team.c (gomp_new_thread_pool): Delete and move content to ...
8414 (gomp_get_thread_pool): ... new function. Allocate and
8415 initialize thread pool on demand.
8416 (get_last_team): Use gomp_get_thread_pool().
8417 (gomp_team_start): Delete thread pool initialization.
8419 2015-09-03 Tom de Vries <tom@codesourcery.com>
8421 PR tree-optimization/65637
8422 * testsuite/libgomp.c/autopar-2.c: New test.
8424 2015-08-29 Tom de Vries <tom@codesourcery.com>
8426 PR tree-optimization/46193
8427 * testsuite/libgomp.c/pr46193.c: New test.
8429 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
8432 * libgomp.map: Add 4.0.2 version.
8433 * target.c (offload_image_descr): Add version field.
8434 (gomp_load_image_to_device): Add version argument. Adjust plugin
8435 call. Improve load mismatch diagnostic.
8436 (gomp_unload_image_from_device): Add version argument. Adjust plugin
8438 (GOMP_offload_regster): Make stub function, move bulk to ...
8439 (GOMP_offload_register_ver): ... here. Process version argument.
8440 (GOMP_offload_unregister): Make stub function, move bulk to ...
8441 (GOMP_offload_unregister_ver): ... here. Process version argument.
8442 (gomp_init_device): Process version field.
8443 (gomp_unload_device): Process version field.
8444 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
8445 macros. Check plugin version.
8446 * libgomp.h (gomp_device_descr): Add version function field. Adjust
8447 loader and unloader types.
8448 * oacc-host.c: Include gomp-constants.h.
8449 (host_version): New.
8450 (host_load_image, host_unload_image): Adjust.
8451 (host_dispatch): Add host_version.
8452 * plugin/plugin-nvptx.c: Include gomp-constants.h.
8453 (GOMP_OFFLOAD_version): New.
8454 (GOMP_OFFLOAD_load_image): Add version arg and check it.
8455 (GOMP_OFFLOAD_unload_image): Likewise.
8456 * plugin/plugin-host.c: Include gomp-constants.h.
8457 (GOMP_OFFLOAD_version): New.
8458 (GOMP_OFFLOAD_load_image): Add version arg.
8459 (GOMP_OFFLOAD_unload_image): Likewise.
8461 2015-08-24 Tom de Vries <tom@codesourcery.com>
8463 PR tree-optimization/65468
8464 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
8466 2015-08-24 Tom de Vries <tom@codesourcery.com>
8468 PR tree-optimization/65468
8469 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
8471 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
8475 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
8476 (gomp_iter_guided_next): Idem.
8477 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
8478 (gomp_iter_ull_guided_next): Idem.
8479 * config/linux/wait.h (do_spin): Idem.
8481 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8483 * libgomp-plugin.h (enum offload_target_type): Remove
8484 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
8485 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
8486 * openacc.h (enum acc_device_t): Likewise.
8487 * openacc_lib.h: Likewise.
8488 * oacc-init.c (name_of_acc_device_t): Don't handle it.
8489 (acc_on_device): Just use __builtin_acc_on_device.
8490 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
8491 of acc_on_device builtin.
8492 * plugin/plugin-host.h: Remove file.
8493 * plugin/plugin-host.c: Likewise, but salvage some content into...
8494 * oacc-host.c: ... this file.
8495 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
8496 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
8497 * Makefile.in: Regenerate.
8498 * configure: Likewise.
8499 * testsuite/lib/libgomp.exp
8500 (check_effective_target_openacc_host_nonshm_selected): Remove.
8501 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
8502 ACC_DEVICE_TYPE=host_nonshm.
8503 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8504 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8505 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8506 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8507 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8508 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8510 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8511 Jakub Jelinek <jakub@redhat.com>
8513 * config/nvptx/affinity.c: New file.
8514 * config/nvptx/alloc.c: Likewise.
8515 * config/nvptx/bar.c: Likewise.
8516 * config/nvptx/barrier.c: Likewise.
8517 * config/nvptx/critical.c: Likewise.
8518 * config/nvptx/env.c: Likewise.
8519 * config/nvptx/error.c: Likewise.
8520 * config/nvptx/fortran.c: Likewise.
8521 * config/nvptx/iter.c: Likewise.
8522 * config/nvptx/iter_ull.c: Likewise.
8523 * config/nvptx/libgomp-plugin.c: Likewise.
8524 * config/nvptx/lock.c: Likewise.
8525 * config/nvptx/loop.c: Likewise.
8526 * config/nvptx/loop_ull.c: Likewise.
8527 * config/nvptx/mutex.c: Likewise.
8528 * config/nvptx/oacc-async.c: Likewise.
8529 * config/nvptx/oacc-cuda.c: Likewise.
8530 * config/nvptx/oacc-host.c: Likewise.
8531 * config/nvptx/oacc-init.c: Likewise.
8532 * config/nvptx/oacc-mem.c: Likewise.
8533 * config/nvptx/oacc-parallel.c: Likewise.
8534 * config/nvptx/oacc-plugin.c: Likewise.
8535 * config/nvptx/omp-lock.h: Likewise.
8536 * config/nvptx/ordered.c: Likewise.
8537 * config/nvptx/parallel.c: Likewise.
8538 * config/nvptx/proc.c: Likewise.
8539 * config/nvptx/ptrlock.c: Likewise.
8540 * config/nvptx/sections.c: Likewise.
8541 * config/nvptx/sem.c: Likewise.
8542 * config/nvptx/single.c: Likewise.
8543 * config/nvptx/splay-tree.c: Likewise.
8544 * config/nvptx/target.c: Likewise.
8545 * config/nvptx/task.c: Likewise.
8546 * config/nvptx/team.c: Likewise.
8547 * config/nvptx/time.c: Likewise.
8548 * config/nvptx/work.c: Likewise.
8549 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
8550 * configure: Regenerate.
8551 * configure.tgt (config_path): Set to "nvptx" for target
8554 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8556 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
8558 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
8560 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
8561 (cuda_errlist): Constify.
8562 (errmsg): Move into ...
8563 (cuda_error): ... here. Make smaller.
8564 (_XSTR, _STR): Delete.
8565 (cuda_synames): Delete.
8566 (verify_device_library): Delete.
8567 (nvptx_init): Don't call it.
8569 2015-07-28 Tom de Vries <tom@codesourcery.com>
8571 * testsuite/libgomp.c/uns-outer-4.c: New test.
8573 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
8575 * testsuite/libgomp.c/pr66714.c: New test.
8577 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
8580 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
8581 (fib_ref): New function.
8582 (fib): Correct corner cases in the recursion.
8583 (main): Replace the non-simd loop with fib_ref call.
8584 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
8586 (fibonacci): Lower the parameter N to 30. Correct accordingly check
8587 for the last array element value. Replace the non-simd loop with
8588 fib_ref call. Remove redundant b_ref array. Remove the comparison
8589 of the last array element with according Fibonacci sequence element.
8590 (fib): Correct corner cases in the recursion.
8592 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
8594 * target.c (gomp_offload_image_to_device): Rename to ...
8595 (gomp_load_image_to_device): ... here.
8596 (GOMP_offload_register): Adjust call.
8597 (gomp_init_device): Likewise.
8598 (gomp_unload_image_from_device): New. Broken out of ...
8599 (GOMP_offload_unregister): ... here. Call it.
8600 (gomp_unload_device): New.
8601 * libgomp.h (gomp_unload_device): Declare.
8602 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
8605 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
8607 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
8609 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
8611 (goacc_waits): Move !num_waits handling to ...
8612 (GOACC_wait): ... here, the only caller that might have zero waits.
8614 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
8615 (struct ptx_image_data): Move earlier, add fns field.
8616 (struct ptx_device): Add images and image_lock fields.
8617 (ptx_images, ptx_image_lock): Delete.
8618 (nvptx_open_device): Initialize images and image_lock fields.
8619 (nvptx_close_device): Destroy image_lock.
8620 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8621 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8624 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
8626 * target.c (GOMP_offload_register): Use int for device type arg.
8627 (GOMP_offload_unregister): Likewise.
8629 * target.c (struct_offload_image_descr): Constify host_table.
8630 (gomp_offload_image_to_device): Likewise.
8631 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8633 * libgomp.h (gomp_device_descr): Constify target data arguments.
8634 * target.c (struct offload_image_descr): Constify target_data.
8635 (gomp_offload_image_to_device): Likewise.
8636 (GOMP_offload_register): Likewise.
8637 (GOMP_offload_unregister): Likewise.
8638 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8639 GOMP_OFFLOAD_unload_image): Constify target data.
8640 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8641 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8643 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
8645 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8646 Workaround driver library const error.
8647 (struct nvptx_tdata, nvptx_tdata_t): New.
8648 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8651 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
8653 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8654 of EPS parameter from integer to real.
8655 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8656 type of EPS parameter from integer to real.
8658 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
8660 * team.c (get_last_team): New.
8661 (gomp_new_team): Recycle last non-nested team if possible.
8662 (gomp_team_end): Move team work share list free lock destruction
8664 (free_team): ... here.
8666 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
8668 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8669 and ref from int to double. Replaced their comparison with
8670 an inequality of their difference and EPS.
8671 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8672 comparison of pri and a reference number with an inequality of their
8674 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8675 the comparison of sum and sum_ref with an inequality of their
8677 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8678 the comparison of pri and a reference number with an inequality of
8679 their difference and EPS.
8681 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
8683 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8684 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8685 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8686 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8687 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8688 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8689 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8690 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8691 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8692 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8693 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8694 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8695 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8697 (vec_mult): Likewise. Add #pragma omp taskwait.
8698 (main): Adjust caller.
8699 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8700 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8701 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8702 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8703 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8704 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8705 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8706 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8707 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8708 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8709 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8710 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8711 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8712 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8713 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8714 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8715 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8716 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8717 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8718 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8719 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8720 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8721 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8722 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8723 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8724 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8725 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8726 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8727 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8728 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8729 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8730 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8731 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8732 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8733 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8734 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8735 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8736 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8737 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8738 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8739 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8740 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8741 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8742 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8743 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8744 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8745 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8746 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8747 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8748 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8749 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8750 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8751 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8752 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8753 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8754 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8755 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8756 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8757 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8758 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8759 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8760 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8761 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8762 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8763 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8764 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8765 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8766 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8767 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8768 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8769 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8770 (vec_mult): Add !$omp taskwait.
8771 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8772 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8773 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8774 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8775 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8776 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8777 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8778 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8779 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8780 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8781 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8782 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8783 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8784 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8785 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8786 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8787 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8788 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8789 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8790 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8791 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8792 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8793 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8794 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8795 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8796 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8797 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8798 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8799 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8800 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8801 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8802 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8803 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8804 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8805 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8806 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8807 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8808 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8809 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8810 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8811 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8812 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8813 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8814 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8815 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8816 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8817 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8818 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8819 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8820 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8821 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8822 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8823 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8824 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8825 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8826 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8827 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8828 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8829 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8830 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8831 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8832 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8833 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8834 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8835 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8836 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8837 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8839 2015-07-10 Tom de Vries <tom@codesourcery.com>
8841 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8842 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8844 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
8847 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8848 in a 64-bit configuration.
8849 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8850 offloading testing if no such device is available.
8851 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8852 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8854 2015-07-08 Tom de Vries <tom@codesourcery.com>
8856 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8858 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8860 2015-07-07 Tom de Vries <tom@codesourcery.com>
8862 PR tree-optimization/66642
8863 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8864 iteration count case.
8865 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8866 function, factor out of ...
8867 (main): ... here. Test low iteration count case.
8869 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
8871 * libgomp.h (gomp_thread_pool): Comment last_team field.
8873 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
8875 * testsuite/libgomp.c++/pr66702-1.C: Require
8876 vect_simd_clones effective target.
8877 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8879 2015-06-30 Tom de Vries <tom@codesourcery.com>
8881 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8882 already set. Use DEFAULT_CFLAGS in dg-runtest.
8883 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8886 2015-06-30 Tom de Vries <tom@codesourcery.com>
8888 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8889 already set. Use DEFAULT_CFLAGS in dg-runtest.
8890 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8891 * testsuite/libgomp.c++/pr64824.C: Same.
8892 * testsuite/libgomp.c++/pr64868.C: Same.
8893 * testsuite/libgomp.c++/pr66199-1.C: Same.
8894 * testsuite/libgomp.c++/pr66199-2.C: Same.
8895 * testsuite/libgomp.c++/target-2.C: Same.
8896 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8897 -std=<standard> option.
8898 * testsuite/libgomp.c++/udr-11.C: Same.
8899 * testsuite/libgomp.c++/udr-12.C: Same.
8900 * testsuite/libgomp.c++/udr-13.C: Same.
8901 * testsuite/libgomp.c++/udr-14.C: Same.
8902 * testsuite/libgomp.c++/udr-15.C: Same.
8903 * testsuite/libgomp.c++/udr-16.C: Same.
8904 * testsuite/libgomp.c++/udr-17.C: Same.
8905 * testsuite/libgomp.c++/udr-18.C: Same.
8906 * testsuite/libgomp.c++/udr-19.C: Same.
8907 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8908 * testsuite/libgomp.c++/simd-1.C: Same.
8909 * testsuite/libgomp.c++/simd-2.C: Same.
8910 * testsuite/libgomp.c++/simd-3.C: Same.
8911 * testsuite/libgomp.c++/simd-4.C: Same.
8912 * testsuite/libgomp.c++/simd-5.C: Same.
8913 * testsuite/libgomp.c++/simd-6.C: Same.
8914 * testsuite/libgomp.c++/simd-7.C: Same.
8915 * testsuite/libgomp.c++/simd-8.C: Same.
8916 * testsuite/libgomp.c++/simd-9.C: Same.
8917 * testsuite/libgomp.c++/simd10.C: Same.
8918 * testsuite/libgomp.c++/simd11.C: Same.
8919 * testsuite/libgomp.c++/simd12.C: Same.
8920 * testsuite/libgomp.c++/simd13.C: Same.
8922 2015-06-30 Jakub Jelinek <jakub@redhat.com>
8925 * testsuite/libgomp.c++/pr66702-1.C: New test.
8926 * testsuite/libgomp.c++/pr66702-2.C: New test.
8928 2015-06-30 Tom de Vries <tom@codesourcery.com>
8930 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8931 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8932 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8933 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8935 2015-06-30 Tom de Vries <tom@codesourcery.com>
8937 PR tree-optimization/66652
8938 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8939 using restrict pointers.
8940 (main): Add arguments to calls to f.
8941 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8943 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
8945 * configure.ac: Fix check for header <sys/sysctl.h>.
8946 * configure: Regenerate.
8947 * config.h.in: Likewise.
8949 2015-06-23 Tom de Vries <tom@codesourcery.com>
8951 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8953 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8955 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
8957 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8961 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8962 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8964 2015-06-15 Tom de Vries <tom@codesourcery.com>
8966 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
8967 dg-additional-options for any remaining options.
8968 * testsuite/libgomp.c/atomic-2.c: Same.
8969 * testsuite/libgomp.c/atomic-4.c: Same.
8970 * testsuite/libgomp.c/atomic-5.c: Same.
8971 * testsuite/libgomp.c/atomic-6.c: Same.
8972 * testsuite/libgomp.c/autopar-1.c: Same.
8973 * testsuite/libgomp.c/copyin-1.c: Same.
8974 * testsuite/libgomp.c/copyin-2.c: Same.
8975 * testsuite/libgomp.c/copyin-3.c: Same.
8976 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8977 * testsuite/libgomp.c/nestedfn-5.c: Same.
8978 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8979 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8980 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8981 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8982 * testsuite/libgomp.c/pr32362-1.c: Same.
8983 * testsuite/libgomp.c/pr32362-2.c: Same.
8984 * testsuite/libgomp.c/pr32362-3.c: Same.
8985 * testsuite/libgomp.c/pr39591-1.c: Same.
8986 * testsuite/libgomp.c/pr39591-2.c: Same.
8987 * testsuite/libgomp.c/pr39591-3.c: Same.
8988 * testsuite/libgomp.c/pr58392.c: Same.
8989 * testsuite/libgomp.c/pr58756.c: Same.
8990 * testsuite/libgomp.c/simd-1.c: Same.
8991 * testsuite/libgomp.c/simd-10.c: Same.
8992 * testsuite/libgomp.c/simd-11.c: Same.
8993 * testsuite/libgomp.c/simd-12.c: Same.
8994 * testsuite/libgomp.c/simd-13.c: Same.
8995 * testsuite/libgomp.c/simd-14.c: Same.
8996 * testsuite/libgomp.c/simd-15.c: Same.
8997 * testsuite/libgomp.c/simd-2.c: Same.
8998 * testsuite/libgomp.c/simd-3.c: Same.
8999 * testsuite/libgomp.c/simd-4.c: Same.
9000 * testsuite/libgomp.c/simd-5.c: Same.
9001 * testsuite/libgomp.c/simd-6.c: Same.
9002 * testsuite/libgomp.c/simd-7.c: Same.
9003 * testsuite/libgomp.c/simd-8.c: Same.
9004 * testsuite/libgomp.c/simd-9.c: Same.
9006 2015-06-15 Tom de Vries <tom@codesourcery.com>
9008 * testsuite/libgomp.c/pr35625.c: Fix typo.
9010 2015-06-15 Tom de Vries <tom@codesourcery.com>
9012 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
9014 * testsuite/libgomp.c/atomic-3.c: Same.
9015 * testsuite/libgomp.c/debug-1.c: Same.
9016 * testsuite/libgomp.c/nqueens-1.c: Same.
9017 * testsuite/libgomp.c/pr26171.c: Same.
9018 * testsuite/libgomp.c/pr48591.c: Same.
9019 * testsuite/libgomp.c/pr64824.c: Same.
9020 * testsuite/libgomp.c/pr64868.c: Same.
9021 * testsuite/libgomp.c/pr66133.c: Same.
9022 * testsuite/libgomp.c/pr66199-1.c: Same.
9023 * testsuite/libgomp.c/pr66199-2.c: Same.
9024 * testsuite/libgomp.c/target-8.c: Same.
9026 2015-06-15 Tom de Vries <tom@codesourcery.com>
9028 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
9030 * testsuite/libgomp.c/for-1.c: Same.
9031 * testsuite/libgomp.c/for-2.c: Same.
9032 * testsuite/libgomp.c/for-3.c: Same.
9033 * testsuite/libgomp.c/pr35625.c: Same.
9034 * testsuite/libgomp.c/pr39154.c: Same.
9035 * testsuite/libgomp.c/simd-16.c: Same.
9036 * testsuite/libgomp.c/simd-17.c: Same.
9038 2015-06-13 Tom de Vries <tom@codesourcery.com>
9040 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
9042 2015-06-13 Tom de Vries <tom@codesourcery.com>
9044 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
9045 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9046 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
9048 (main): Use N instead of hardcoded constants.
9050 2015-06-05 Tom de Vries <tom@codesourcery.com>
9052 merge from gomp4 branch:
9053 2015-05-28 Tom de Vries <tom@codesourcery.com>
9055 PR tree-optimization/65443
9056 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
9057 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
9058 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
9060 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9062 * testsuite/libgomp.graphite/bounds.c: Adjust for
9063 cleanup-tree-dump removal.
9064 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
9065 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9066 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9067 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9068 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9069 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9070 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9071 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9072 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9073 * testsuite/libgomp.graphite/pr41118.c: Likewise.
9075 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
9077 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
9078 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
9079 (futex_wake) [!__x86_64__]: Ditto.
9081 2015-05-28 Julian Brown <julian@codesourcery.com>
9083 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
9084 function comment. Only call gomp_fatal if new argument is true.
9085 (acc_dev_num_out_of_range): New function.
9086 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
9087 acc_dev_num_out_of_range as appropriate.
9088 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9089 (acc_get_device_num, acc_set_device_num): Update calls to
9091 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
9094 2015-05-28 Julian Brown <julian@codesourcery.com>
9097 * oacc-init.c (plugin/plugin-host.h): Include.
9098 (acc_on_device): Check whether we're in an offloaded region for
9100 plugin. Don't use __builtin_acc_on_device.
9101 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
9102 nonshm_exec flag in thread-local data.
9103 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
9104 data for host_nonshm plugin.
9105 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
9106 for host_nonshm plugin.
9107 * plugin/plugin-host.h: New.
9109 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
9111 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
9113 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
9115 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
9117 (FUTEX_PRIVATE_FLAG): Remove L suffix.
9118 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
9121 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
9123 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
9125 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
9127 * target.c (gomp_map_pointer): New function abstracting out
9128 GOMP_MAP_POINTER handling.
9129 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
9132 2015-05-19 Jakub Jelinek <jakub@redhat.com>
9135 * testsuite/libgomp.c/pr66199-1.c: New test.
9136 * testsuite/libgomp.c/pr66199-2.c: New test.
9137 * testsuite/libgomp.c++/pr66199-1.C: New test.
9138 * testsuite/libgomp.c++/pr66199-2.C: New test.
9139 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
9140 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
9142 2015-05-19 Julian Brown <julian@codesourcery.com>
9144 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
9147 2015-05-13 Jakub Jelinek <jakub@redhat.com>
9150 * testsuite/libgomp.c/pr66133.c: New test.
9152 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
9154 * Makefile.in: Regenerated with automake-1.11.6.
9155 * aclocal.m4: Likewise.
9156 * config.h.in: Likewise.
9157 * configure: Likewise.
9158 * testsuite/Makefile.in: Likewise.
9160 2015-05-08 Jason Merrill <jason@redhat.com>
9162 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
9165 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
9167 2015-05-06 Julian Brown <julian@codesourcery.com>
9169 * oacc-init.c (acc_device_lock): Add explanatory comment.
9170 (resolve_device): Add comment about locking requirement.
9171 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
9172 gomp_init_device and gomp_fini_device calls.
9173 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9174 (acc_get_device_num, acc_set_device_num): Add locking around
9175 resolve_device and gomp_init_device calls.
9177 2015-05-06 Julian Brown <julian@codesourcery.com>
9179 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
9180 goacc_thread_lock on error paths.
9181 * oacc-mem.c (lookup_host): Remove locking from function. Note
9182 locking requirement for caller in function comment.
9183 (lookup_dev): Likewise.
9184 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
9185 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
9186 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
9189 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
9193 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
9194 don't expect "0x" prefix for "%p" format specifier, don't expect
9195 "(nil)" for NULL pointer.
9196 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9197 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9198 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9199 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9200 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9201 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9202 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9203 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9204 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9205 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9206 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9207 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9208 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9209 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9210 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9211 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9212 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9213 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9214 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9215 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9216 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9217 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9218 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9219 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9220 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9221 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9222 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9223 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9224 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
9225 accurately specify what we're looking for.
9226 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9227 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9228 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9229 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9230 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9232 2015-04-30 James Norris <jnorris@codesourcery.com>
9235 * testsuite/lib/libgomp.exp
9236 (check_effective_target_openacc_host_selected)
9237 (check_effective_target_openacc_host_nonshm_selected): New
9239 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
9241 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9242 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9243 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9244 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9245 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9246 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9247 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9248 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9249 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9250 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9251 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9252 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9253 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9254 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9255 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9256 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9257 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9258 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9259 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9260 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9261 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9262 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9263 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9264 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9265 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9266 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9267 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9268 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9269 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9270 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9271 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9272 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9273 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9274 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9275 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9276 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9277 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9278 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9279 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9280 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9281 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9282 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9283 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9285 2015-04-08 Julian Brown <julian@codesourcery.com>
9287 * libgomp.h (target_mem_desc: Remove mem_map field.
9288 (acc_dispatch_t): Remove open_device_func, close_device_func,
9289 get_device_num_func, set_device_num_func, target_data members.
9290 Change create_thread_data_func argument to device number instead of
9292 * oacc-async.c (assert.h): Include.
9293 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
9294 (acc_wait_all, acc_wait_all_async): Use current host thread's
9295 active device, not base_dev.
9296 * oacc-cuda.c (acc_get_current_cuda_device)
9297 (acc_get_current_cuda_context, acc_get_cuda_stream)
9298 (acc_set_cuda_stream): Likewise.
9299 * oacc-host.c (host_dispatch): Don't set open_device_func,
9300 close_device_func, get_device_num_func or set_device_num_func.
9301 * oacc-init.c (base_dev, init_key): Remove.
9302 (cached_base_dev): New.
9303 (name_of_acc_device_t): New.
9304 (acc_init_1): Initialise default-numbered device, not zeroth.
9305 (acc_shutdown_1): Close all devices of a given type.
9306 (goacc_destroy_thread): Don't use base_dev.
9307 (lazy_open, lazy_init, lazy_init_and_open): Remove.
9308 (goacc_attach_host_thread_to_device): New.
9309 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
9310 (acc_get_num_devices): Don't use base_dev.
9311 (acc_set_device_type): Reimplement.
9312 (acc_get_device_type): Don't use base_dev.
9313 (acc_get_device_num): Tweak logic.
9314 (acc_set_device_num): Likewise.
9315 (acc_on_device): Use acc_get_device_type.
9316 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
9317 (goacc_lazy_initialize): Reimplement with acc_init and
9318 goacc_attach_host_thread_to_device.
9319 * oacc-int.h (goacc_thread): Add base_dev field.
9320 (base_dev): Remove extern declaration.
9321 (goacc_attach_host_thread_to_device): Add prototype.
9322 * oacc-mem.c (acc_malloc): Use current thread's device instead of
9324 (acc_free): Likewise.
9325 (acc_memcpy_to_device): Likewise.
9326 (acc_memcpy_from_device): Likewise.
9327 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
9328 goacc_lazy_initialize (throughout).
9329 (GOACC_parallel): Use tgt_offset to locate target functions.
9330 * target.c (gomp_map_vars): Don't set tgt->mem_map.
9331 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
9332 (gomp_load_plugin_for_device): Remove open_device, close_device,
9333 get_device_num, set_device_num openacc hook initialisation. Don't set
9334 openacc.target_data.
9335 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
9336 (GOMP_OFFLOAD_openacc_close_device)
9337 (GOMP_OFFLOAD_openacc_get_device_num)
9338 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
9339 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
9341 * plugin/plugin-nvptx.c (ptx_inited): Remove.
9342 (instantiated_devices, ptx_dev_lock): New.
9343 (struct ptx_image_data): New.
9344 (ptx_devices, ptx_images, ptx_image_lock): New.
9345 (fini_streams_for_device): Reorder cuStreamDestroy call.
9346 (nvptx_get_num_devices): Remove forward declaration.
9347 (nvptx_init): Change return type to bool.
9348 (nvptx_fini): Remove.
9349 (nvptx_attach_host_thread_to_device): New.
9350 (nvptx_open_device): Return struct ptx_device* instead of void*.
9351 (nvptx_close_device): Change argument type to struct ptx_device*,
9352 return type to void.
9353 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
9354 (kernel_target_data, kernel_host_table): Remove static globals.
9355 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
9356 (GOMP_OFFLOAD_init_device): Reimplement.
9357 (GOMP_OFFLOAD_fini_device): Likewise.
9358 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
9359 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
9360 (GOMP_OFFLOAD_host2dev): Use ORD argument.
9361 (GOMP_OFFLOAD_openacc_open_device)
9362 (GOMP_OFFLOAD_openacc_close_device)
9363 (GOMP_OFFLOAD_openacc_set_device_num)
9364 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
9365 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
9369 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
9371 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
9373 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
9374 * libgomp.h (struct gomp_memory_mapping): Remove.
9375 (struct target_mem_desc): Change type of mem_map from
9376 gomp_memory_mapping * to splay_tree_s *.
9377 (struct gomp_device_descr): Remove register_image_func, get_table_func.
9378 Add load_image_func, unload_image_func.
9379 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
9380 Remove offload_regions_registered.
9381 (gomp_init_tables): Remove.
9382 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9384 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
9385 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
9386 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
9387 offload_regions_registered.
9388 Initialize load_image_func, unload_image_func, mem_map.root.
9389 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
9390 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
9391 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
9392 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
9393 gomp_memory_mapping *. Use dev's lock and splay_tree.
9394 (lookup_dev): Use dev's lock.
9395 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
9396 (acc_is_present): Likewise.
9397 (acc_map_data): Likewise.
9398 (acc_unmap_data): Likewise. Use dev's lock.
9399 (present_create_copy): Likewise.
9400 (delete_copyout): Pass dev to lookup_host instead of mem_map.
9401 (update_dev_host): Likewise.
9402 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
9403 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
9404 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
9405 (GOMP_OFFLOAD_get_table): Remove
9406 (GOMP_OFFLOAD_load_image): New function.
9407 (GOMP_OFFLOAD_unload_image): New function.
9408 * target.c (register_lock): New mutex for offload image registration.
9409 (num_devices): Do not guard with PLUGIN_SUPPORT.
9410 (gomp_realloc_unlock): New static function.
9411 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
9413 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
9414 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
9415 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
9417 (gomp_unmap_vars): Likewise.
9418 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
9419 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
9420 (gomp_offload_image_to_device): New static function.
9421 (GOMP_offload_register): Add mutex lock.
9422 Call gomp_offload_image_to_device for all initialized devices.
9423 Replace gomp_realloc with gomp_realloc_unlock.
9424 (GOMP_offload_unregister): New function.
9425 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
9426 get_table_func from the plugin with calls to init_device_func and
9427 gomp_offload_image_to_device.
9428 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9430 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
9431 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
9432 (GOMP_target_data): Do not call gomp_init_tables.
9433 (GOMP_target_update): Likewise. Remove argument from gomp_update.
9434 (gomp_load_plugin_for_device): Replace register_image and get_table
9435 with load_image and unload_image in DLSYM ().
9436 (gomp_register_images_for_device): Remove function.
9437 (gomp_target_init): Do not initialize current_device.mem_map.*,
9438 current_device.offload_regions_registered.
9439 Remove call to gomp_register_images_for_device.
9440 Do not free offload_images and num_offload_images.
9442 2015-03-30 Jakub Jelinek <jakub@redhat.com>
9445 * testsuite/libgomp.fortran/pr65597.f90: New test.
9447 2015-03-27 Tom de Vries <tom@codesourcery.com>
9450 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
9451 (init, check): New function.
9452 (foo): Change return type to void.
9453 (main): Call init and check.
9455 2015-03-27 Tom de Vries <tom@codesourcery.com>
9458 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
9459 (foo): Use M for non-inner loops to scale down test-case.
9461 2015-03-25 Kai Tietz <ktietz@redhat.com>
9464 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
9465 (GOACC_data_start): Likewise.
9466 * target.c (gomp_map_vars): Likewise.
9468 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
9470 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
9473 2015-03-19 Jakub Jelinek <jakub@redhat.com>
9475 * testsuite/libgomp.c/target-10.c: New test.
9476 * testsuite/libgomp.c++/target-4.C: New test.
9478 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
9480 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
9481 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
9483 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
9485 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
9486 * configure.ac (*-*-rtems*): Assume Pthread is supported.
9487 (pthread.h): Check for this header file.
9488 * configure: Regenerate.
9490 2015-02-25 Tom de Vries <tom@codesourcery.com>
9492 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
9493 (check_reduction_op, check_reduction_macro, max, min):
9495 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
9497 (main): Use new functions.
9499 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
9501 * target.c (gomp_load_plugin_for_device): Use const char * instead of
9502 char * for variables holding dlerror return values.
9505 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
9507 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
9509 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
9510 Cesar Philippidis <cesar@codesourcery.com>
9512 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
9513 GOACC_ctaid, and GOACC_nctaid routines.
9515 2015-02-11 Jakub Jelinek <jakub@redhat.com>
9518 * testsuite/libgomp.c/atomic-18.c: New test.
9519 * testsuite/libgomp.c++/atomic-16.C: New test.
9521 2015-02-04 Jakub Jelinek <jakub@redhat.com>
9525 * testsuite/libgomp.c/pr64824.c: New test.
9526 * testsuite/libgomp.c/pr64868.c: New test.
9527 * testsuite/libgomp.c++/pr64824.C: New test.
9528 * testsuite/libgomp.c++/pr64868.C: New test.
9530 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
9533 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
9534 Link with -lpthread.
9535 * config/aix/plugin-suffix.h: Delete.
9537 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
9540 * configure.tgt (*-*-aix*): Use config_path "aix posix".
9541 (*-*-darwin*): Use config_path "bsd darwin posix".
9542 (*-*-hpux*): Use config_path "hpux posix".
9543 * target.c: Add include of plugin-suffix.h and use
9544 SONAME_SUFFIX macro.
9545 * config/aix/plugin-suffix.h: New file.
9546 * config/darwin/plugin-suffix.h: New file.
9547 * config/hpux/plugin-suffix.h: New file.
9548 * config/posix/plugin-suffix.h: New file.
9550 2015-01-23 Jakub Jelinek <jakub@redhat.com>
9553 * libgomp.c/pr64734.c: New test.
9555 2015-01-23 Tom de Vries <tom@codesourcery.com>
9558 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
9560 2015-01-23 Tom de Vries <tom@codesourcery.com>
9563 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
9566 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
9569 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
9570 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
9571 formal parameter. Update all users.
9572 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
9573 Document unused formal parameter.
9575 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
9577 * oacc-parallel.c: Don't include <alloca.h>.
9578 (GOACC_parallel): Use gomp_alloca instead of alloca.
9580 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
9582 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
9584 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
9585 James Norris <jnorris@codesourcery.com>
9586 Tom de Vries <tom@codesourcery.com>
9587 Julian Brown <julian@codesourcery.com>
9588 Cesar Philippidis <cesar@codesourcery.com>
9589 Nathan Sidwell <nathan@codesourcery.com>
9590 Tobias Burnus <burnus@net-b.de>
9592 * Makefile.am (search_path): Add $(top_srcdir)/../include.
9593 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
9594 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
9595 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
9596 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
9597 Include $(top_srcdir)/plugin/Makefrag.am.
9598 (nodist_libsubinclude_HEADERS): Add openacc.h.
9599 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
9600 openacc.f90, openacc.mod, openacc_kinds.mod.
9601 (omp_lib.mod): Generalize into...
9602 (%.mod): ... this new rule.
9603 (openacc_kinds.mod, openacc.mod): New rules.
9604 * plugin/configfrag.ac: New file.
9605 * configure.ac: Move plugin/offloading support into it. Include
9606 it. Instantiate testsuite/libgomp-test-support.pt.exp.
9607 * plugin/Makefrag.am: New file.
9608 * testsuite/Makefile.am (OFFLOAD_TARGETS)
9609 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
9611 (libgomp-test-support.exp): New rule.
9612 (all-local): Depend on it.
9613 * Makefile.in: Regenerate.
9614 * testsuite/Makefile.in: Regenerate.
9615 * config.h.in: Likewise.
9616 * configure: Likewise.
9617 * configure.tgt: Harden shell syntax.
9618 * env.c: Include "oacc-int.h".
9619 (parse_acc_device_type): New function.
9620 (gomp_debug_var, goacc_device_type, goacc_device_num): New
9622 (initialize_env): Initialize those. Call
9623 goacc_runtime_initialize.
9624 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9625 (gomp_fatal): Call gomp_vfatal.
9626 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9627 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9628 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9629 (splay_tree_node, splay_tree, splay_tree_key)
9630 (struct target_mem_desc, struct splay_tree_key_s)
9631 (struct gomp_memory_mapping, struct acc_dispatch_t)
9632 (struct gomp_device_descr, gomp_acc_insert_pointer)
9633 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9634 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9635 (gomp_free_memmap, gomp_fini_device): New declarations.
9636 (gomp_vdebug, gomp_debug): New macros.
9637 Include "splay-tree.h".
9638 * libgomp.map (OACC_2.0): New symbol version. Use for
9639 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9640 acc_set_device_type_h_, acc_get_device_type,
9641 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9642 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9643 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9644 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9645 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9646 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9647 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9648 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9649 acc_copyin_array_h_, acc_present_or_copyin,
9650 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9651 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9652 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9653 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9654 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9655 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9656 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9657 acc_update_device, acc_update_device_32_h_,
9658 acc_update_device_64_h_, acc_update_device_array_h_,
9659 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9660 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9661 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9662 acc_is_present_64_h_, acc_is_present_array_h_,
9663 acc_memcpy_to_device, acc_memcpy_from_device,
9664 acc_get_current_cuda_device, acc_get_current_cuda_context,
9665 acc_get_cuda_stream, acc_set_cuda_stream.
9666 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
9667 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9668 GOACC_update, GOACC_wait, GOACC_get_thread_num,
9669 GOACC_get_num_threads.
9670 (GOMP_PLUGIN_1.0): New symbol version. Use for
9671 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9672 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9673 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9674 GOMP_PLUGIN_acc_thread.
9675 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9676 environment variable.
9677 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9678 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9679 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9680 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9681 (splay_tree_remove): New declarations.
9682 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9683 (splay_tree_remove, splay_tree_lookup): Move into...
9684 * splay-tree.c: ... this new file.
9685 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9686 (splay_tree_node, splay_tree, splay_tree_key)
9687 (struct target_mem_desc, struct splay_tree_key_s)
9688 (struct gomp_device_descr): Don't declare.
9689 (num_devices_openmp): New variable.
9690 (gomp_get_num_devices ): Use it.
9691 (gomp_init_targets_once): New function.
9692 (gomp_get_num_devices ): Use it.
9693 (get_kind, gomp_copy_from_async, gomp_free_memmap)
9694 (gomp_fini_device, gomp_register_image_for_device): New functions.
9695 (gomp_map_vars): Add devaddrs parameter.
9696 (gomp_update): Add mm parameter.
9697 (gomp_init_device): Move most of it into...
9698 (gomp_init_tables): ... this new function.
9699 (gomp_register_images_for_device): Remove function.
9700 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9701 Make them hidden instead of static.
9702 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9703 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9704 (GOMP_target_end_data, GOMP_target_update)
9705 (gomp_load_plugin_for_device, gomp_target_init): Update for
9707 * oacc-async.c: New file.
9708 * oacc-cuda.c: Likewise.
9709 * oacc-host.c: Likewise.
9710 * oacc-init.c: Likewise.
9711 * oacc-int.h: Likewise.
9712 * oacc-mem.c: Likewise.
9713 * oacc-parallel.c: Likewise.
9714 * oacc-plugin.c: Likewise.
9715 * oacc-plugin.h: Likewise.
9716 * oacc-ptx.h: Likewise.
9717 * openacc.f90: Likewise.
9718 * openacc.h: Likewise.
9719 * openacc_lib.h: Likewise.
9720 * plugin/plugin-host.c: Likewise.
9721 * plugin/plugin-nvptx.c: Likewise.
9722 * libgomp-plugin.c: Likewise.
9723 * libgomp-plugin.h: Likewise.
9724 * libgomp_target.h: Remove file after merging content into the
9725 former file. Update all users.
9726 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9727 (offload_targets_s, offload_targets_s_openacc): New variables.
9728 (check_effective_target_openacc_nvidia_accel_present)
9729 (check_effective_target_openacc_nvidia_accel_selected): New
9731 (libgomp_init): Update for OpenACC changes.
9732 * testsuite/libgomp-test-support.exp.in: New file.
9733 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9734 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9735 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9736 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9737 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9738 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9739 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9740 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9741 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9742 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9743 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9744 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9745 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9746 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9747 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9748 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9749 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9750 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9751 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9752 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9753 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9754 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9755 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9756 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9757 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9758 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9759 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9760 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9761 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9762 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9763 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9764 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9765 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9766 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9767 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9768 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9769 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9770 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9771 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9772 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9773 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9774 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9775 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9776 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9777 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9778 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9779 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9780 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9781 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9782 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9783 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9784 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9785 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9786 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9787 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9788 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9789 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9790 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9791 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9792 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9793 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9794 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9795 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9796 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9797 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9798 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9799 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9800 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9801 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9802 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9803 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9804 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9805 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9806 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9807 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9808 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9809 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9810 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9811 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9812 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9813 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9814 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9815 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9816 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9817 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9818 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9819 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9820 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9821 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9822 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9823 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9824 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9825 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9826 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9827 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9828 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9829 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9830 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9831 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9832 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9833 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9834 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9835 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9836 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9837 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9838 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9839 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9840 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9841 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9842 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9843 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9844 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9845 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9846 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9847 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9848 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9849 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9850 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9851 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9852 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9853 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9854 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9855 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9856 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9857 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9858 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9859 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9860 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9861 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9862 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9863 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9864 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9865 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9866 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9867 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9868 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9869 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9870 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9871 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9872 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9874 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9875 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9876 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9877 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9878 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9879 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9880 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9881 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9882 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9883 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9884 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9885 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9886 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9887 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9888 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9889 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9890 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9891 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9892 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9893 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9894 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9895 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9896 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9897 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9898 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9899 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9900 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9901 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9902 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9903 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9904 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9905 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9906 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9907 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9908 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9909 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9910 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9911 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9912 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9913 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9914 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9915 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9916 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9917 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9918 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9919 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9920 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9921 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9922 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9923 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9924 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9925 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9926 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9927 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9928 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9929 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9930 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9931 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9932 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9933 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9935 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
9936 Julian Brown <julian@codesourcery.com>
9937 David Malcolm <dmalcolm@redhat.com>
9939 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9940 to "GNU Offloading and Multi Processing Runtime Library". Change
9942 * configure: Regenerate.
9943 * libgomp.texi: Update.
9945 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
9947 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9949 * configure: Regenerate.
9951 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9952 "intelmic" in $offload_targets.
9954 2015-01-05 Jakub Jelinek <jakub@redhat.com>
9956 Update copyright years.
9958 * libgomp.texi: Bump @copying's copyright year.
9960 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9962 * testsuite/lib/libgomp.exp: Load target-utils.exp.
9963 Move load of target-supports.exp earlier.
9965 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
9967 * testsuite/libgomp.c/target-9.c: New test.
9969 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
9971 * config.h.in: Regenerate.
9972 * configure: Regenerate.
9973 * configure.ac: Add GCC_CHECK_EMUTLS.
9974 * libgomp.h: Add check for USE_EMUTLS: this case
9975 is equal to HAVE_TLS.
9978 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
9980 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9982 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
9983 Ilya Verbin <ilya.verbin@intel.com>
9985 * testsuite/libgomp.c/target-critical-1.c: New test.
9987 2014-11-26 Jakub Jelinek <jakub@redhat.com>
9989 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
9990 to dg-options unless expensive testing is on.
9991 (TESTITERS): Define to N if not defined.
9992 (main): Use TESTITERS instead of N.
9993 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9994 dg-additional-options depending on whether expensive testing is on.
9995 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9996 Decrease N to 100000 and CHUNKSZ to 10000.
9998 2014-11-24 Jakub Jelinek <jakub@redhat.com>
10001 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
10002 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
10004 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
10006 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
10008 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
10011 * configure: Regenerated.
10013 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
10015 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
10016 vect_simd_clones effective target.
10017 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10019 2014-11-14 Jakub Jelinek <jakub@redhat.com>
10021 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
10022 of 32 as block_size.
10023 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
10024 instead of 32 as block_size.
10026 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
10027 Ilya Verbin <ilya.verbin@intel.com>
10029 * Makefile.in: Regenerate.
10030 * configure: Regenerate.
10031 * configure.ac: Set up offload_additional_options,
10032 offload_additional_lib_paths and offload_targets.
10033 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
10034 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
10035 * testsuite/Makefile.in: Regenerate.
10036 * testsuite/lib/libgomp.exp (libgomp_init): Append
10037 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
10038 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
10039 build directory to LD_LIBRARY_PATH for intelmic offload targets.
10041 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
10042 Ilya Verbin <ilya.verbin@intel.com>
10043 Kirill Yukhin <kirill.yukhin@intel.com>
10044 Ilya Tocar <ilya.tocar@intel.com>
10046 * testsuite/lib/libgomp.exp
10047 (check_effective_target_offload_device): New.
10048 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
10049 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
10050 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
10051 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
10052 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
10053 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
10054 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
10055 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
10056 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
10057 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
10058 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
10059 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
10060 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
10061 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
10062 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
10063 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
10064 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
10065 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
10066 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
10067 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
10068 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
10069 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
10070 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
10071 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
10072 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
10073 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
10074 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
10075 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
10076 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
10077 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
10078 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
10079 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
10080 * testsuite/libgomp.c/target-7.c: Fix test.
10081 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
10082 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
10083 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
10084 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
10085 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
10086 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
10087 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
10088 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
10089 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
10090 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
10091 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
10092 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
10093 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
10094 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
10095 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
10096 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
10097 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
10098 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
10099 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10100 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
10101 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
10102 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
10103 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
10104 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
10105 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
10106 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
10107 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
10108 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
10109 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
10110 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
10111 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
10113 2014-11-13 Jakub Jelinek <jakub@redhat.com>
10114 Ilya Verbin <ilya.verbin@intel.com>
10115 Thomas Schwinge <thomas@codesourcery.com>
10116 Andrey Turetskiy <andrey.turetskiy@intel.com>
10118 * libgomp.map (GOMP_4.0.1): New symbol version.
10119 Add GOMP_offload_register.
10120 * libgomp_target.h: New file.
10121 * splay-tree.h: New file.
10122 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
10123 (gomp_target_init): New forward declaration.
10124 (gomp_is_initialized): New static variable.
10125 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
10126 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
10128 (offload_images, num_offload_images, devices, num_devices): New static
10130 (splay_compare): New static function.
10131 (struct gomp_device_descr): New structure.
10132 (gomp_get_num_devices): Call gomp_target_init.
10133 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
10134 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
10135 (GOMP_offload_register): New function.
10136 (GOMP_target): Arrange for host callback to be performed in a separate
10137 initial thread and contention group, inheriting ICVs from
10138 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
10139 Add device initialization and lookup for target function in splay tree.
10140 (GOMP_target_data): Add device initialization and call gomp_map_vars.
10141 (GOMP_target_end_data): Call gomp_unmap_vars.
10142 (GOMP_target_update): Add device initialization and call gomp_update.
10143 (gomp_load_plugin_for_device, gomp_register_images_for_device)
10144 (gomp_target_init): New static functions.
10146 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
10147 Thomas Schwinge <thomas@codesourcery.com>
10148 Ilya Verbin <ilya.verbin@intel.com>
10149 Andrey Turetskiy <andrey.turetskiy@intel.com>
10151 * config.h.in: Regenerate.
10152 * configure: Regenerate.
10153 * configure.ac: Check for libdl, required for plugin support.
10154 (PLUGIN_SUPPORT): Define if plugins are supported.
10155 (enable_offload_targets): Support Intel MIC targets.
10156 (OFFLOAD_TARGETS): List of target names suitable for offloading.
10158 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10161 * configure: Regenerate.
10163 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10165 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
10167 2014-10-06 Marek Polacek <polacek@redhat.com>
10169 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
10170 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
10171 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
10172 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10174 2014-10-06 Marek Polacek <polacek@redhat.com>
10176 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
10177 * testsuite/libgomp.c/nqueens-1.c: Likewise.
10178 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10179 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10180 * testsuite/libgomp.c/pr36802-2.c: Likewise.
10181 * testsuite/libgomp.c/pr36802-3.c: Likewise.
10182 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
10183 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10184 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
10185 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
10186 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
10187 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
10188 * testsuite/libgomp.c/omp-single-1.c: Likewise.
10189 * testsuite/libgomp.c/omp-single-2.c: Likewise.
10190 * testsuite/libgomp.c/omp_matvec.c: Likewise.
10191 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
10192 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
10193 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
10196 2014-10-03 Jakub Jelinek <jakub@redhat.com>
10199 * testsuite/libgomp.c/pr61200.c: New test.
10201 2014-09-18 Jakub Jelinek <jakub@redhat.com>
10204 * testsuite/libgomp.c++/pr63248.C: New test.
10206 2014-08-04 Jakub Jelinek <jakub@redhat.com>
10208 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
10209 is not zero, but taskgroup->children is NULL and there are
10210 any task->children, schedule those instead of waiting.
10211 * testsuite/libgomp.c/depend-6.c: New test.
10212 * testsuite/libgomp.c/depend-7.c: New test.
10213 * testsuite/libgomp.c/depend-8.c: New test.
10214 * testsuite/libgomp.c/depend-9.c: New test.
10215 * testsuite/libgomp.c/depend-10.c: New test.
10217 2014-08-01 Jakub Jelinek <jakub@redhat.com>
10219 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
10220 (struct gomp_taskwait): New type.
10221 (struct gomp_task): Add taskwait and parent_depends_on, remove
10222 in_taskwait and taskwait_sem fields.
10223 (gomp_finish_task): Don't destroy taskwait_sem.
10224 * task.c (gomp_init_task): Don't init in_taskwait, instead init
10225 taskwait and parent_depends_on.
10226 (GOMP_task): For if (0) tasks with depend clause that depend on
10227 earlier tasks don't defer them, instead call
10228 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
10229 Initialize redundant_out field, for redundant out entries just
10230 move them at the end of linked list instead of removing them
10231 completely, and set redundant_out flag instead of redundant.
10232 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
10234 (gomp_task_run_post_handle_dependers): If parent is in
10235 gomp_task_maybe_wait_for_dependencies and newly runnable task
10236 is not parent_depends_on, queue it in parent->children linked
10237 list after all runnable tasks with parent_depends_on set.
10238 Adjust for addition of taskwait indirection.
10239 (gomp_task_run_post_remove_parent): If parent is in
10240 gomp_task_maybe_wait_for_dependencies and task to be removed
10241 is parent_depends_on, decrement n_depend and if needed awake
10242 parent. Adjust for addition of taskwait indirection.
10243 (GOMP_taskwait): Adjust for addition of taskwait indirection.
10244 (gomp_task_maybe_wait_for_dependencies): New function.
10245 * testsuite/libgomp.c/depend-5.c: New test.
10247 2014-07-13 Tobias Burnus <burnus@net-b.de>
10249 * testsuite/libgomp.fortran/pr34020.f90: Make compile
10250 with TS 18508/Fortran 2015.
10252 2014-07-06 Marek Polacek <polacek@redhat.com>
10255 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
10257 2014-07-03 Jakub Jelinek <jakub@redhat.com>
10259 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
10260 matches regex $lang_source_re, add $lang_include_flags to options.
10261 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
10262 * testsuite/libgomp.c++/c++.exp: Likewise.
10263 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
10264 and lang_include_flags instead of adding -fintrinsic-modules-path= to
10266 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
10268 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
10270 * testsuite/libgomp.fortran/fortran.exp: Explain
10271 gfortran-dg-runtest usage.
10273 2014-06-25 Jakub Jelinek <jakub@redhat.com>
10275 * testsuite/libgomp.fortran/simd5.f90: New test.
10276 * testsuite/libgomp.fortran/simd6.f90: New test.
10277 * testsuite/libgomp.fortran/simd7.f90: New test.
10279 2014-06-24 Jakub Jelinek <jakub@redhat.com>
10281 * testsuite/libgomp.c/for-2.c: Define SC to static for
10282 #pragma omp for simd testing.
10283 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
10284 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
10286 * testsuite/libgomp.c/simd-14.c: New test.
10287 * testsuite/libgomp.c/simd-15.c: New test.
10288 * testsuite/libgomp.c/simd-16.c: New test.
10289 * testsuite/libgomp.c/simd-17.c: New test.
10290 * testsuite/libgomp.c++/for-10.C: Define SC to static for
10291 #pragma omp for simd testing.
10292 * testsuite/libgomp.c++/simd10.C: New test.
10293 * testsuite/libgomp.c++/simd11.C: New test.
10294 * testsuite/libgomp.c++/simd12.C: New test.
10295 * testsuite/libgomp.c++/simd13.C: New test.
10297 * testsuite/libgomp.fortran/aligned1.f03: New test.
10298 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
10299 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
10300 tasks with !$omp parallel !$omp single.
10301 * testsuite/libgomp.fortran/target8.f90: New test.
10302 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
10303 not to use trim in the combiner, instead call elemental function.
10304 (fn): New elemental function.
10305 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
10307 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
10309 * testsuite/libgomp.fortran/udr12.f90: New test.
10310 * testsuite/libgomp.fortran/udr13.f90: New test.
10311 * testsuite/libgomp.fortran/udr14.f90: New test.
10312 * testsuite/libgomp.fortran/udr15.f90: New test.
10314 2014-06-18 Jakub Jelinek <jakub@redhat.com>
10316 * omp_lib.f90.in (openmp_version): Set to 201307.
10317 * omp_lib.h.in (openmp_version): Likewise.
10318 * testsuite/libgomp.c/target-8.c: New test.
10319 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
10320 and inbranch clauses.
10321 * testsuite/libgomp.fortran/depend-3.f90: New test.
10322 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
10324 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10325 * testsuite/libgomp.fortran/target1.f90: New test.
10326 * testsuite/libgomp.fortran/target2.f90: New test.
10327 * testsuite/libgomp.fortran/target3.f90: New test.
10328 * testsuite/libgomp.fortran/target4.f90: New test.
10329 * testsuite/libgomp.fortran/target5.f90: New test.
10330 * testsuite/libgomp.fortran/target6.f90: New test.
10331 * testsuite/libgomp.fortran/target7.f90: New test.
10333 2014-06-10 Jakub Jelinek <jakub@redhat.com>
10336 * testsuite/libgomp.fortran/allocatable9.f90: New test.
10337 * testsuite/libgomp.fortran/allocatable10.f90: New test.
10338 * testsuite/libgomp.fortran/allocatable11.f90: New test.
10339 * testsuite/libgomp.fortran/allocatable12.f90: New test.
10340 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
10341 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
10342 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
10343 * testsuite/libgomp.fortran/associate1.f90: New test.
10344 * testsuite/libgomp.fortran/associate2.f90: New test.
10345 * testsuite/libgomp.fortran/procptr1.f90: New test.
10347 2014-06-06 Jakub Jelinek <jakub@redhat.com>
10349 * testsuite/libgomp.fortran/simd1.f90: New test.
10350 * testsuite/libgomp.fortran/udr1.f90: New test.
10351 * testsuite/libgomp.fortran/udr2.f90: New test.
10352 * testsuite/libgomp.fortran/udr3.f90: New test.
10353 * testsuite/libgomp.fortran/udr4.f90: New test.
10354 * testsuite/libgomp.fortran/udr5.f90: New test.
10355 * testsuite/libgomp.fortran/udr6.f90: New test.
10356 * testsuite/libgomp.fortran/udr7.f90: New test.
10357 * testsuite/libgomp.fortran/udr8.f90: New test.
10358 * testsuite/libgomp.fortran/udr9.f90: New test.
10359 * testsuite/libgomp.fortran/udr10.f90: New test.
10360 * testsuite/libgomp.fortran/udr11.f90: New test.
10362 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
10364 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
10365 vect_simd_clones effective target.
10366 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
10368 2014-05-21 Jakub Jelinek <jakub@redhat.com>
10370 PR middle-end/61252
10371 * testsuite/libgomp.c++/simd-9.C: New test.
10373 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
10375 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
10376 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
10377 texts according to their @menu entry positions.
10379 2014-05-11 Jakub Jelinek <jakub@redhat.com>
10381 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
10382 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
10383 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
10384 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
10385 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
10386 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
10387 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
10388 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
10389 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
10390 * testsuite/libgomp.fortran/depend-1.f90: New test.
10391 * testsuite/libgomp.fortran/depend-2.f90: New test.
10392 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
10393 * testsuite/libgomp.fortran/simd1.f90: New test.
10394 * testsuite/libgomp.fortran/simd2.f90: New test.
10395 * testsuite/libgomp.fortran/simd3.f90: New test.
10396 * testsuite/libgomp.fortran/simd4.f90: New test.
10397 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
10399 2014-05-02 Jakub Jelinek <jakub@redhat.com>
10401 * testsuite/libgomp.c/simd-10.c: New test.
10402 * testsuite/libgomp.c/simd-11.c: New test.
10403 * testsuite/libgomp.c/simd-12.c: New test.
10404 * testsuite/libgomp.c/simd-13.c: New test.
10406 2014-04-24 Jakub Jelinek <jakub@redhat.com>
10408 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
10409 atomic type clauses in any order and optional comma in between.
10410 * testsuite/libgomp.c++/atomic-15.C: Likewise.
10411 * testsuite/libgomp.c/atomic-17.c: Likewise.
10413 * testsuite/libgomp.c/simd-7.c: New test.
10414 * testsuite/libgomp.c/simd-8.c: New test.
10415 * testsuite/libgomp.c/simd-9.c: New test.
10416 * testsuite/libgomp.c/loop-16.c: New test.
10418 2014-04-02 Richard Henderson <rth@redhat.com>
10420 * config/linux/futex.h (futex_wait): Get error value from errno.
10421 (futex_wake): Likewise.
10423 2014-03-25 Jakub Jelinek <jakub@redhat.com>
10426 * testsuite/libgomp.c++/udr-11.C: New test.
10427 * testsuite/libgomp.c++/udr-12.C: New test.
10428 * testsuite/libgomp.c++/udr-13.C: New test.
10429 * testsuite/libgomp.c++/udr-14.C: New test.
10430 * testsuite/libgomp.c++/udr-15.C: New test.
10431 * testsuite/libgomp.c++/udr-16.C: New test.
10432 * testsuite/libgomp.c++/udr-17.C: New test.
10433 * testsuite/libgomp.c++/udr-18.C: New test.
10434 * testsuite/libgomp.c++/udr-19.C: New test.
10436 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10438 Update copyright years
10440 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10442 * hashtab.h: Use the standard form for the copyright notice.
10444 2014-01-02 Tobias Burnus <burnus@net-b.de>
10446 * libgomp.texi: Bump @copying's copyright year.
10448 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
10450 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
10451 alloca () with __builtin_alloca ().
10452 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
10453 * testsuite/libgomp.c/lock-3.c: Likewise.
10454 * testsuite/libgomp.c/pr48591.c: Likewise.
10456 2013-12-17 Jakub Jelinek <jakub@redhat.com>
10459 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
10462 2013-12-16 Jakub Jelinek <jakub@redhat.com>
10465 * testsuite/libgomp.c/pr58756.c: New test.
10467 2013-12-12 Jakub Jelinek <jakub@redhat.com>
10470 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
10473 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
10475 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
10477 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
10478 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
10479 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
10480 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
10483 * libgomp_g.h: Include <stddef.h> for size_t.
10485 * libgomp.spec.in: Update comment about libgomp's dependencies.
10486 * configure.ac: Likewise.
10487 * configure: Regenerate.
10489 2013-10-16 Tobias Burnus <burnus@net-b.de>
10491 * libgomp.texi: (Runtime Library Routines): Update references for
10492 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
10493 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
10494 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
10495 (Environment Variables): Update references for OpenMP 4.0. Add
10496 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
10497 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
10500 2013-10-14 Jakub Jelinek <jakub@redhat.com>
10502 * env.c (parse_bind_var): Initialize value to avoid
10503 (false positive) warning.
10505 2013-10-12 Jakub Jelinek <jakub@redhat.com>
10508 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
10510 (gomp_init_num_threads): Move i variable declaration into
10511 #ifdef CPU_ALLOC_SIZE block.
10512 * config/linux/affinity.c (gomp_affinity_init_level): Test
10513 gomp_places_list_len == 0 rather than gomp_places_list == 0
10514 when checking for topology reading error.
10515 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
10516 * env.c (parse_affinity): Add ignore argument, if true, don't populate
10517 gomp_places_list, only parse env var and always return false.
10518 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
10519 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
10520 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
10521 and either of these variables were parsed correctly into a places
10524 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
10525 Jakub Jelinek <jakub@redhat.com>
10527 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
10528 of 5 loopfn matches.
10529 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10530 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10531 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10532 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10533 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10534 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10535 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10536 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10538 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
10540 * Makefile.am (omp_lib.mod): Streamline rule.
10541 * Makefile.in: Regenerate.
10543 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
10546 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
10547 * testsuite/libgomp.fortran/lib1.f90: Likewise.
10548 * testsuite/libgomp.fortran/lib2.f: Likewise.
10549 * testsuite/libgomp.fortran/lib3.f: Likewise.
10551 * configure.ac: Typo fix.
10552 * configure: Regenerate.
10554 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
10555 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10557 * omp.h.in: Don't touch the user's namespace.
10559 2013-10-11 Jakub Jelinek <jakub@redhat.com>
10560 Tobias Burnus <burnus@net-b.de>
10561 Richard Henderson <rth@redhat.com>
10563 * target.c: New file.
10564 * Makefile.am (libgomp_la_SOURCES): Add target.c.
10565 * Makefile.in: Regenerated.
10566 * libgomp_g.h (GOMP_task): Add depend argument.
10567 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10568 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10569 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
10570 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10571 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10572 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
10573 GOMP_taskgroup_start, GOMP_taskgroup_end,
10574 GOMP_parallel_sections): New prototypes.
10575 * fortran.c (omp_is_initial_device): Add ialias_redirect.
10576 (omp_is_initial_device_): New function.
10577 (ULP, STR1, STR2, ialias_redirect): Removed.
10578 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
10579 omp_set_default_device_8_, omp_get_default_device_,
10580 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
10582 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10583 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10584 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
10586 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
10587 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
10588 omp_set_default_device, omp_set_default_device_,
10589 omp_set_default_device_8_, omp_get_default_device,
10590 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
10591 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
10592 omp_get_team_num_): Export @@OMP_4.0.
10593 * team.c (struct gomp_thread_start_data): Add place field.
10594 (gomp_thread_start): Clear thr->thread_pool and
10595 thr->task before returning. Use gomp_team_barrier_wait_final
10596 instead of gomp_team_barrier_wait. Initialize thr->place.
10597 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
10598 team_cancelled and task_queued_count fields.
10599 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
10600 before calling pthread_exit.
10601 (gomp_free_thread): No longer static. Use
10602 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
10603 (gomp_team_start): Add flags argument. Set
10604 thr->thread_pool->threads_busy to nthreads immediately after creating
10605 new pool. Use gomp_managed_threads_lock instead of
10606 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
10607 (gomp_team_end): Use gomp_managed_threads_lock instead of
10608 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
10609 of gomp_team_barrier_wait. If team->team_cancelled, call
10610 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
10611 rather than thr->ts.work_share.
10612 (initialize_team): Don't call gomp_sem_init here.
10613 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
10615 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
10616 * env.c (gomp_global_icv): Add default_device_var, target_data and
10617 bind_var initializers.
10618 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10619 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10620 gomp_places_list_len): New variables.
10621 (parse_bind_var, parse_one_place, parse_places_var): New functions.
10622 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10624 (gomp_cancel_var): New global variable.
10625 (parse_int): New function.
10626 (handle_omp_display_env): New function.
10627 (initialize_env): Use it. Initialize default_device_var.
10628 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
10629 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
10630 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
10631 been successfully parsed (and call gomp_init_affinity in that case).
10632 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10633 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10634 omp_get_team_num, omp_is_initial_device): New functions.
10635 * libgomp.h: Include stdlib.h.
10636 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10638 (struct target_mem_desc): Forward declare.
10639 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10640 and thread_limit_var fields.
10641 (gomp_get_num_devices): New prototype.
10642 (gomp_cancel_var): New extern decl.
10643 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10644 team_cancelled and task_queued_count fields. Add comments about
10645 task_{,queued_,running_}count.
10646 (gomp_cancel_kind): New enum.
10647 (gomp_work_share_end_cancel): New prototype.
10648 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10649 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10651 (struct gomp_taskgroup): New type.
10652 (struct gomp_task_depend_entry,
10653 struct gomp_dependers_vec): New types.
10654 (gomp_finish_task): Free depend_hash if non-NULL.
10655 (struct gomp_team_state): Add place_partition_off
10656 and place_partition_len fields.
10657 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10658 gomp_places_list_len): New extern decls.
10659 (struct gomp_thread): Add place field.
10660 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10661 (gomp_init_thread_affinity): Add place argument.
10662 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10663 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10664 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10665 gomp_affinity_init_level, gomp_affinity_print_place): New
10667 (gomp_team_start): Add flags argument.
10668 (gomp_thread_limit_var, gomp_remaining_threads_count,
10669 gomp_remaining_threads_lock): Remove.
10670 (gomp_managed_threads_lock): New variable.
10671 (struct gomp_thread_pool): Add threads_busy field.
10672 (gomp_free_thread): New prototype.
10673 * task.c: Include hashtab.h.
10674 (hash_entry_type): New typedef.
10675 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10676 (gomp_init_task): Clear dependers, depend_hash, depend_count,
10677 copy_ctors_done and taskgroup fields.
10678 (GOMP_task): Add depend argument, handle depend clauses. If
10679 gomp_team_barrier_cancelled or if it's taskgroup has been
10680 cancelled, don't queue or start new tasks. Set copy_ctors_done
10681 field if needed. Initialize taskgroup field. If copy_ctors_done
10682 and already cancelled, don't discard the task. If taskgroup is
10683 non-NULL, enqueue the task into taskgroup queue. Increment
10684 num_children field in taskgroup. Increment task_queued_count.
10685 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10686 gomp_task_run_post_remove_taskgroup): New inline functions.
10687 (gomp_task_run_post_handle_depend_hash,
10688 gomp_task_run_post_handle_dependers,
10689 gomp_task_run_post_handle_depend): New functions.
10690 (GOMP_taskwait): Use them. If more than one new tasks
10691 have been queued, wake other threads if needed.
10692 (gomp_barrier_handle_tasks): Likewise. If
10693 gomp_team_barrier_cancelled, don't start any new tasks, just free
10695 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10697 (omp_proc_bind_kind, omp_proc_bind_false,
10698 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10699 omp_proc_bind_spread): New params.
10700 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10701 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10702 omp_get_team_num, omp_is_initial_device): New interfaces.
10703 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10704 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10705 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10706 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10707 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10708 useless use omp_lib_kinds.
10709 * omp.h.in (omp_proc_bind_t): New typedef.
10710 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10711 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10712 omp_get_team_num, omp_is_initial_device): New prototypes.
10713 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10714 through to gomp_team_start.
10715 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10716 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10717 Adjust gomp_parallel_loop_start callers.
10718 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10719 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10720 GOMP_loop_end_cancel): New functions.
10721 (GOMP_parallel_end): Add ialias_redirect.
10722 * hashtab.h: New file.
10723 * libgomp.texi (Environment Variables): Minor cleanup,
10724 update section refs to OpenMP 4.0rc2.
10725 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10726 environment variables.
10727 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10728 team->work_shares_to_free to thr->ts.work_share before calling
10730 (gomp_work_share_end_cancel): New function.
10731 * config/linux/proc.c: Include errno.h.
10732 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10733 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10734 sizeof (cpu_set_t) to determine number of iterations. Fix up check
10735 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
10736 gomp_cpuset_size is sizeof (cpu_set_t).
10737 (gomp_init_num_threads): Initialize gomp_cpuset_size,
10738 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10739 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10740 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
10741 contain any logical CPUs.
10742 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10743 is NULL. Use gomp_cpusetp instead of &cpuset and pass
10744 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10745 pthread_getaffinity_np. Check gomp_places_list instead of
10746 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
10747 * config/linux/bar.c (gomp_barrier_wait_end,
10748 gomp_barrier_wait_last): Use BAR_* defines.
10749 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
10750 from state where needed. Set work_share_cancelled to 0 on last
10752 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10753 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10755 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10756 Add cpusetsize argument.
10757 (gomp_cpuset_size, gomp_cpusetp): Declare.
10758 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10759 (affinity_counter): Remove.
10760 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10761 if CPU_ALLOC_SIZE isn't defined.
10762 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10763 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10764 bind current thread to the first place.
10765 (gomp_init_thread_affinity): Rewritten. Add place argument, just
10766 pthread_setaffinity_np to gomp_places_list[place].
10767 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10768 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10769 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10770 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10771 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10772 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10773 (gomp_barrier_t): Add awaited_final field.
10774 (gomp_barrier_init): Initialize awaited_final field.
10775 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10776 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10778 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
10780 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10781 gomp_team_barrier_cancelled): New inline functions.
10782 (gomp_barrier_last_thread,
10783 gomp_team_barrier_set_task_pending,
10784 gomp_team_barrier_clear_task_pending,
10785 gomp_team_barrier_set_waiting_for_tasks,
10786 gomp_team_barrier_waiting_for_tasks,
10787 gomp_team_barrier_done): Use BAR_* defines.
10788 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10789 (gomp_barrier_wait_end): Use BAR_* defines.
10790 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10791 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10793 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10794 gomp_team_barrier_cancel): New functions.
10795 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10797 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10798 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10799 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10800 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10801 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10802 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10803 (gomp_barrier_t): Add cancellable field.
10804 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10805 gomp_team_barrier_cancel): New prototypes.
10806 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10807 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10808 gomp_team_barrier_cancelled): New inline functions.
10809 (gomp_barrier_wait_start, gomp_barrier_last_thread,
10810 gomp_team_barrier_set_task_pending,
10811 gomp_team_barrier_clear_task_pending,
10812 gomp_team_barrier_set_waiting_for_tasks,
10813 gomp_team_barrier_waiting_for_tasks,
10814 gomp_team_barrier_done): Use BAR_* defines.
10815 * barrier.c (GOMP_barrier_cancel): New function.
10816 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10817 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10818 omp_proc_bind_spread): New params.
10819 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10820 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10821 omp_get_team_num, omp_is_initial_device): New externals.
10822 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10824 (gomp_resolve_num_threads): Adjust for thread_limit now being in
10825 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10826 infinity. If not nested, just return minimum of max_num_threads
10827 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10828 to the returned value. Otherwise, don't update atomically
10829 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10830 (GOMP_parallel_end): Adjust for thread_limit now being in
10831 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10832 infinity. Adjust threads_busy in the pool rather than
10833 gomp_remaining_threads_count. Remember team->nthreads and call
10834 gomp_team_end before adjusting threads_busy, if not nested
10835 afterwards, just set it to 1 non-atomically. Add ialias.
10836 (GOMP_parallel_start): Adjust gomp_team_start caller.
10837 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10838 * testsuite/libgomp.c/affinity-1.c: New test.
10839 * testsuite/libgomp.c/atomic-15.c: New test.
10840 * testsuite/libgomp.c/atomic-16.c: New test.
10841 * testsuite/libgomp.c/atomic-17.c: New test.
10842 * testsuite/libgomp.c/cancel-for-1.c: New test.
10843 * testsuite/libgomp.c/cancel-for-2.c: New test.
10844 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10845 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10846 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10847 * testsuite/libgomp.c/cancel-sections-1.c: New test.
10848 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10849 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10850 * testsuite/libgomp.c/depend-1.c: New test.
10851 * testsuite/libgomp.c/depend-2.c: New test.
10852 * testsuite/libgomp.c/depend-3.c: New test.
10853 * testsuite/libgomp.c/depend-4.c: New test.
10854 * testsuite/libgomp.c/for-1.c: New test.
10855 * testsuite/libgomp.c/for-1.h: New file.
10856 * testsuite/libgomp.c/for-2.c: New test.
10857 * testsuite/libgomp.c/for-2.h: New file.
10858 * testsuite/libgomp.c/for-3.c: New test.
10859 * testsuite/libgomp.c/pr58392.c: New test.
10860 * testsuite/libgomp.c/simd-1.c: New test.
10861 * testsuite/libgomp.c/simd-2.c: New test.
10862 * testsuite/libgomp.c/simd-3.c: New test.
10863 * testsuite/libgomp.c/simd-4.c: New test.
10864 * testsuite/libgomp.c/simd-5.c: New test.
10865 * testsuite/libgomp.c/simd-6.c: New test.
10866 * testsuite/libgomp.c/target-1.c: New test.
10867 * testsuite/libgomp.c/target-2.c: New test.
10868 * testsuite/libgomp.c/target-3.c: New test.
10869 * testsuite/libgomp.c/target-4.c: New test.
10870 * testsuite/libgomp.c/target-5.c: New test.
10871 * testsuite/libgomp.c/target-6.c: New test.
10872 * testsuite/libgomp.c/target-7.c: New test.
10873 * testsuite/libgomp.c/taskgroup-1.c: New test.
10874 * testsuite/libgomp.c/thread-limit-1.c: New test.
10875 * testsuite/libgomp.c/thread-limit-2.c: New test.
10876 * testsuite/libgomp.c/thread-limit-3.c: New test.
10877 * testsuite/libgomp.c/udr-1.c: New test.
10878 * testsuite/libgomp.c/udr-2.c: New test.
10879 * testsuite/libgomp.c/udr-3.c: New test.
10880 * testsuite/libgomp.c++/affinity-1.C: New test.
10881 * testsuite/libgomp.c++/atomic-10.C: New test.
10882 * testsuite/libgomp.c++/atomic-11.C: New test.
10883 * testsuite/libgomp.c++/atomic-12.C: New test.
10884 * testsuite/libgomp.c++/atomic-13.C: New test.
10885 * testsuite/libgomp.c++/atomic-14.C: New test.
10886 * testsuite/libgomp.c++/atomic-15.C: New test.
10887 * testsuite/libgomp.c++/cancel-for-1.C: New test.
10888 * testsuite/libgomp.c++/cancel-for-2.C: New test.
10889 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10890 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10891 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10892 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10893 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10894 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10895 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10896 * testsuite/libgomp.c++/cancel-test.h: New file.
10897 * testsuite/libgomp.c++/for-9.C: New test.
10898 * testsuite/libgomp.c++/for-10.C: New test.
10899 * testsuite/libgomp.c++/for-11.C: New test.
10900 * testsuite/libgomp.c++/simd-1.C: New test.
10901 * testsuite/libgomp.c++/simd-2.C: New test.
10902 * testsuite/libgomp.c++/simd-3.C: New test.
10903 * testsuite/libgomp.c++/simd-4.C: New test.
10904 * testsuite/libgomp.c++/simd-5.C: New test.
10905 * testsuite/libgomp.c++/simd-6.C: New test.
10906 * testsuite/libgomp.c++/simd-7.C: New test.
10907 * testsuite/libgomp.c++/simd-8.C: New test.
10908 * testsuite/libgomp.c++/target-1.C: New test.
10909 * testsuite/libgomp.c++/target-2.C: New test.
10910 * testsuite/libgomp.c++/target-2-aux.cc: New file.
10911 * testsuite/libgomp.c++/target-3.C: New test.
10912 * testsuite/libgomp.c++/taskgroup-1.C: New test.
10913 * testsuite/libgomp.c++/udr-1.C: New test.
10914 * testsuite/libgomp.c++/udr-2.C: New test.
10915 * testsuite/libgomp.c++/udr-3.C: New test.
10916 * testsuite/libgomp.c++/udr-4.C: New test.
10917 * testsuite/libgomp.c++/udr-5.C: New test.
10918 * testsuite/libgomp.c++/udr-6.C: New test.
10919 * testsuite/libgomp.c++/udr-7.C: New test.
10920 * testsuite/libgomp.c++/udr-8.C: New test.
10921 * testsuite/libgomp.c++/udr-9.C: New test.
10923 2013-09-20 Jakub Jelinek <jakub@redhat.com>
10926 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10929 2013-09-20 Alan Modra <amodra@gmail.com>
10931 * configure: Regenerate.
10933 2013-09-19 Jakub Jelinek <jakub@redhat.com>
10935 * testsuite/libgomp.c/sections-2.c: New test.
10937 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
10939 * testsuite/libgomp.fortran/strassen.f90:
10940 Add dg-skip-if aarch64_tiny.
10942 2013-06-20 Iain Sandoe <iain@codesourcery.com>
10943 Cesar Philippidis <cesar@codesourcery.com>
10945 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10946 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10947 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10948 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10949 * testsuite/libgomp.graphite/graphite.exp: Likewise.
10950 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10951 Use dg-runtest rather than gfortran-dg-runtest.
10953 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
10955 * testsuite/libgomp.c/icv-2.c: Extend current handling of
10956 Linux-based x86 systems to cover all GNU systems.
10957 * testsuite/libgomp.c/lock-3.c: Likewise.
10958 * testsuite/libgomp.c/pr48591.c: Likewise.
10960 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
10962 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10963 GNU/Hurd, as done for Linux-based systems.
10965 * config/posix/ptrlock.h: Fix comment.
10967 2013-05-27 Tobias Burnus <burnus@net-b.de>
10970 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10971 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10972 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10973 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10974 omp_destroy_nest_lock): Correct arguments to match the one in
10976 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10977 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10978 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10979 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10981 2013-05-16 Jakub Jelinek <jakub@redhat.com>
10983 * testsuite/libgomp.c/loop-13.c: New test.
10984 * testsuite/libgomp.c/loop-14.c: New test.
10985 * testsuite/libgomp.c/loop-15.c: New test.
10986 * testsuite/libgomp.c++/loop-13.C: New test.
10987 * testsuite/libgomp.c++/loop-14.C: New test.
10988 * testsuite/libgomp.c++/loop-15.C: New test.
10990 2013-02-06 Jakub Jelinek <jakub@redhat.com>
10992 PR middle-end/56217
10993 * testsuite/libgomp.c++/pr56217.C: New test.
10995 2013-02-01 Alan Modra <amodra@gmail.com>
10997 * task.c (GOMP_task, GOMP_taskwait): Comment.
10999 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
11000 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
11003 * config/linux/wait.h (do_spin): Use atomic load for addr.
11004 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
11005 for intptr and ptrlock.
11006 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
11009 2013-01-22 Alan Modra <amodra@gmail.com>
11013 * task.c (GOMP_task): Revert 2011-12-09 change.
11014 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
11015 barrier to read task->children..
11016 (gomp_barrier_handle_tasks): ..and matching atomic store with
11017 release barrier here when setting parent->children to NULL.
11019 2013-01-16 Jakub Jelinek <jakub@redhat.com>
11020 Tobias Burnus <burnus@net-b.de>
11023 * testsuite/libgomp.fortran/fortran.exp: Use
11024 -fintrinsic-modules-path= instead of
11025 -fintrinsic-modules-path.
11027 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
11029 Update copyright years.
11031 2012-12-19 Tobias Burnus <burnus@net-b.de>
11033 * testsuite/libgomp.fortran/fortran.exp: Set
11034 -fintrinsic-modules-path.
11036 2012-12-19 Tobias Burnus <burnus@net-b.de>
11038 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
11039 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
11041 2012-11-21 Jakub Jelinek <jakub@redhat.com>
11044 * team.c (gomp_free_thread): Decrease gomp_managed_threads
11045 if pool had any threads_used.
11047 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
11049 * testsuite/libgomp.c++/pr24455.C: Use
11050 -Wl,-undefined,dynamic_lookup on darwin.
11052 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
11054 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
11056 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
11058 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
11060 2012-10-23 Ian Bolton <ian.bolton@arm.com>
11061 Jim MacArthur <jim.macarthur@arm.com>
11062 Marcus Shawcroft <marcus.shawcroft@arm.com>
11063 Nigel Stephens <nigel.stephens@arm.com>
11064 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11065 Richard Earnshaw <rearnsha@arm.com>
11066 Sofiane Naci <sofiane.naci@arm.com>
11067 Stephen Thomas <stephen.thomas@arm.com>
11068 Tejas Belagod <tejas.belagod@arm.com>
11069 Yufeng Zhang <yufeng.zhang@arm.com>
11071 * configure.tgt: Add AArch64.
11073 2012-10-04 Jason Merrill <jason@redhat.com>
11075 * testsuite/libgomp.c++/tls-init1.C: New.
11077 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
11079 * configure: Regenerated.
11081 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
11083 * config/linux/mips/futex.h (sys_futex0): Change to static
11084 function with noinline, nomips16 attributes under MIPS16. Adjust
11085 asm statement to place 'li v0,SYS_futex' immediately before
11088 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
11090 * libgomp.texi (Library Index): Renamed from "Index" to prevent
11091 conflict with index.html on case-insensitive file systems.
11093 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
11095 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
11096 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
11098 2012-07-02 Richard Guenther <rguenther@suse.de>
11099 Michael Matz <matz@suse.de>
11100 Tobias Grosser <tobias@grosser.es>
11101 Sebastian Pop <sebpop@gmail.com>
11103 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
11104 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11105 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11106 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11108 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
11110 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
11112 2012-06-22 Richard Guenther <rguenther@suse.de>
11114 Merge from graphite branch
11115 2012-01-13 Tobias Grosser <tobias@grosser.es>
11117 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11118 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11120 2012-06-07 Jakub Jelinek <jakub@redhat.com>
11122 PR middle-end/53580
11123 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
11124 use GOMP_barrier () call instead.
11125 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11126 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11127 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
11128 call GOMP_barrier instead.
11129 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11131 2012-06-06 Jakub Jelinek <jakub@redhat.com>
11134 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
11135 argument to memset call.
11137 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
11139 * configure: Regenerated.
11141 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11143 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
11145 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
11148 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
11150 2012-03-22 Jakub Jelinek <jakub@redhat.com>
11152 PR middle-end/52547
11153 * testsuite/libgomp.c/pr52547.c: New test.
11155 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11157 * testsuite/lib/libgomp.exp: load fortran-modules.exp
11159 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11161 * configure.tgt (mips-sgi-irix6*): Remove.
11163 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11165 * configure.tgt (alpha*-dec-osf*): Remove.
11167 * config/osf/sem.h: Remove.
11168 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
11170 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
11172 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
11174 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11177 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
11178 Remove ENABLE_SYMVERS_SOL2.
11179 * configure: Regenerate.
11180 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
11181 (PREPROCESS): New variable.
11182 (libgomp.ver): New target.
11183 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
11184 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
11185 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
11187 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
11188 * Makefile.in: Regenerate.
11190 2012-02-14 Walter Lee <walt@tilera.com>
11192 * configure.tgt: Handle tilegx and tilepro.
11193 * config/linux/tile/futex.h: New file.
11195 2012-02-08 Richard Guenther <rguenther@suse.de>
11197 PR tree-optimization/46886
11198 * testsuite/libgomp.c/pr46886.c: New testcase.
11200 2012-01-25 Matthias Klose <doko@ubuntu.com>
11202 * config/linux/arm: Remove empty directory.
11203 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
11205 2011-12-09 Alan Modra <amodra@gmail.com>
11208 * task.c (GOMP_taskwait): Don't access task->children outside of
11209 task_lock mutex region.
11210 (GOMP_task): Likewise.
11212 2011-12-06 Jakub Jelinek <jakub@redhat.com>
11215 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
11217 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11218 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11219 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11220 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11221 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11223 2011-12-02 Alan Modra <amodra@gmail.com>
11225 * config/linux/affinity.c: Use atomic rather than sync builtin.
11226 * config/linux/lock.c: Likewise.
11227 * config/linux/ptrlock.h: Likewise.
11228 * config/linux/ptrlock.c: Likewise.
11229 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
11230 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
11231 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
11232 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
11233 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
11234 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
11235 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
11236 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
11237 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
11238 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
11240 2011-11-30 Alan Modra <amodra@gmail.com>
11243 * config/linux/bar.h: Use atomic rather than sync builtins.
11244 * config/linux/bar.c: Likewise. Add missing acquire
11245 synchronisation on generation field.
11246 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
11249 2011-11-30 Alan Modra <amodra@gmail.com>
11251 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
11252 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
11253 * config/linux/mutex.h: Use atomic rather than sync builtins.
11254 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
11255 * config/linux/omp-lock.h: Comment fix.
11256 * config/linux/arm/mutex.h: Delete.
11257 * config/linux/powerpc/mutex.h: Delete.
11258 * config/linux/ia64/mutex.h: Delete.
11259 * config/linux/mips/mutex.h: Delete.
11261 2011-11-30 Alan Modra <amodra@gmail.com>
11264 * config/linux/sem.h: Rewrite.
11265 * config/linux/sem.c: Rewrite.
11267 2011-11-28 Richard Henderson <rth@redhat.com>
11269 * libgomp.h (enum memmodel): New.
11271 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
11273 * configure: Regenerate.
11275 2011-10-10 Matthias Klose <doko@ubuntu.com>
11277 * config/posix95: Remove empty directory.
11279 2011-08-26 Jakub Jelinek <jakub@redhat.com>
11281 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
11283 2011-08-19 Jakub Jelinek <jakub@redhat.com>
11286 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
11287 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
11289 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11291 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
11293 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11296 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
11298 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
11300 * config/linux/proc.h: New.
11301 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
11302 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
11303 (gomp_init_num_threads): Update call to cpuset_popcount.
11304 (get_num_procs): Ditto.
11305 * config/linux/affinity.c (gomp_init_affinity): Call
11306 gomp_cpuset_popcount.
11308 2011-08-02 Jakub Jelinek <jakub@redhat.com>
11312 * omp.h.in (omp_in_final): New prototype.
11313 * omp_lib.f90.in (omp_in_final): New interface.
11314 (omp_integer_kind, omp_logical_kind): Remove
11315 and replace all its uses in the module with 4.
11316 (openmp_version): Change to 201107.
11317 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
11318 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
11319 kind for the parameters.
11320 (omp_in_final): New external.
11321 (openmp_version): Change to 201107.
11322 * task.c (omp_in_final): New function.
11323 (gomp_init_task): Initialize final_task.
11324 (GOMP_task): Remove unused attribute from flags. Handle final
11326 (GOMP_taskyield): New function.
11327 (omp_in_final): Return true if if (false) or final (true) task
11328 or descendant of final (true).
11329 * fortran.c (omp_in_final_): New function.
11330 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
11331 (GOMP_3.0): Export GOMP_taskyield.
11332 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
11334 (parse_unsigned_long_list): New function.
11335 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
11336 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
11337 even if parse_affinity returned false.
11338 * config/linux/affinity.c (gomp_init_affinity): Handle
11339 gomp_cpu_affinity_len == 0.
11340 * libgomp_g.h (GOMP_taskyield): New prototype.
11341 * libgomp.h (struct gomp_task): Add final_task field.
11342 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
11343 * team.c (gomp_team_start): Override new task's nthreads_var icv
11344 if list form OMP_NUM_THREADS has been used and it has value for
11345 the new nesting level.
11347 * testsuite/libgomp.c/atomic-11.c: New test.
11348 * testsuite/libgomp.c/atomic-12.c: New test.
11349 * testsuite/libgomp.c/atomic-13.c: New test.
11350 * testsuite/libgomp.c/atomic-14.c: New test.
11351 * testsuite/libgomp.c/reduction-6.c: New test.
11352 * testsuite/libgomp.c/task-5.c: New test.
11353 * testsuite/libgomp.c++/atomic-2.C: New test.
11354 * testsuite/libgomp.c++/atomic-3.C: New test.
11355 * testsuite/libgomp.c++/atomic-4.C: New test.
11356 * testsuite/libgomp.c++/atomic-5.C: New test.
11357 * testsuite/libgomp.c++/atomic-6.C: New test.
11358 * testsuite/libgomp.c++/atomic-7.C: New test.
11359 * testsuite/libgomp.c++/atomic-8.C: New test.
11360 * testsuite/libgomp.c++/atomic-9.C: New test.
11361 * testsuite/libgomp.c++/task-8.C: New test.
11362 * testsuite/libgomp.c++/reduction-4.C: New test.
11363 * testsuite/libgomp.fortran/allocatable7.f90: New test.
11364 * testsuite/libgomp.fortran/allocatable8.f90: New test.
11365 * testsuite/libgomp.fortran/crayptr3.f90: New test.
11366 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
11367 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
11368 * testsuite/libgomp.fortran/pointer1.f90: New test.
11369 * testsuite/libgomp.fortran/pointer2.f90: New test.
11370 * testsuite/libgomp.fortran/task4.f90: New test.
11372 2011-08-02 Tobias Burnus <burnus@net-b.de>
11374 * libgomp.texi: Update OpenMP spec references to 3.1.
11375 (omp_in_final,OMP_PROC_BIND): New sections.
11376 (OMP_NUM_THREADS): Document that the value can be now a list.
11377 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
11379 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
11381 * config/linux/x86/futex.h: Check __x86_64__ instead of
11384 2011-07-29 Jakub Jelinek <jakub@redhat.com>
11386 PR middle-end/49897
11387 PR middle-end/49898
11388 * testsuite/libgomp.c/pr49897-1.c: New test.
11389 * testsuite/libgomp.c/pr49897-2.c: New test.
11390 * testsuite/libgomp.c/pr49898-1.c: New test.
11391 * testsuite/libgomp.c/pr49898-2.c: New test.
11393 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
11395 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
11396 for ia32 instead of ilp32.
11398 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
11399 * testsuite/libgomp.c/atomic-6.c: Likewise.
11401 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
11403 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
11404 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
11406 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11409 * config/osf/sem.h: New file.
11410 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
11412 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11415 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
11418 2011-07-15 Jakub Jelinek <jakub@redhat.com>
11420 * config/linux/wait.h (do_spin): New inline, largely copied
11421 from do_wait, just don't do futex_wait here, instead return true if
11423 (do_wait): Implement using do_spin.
11424 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
11426 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11427 __sync_bool_compare_and_swap, pass the oldval to
11428 gomp_mutex_lock_slow.
11429 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
11430 If all mutex contenders are just spinning and not sleeping, don't
11431 change state to 2 unnecessarily. Optimize the loop when state has
11432 already become 2 to use just one atomic operation per loop instead
11434 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
11436 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11437 __sync_bool_compare_and_swap, pass the oldval to
11438 gomp_mutex_lock_slow.
11440 2011-06-22 Jakub Jelinek <jakub@redhat.com>
11443 * iter.c (gomp_iter_static_next): For chunk size 0
11444 only use n ceil/ nthreads size for the first
11445 n % nthreads threads in the team instead of
11446 all threads except for the last few ones which
11447 get less work or none at all.
11448 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
11449 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
11450 chunk argument, set run_sched_modifier to 0 for static
11451 resp. 1 for other kinds. If chunk argument is 0
11452 and not static, set value to 1.
11454 2011-05-19 Jakub Jelinek <jakub@redhat.com>
11457 * testsuite/libgomp.c++/pr49043.C: New test.
11460 * testsuite/libgomp.c++/pr48869.C: New test.
11462 2011-05-06 Jakub Jelinek <jakub@redhat.com>
11465 * fortran.c: Include limits.h.
11467 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
11469 (omp_set_num_threads_8_, omp_set_schedule_8_,
11470 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11471 omp_get_team_size_8_): Use TO_INT macro.
11472 * testsuite/libgomp.fortran/pr48894.f90: New test.
11474 2011-04-13 Jakub Jelinek <jakub@redhat.com>
11476 PR middle-end/48591
11477 * testsuite/libgomp.c/pr48591.c: New test.
11479 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11482 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
11483 * configure: Regenerate.
11485 2011-02-27 Jakub Jelinek <jakub@redhat.com>
11488 * testsuite/libgomp.fortran/task3.f90: New test.
11490 2011-02-24 Tobias Burnus <burnus@net-b.de>
11492 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
11494 2011-02-23 Jakub Jelinek <jakub@redhat.com>
11497 * libgomp.texi (omp_get_wtime): Don't say time in the past
11498 must be Unix Epoch.
11500 2011-02-18 Jakub Jelinek <jakub@redhat.com>
11503 * testsuite/libgomp.fortran/fortran.exp: Check for both
11504 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
11505 but $blddir != "", still append ${blddir}/${lang_library_path}
11506 to ld_library_path.
11508 2011-02-16 Tobias Burnus <burnus@net-b.de>
11511 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
11512 of libquadmath.a before adding its libpath to ldflags.
11514 2011-02-14 Jakub Jelinek <jakub@redhat.com>
11517 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
11518 to FUTEX_WAIT futex syscall.
11519 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
11521 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11523 * configure: Regenerate.
11525 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
11528 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
11530 2011-01-16 Gerald Pfeifer
11532 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
11534 2010-12-14 Jakub Jelinek <jakub@redhat.com>
11537 * libgomp.fortran/allocatable6.f90: New test.
11539 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11541 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
11542 * configure: Regenerate.
11544 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
11548 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
11549 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
11550 * aclocal.m4: Regenerate.
11551 * configure: Regenerate.
11552 * Makefile.in: Regenerate.
11553 * testsuite/Makefile.in: Regenerate.
11555 2010-12-02 Jakub Jelinek <jakub@redhat.com>
11558 * libgomp.fortran/pr46753.f90: New test.
11561 * env.c (initialize_env): Default to spin count 300000
11562 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
11566 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
11567 at the end if sync builtins aren't supported.
11569 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11571 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
11573 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11575 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
11577 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
11579 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
11581 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11582 Tobias Burnus <burnus@net-b.de>
11586 * configure: Regenerate.
11588 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
11590 * config/linux/futex.h: New.
11591 * config/linux/arm/mutex.h: New.
11592 * configure.tgt (arm*-*-linux*): Add config path.
11594 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
11596 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11598 2010-09-23 Tobias Burnus <burnus@net-b.de>
11600 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
11601 Change Fortran datatype to LOGICAL.
11602 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
11603 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
11605 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11607 * configure: Regenerate.
11609 2010-07-26 Jakub Jelinek <jakub@redhat.com>
11611 * libgomp.texi: Add function keyword to a couple of Fortran
11612 interfaces, use integer instead of int for Fortran.
11614 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
11616 * libgomp.texi: Fix spelling and pasto problems throughout.
11617 Adjust prototypes to match code.
11619 2010-07-24 Tobias Burnus <burnus@net-b.de>
11621 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11622 silence -fwhole-file warning.
11624 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11626 * configure.tgt (*-*-solaris2.[56]*): Removed.
11628 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11630 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11631 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11632 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11633 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11634 targetting solaris2*.
11635 * configure: Regenerate.
11636 * config.h.in: Regenerate.
11638 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11639 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11640 Add libgomp_version_dep.
11641 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11643 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11644 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11645 * Makefile.in: Regenerate.
11647 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11648 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11649 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11650 to common block, protected by
11651 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11653 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
11655 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
11657 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
11660 * configure: Regenerate.
11662 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11665 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11666 * configure: Regenerate.
11667 * Makefile.in: Regenerate.
11668 * testsuite/Makefile.in: Regenerate.
11670 2010-04-26 Jakub Jelinek <jakub@redhat.com>
11673 * testsuite/libgomp.c/pr43893.c: New test.
11674 * testsuite/libgomp.c++/pr43893.C: New test.
11676 2010-04-21 Jakub Jelinek <jakub@redhat.com>
11678 PR middle-end/43570
11679 * testsuite/libgomp.fortran/vla8.f90: New test.
11681 2010-04-20 Jakub Jelinek <jakub@redhat.com>
11684 * config/linux/affinity.c (gomp_init_affinity): Decrease
11685 gomp_available_cpus if affinity mask confines the process to fewer
11687 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11688 non-NULL, just return gomp_available_cpus.
11691 * sections.c (gomp_sections_init): Initialize ws->mode.
11693 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
11695 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11696 not unused bar variable.
11697 * configure: Regenerate.
11699 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11701 * Makefile.in: Regenerate.
11702 * aclocal.m4: Regenerate.
11703 * testsuite/Makefile.in: Regenerate.
11705 2010-03-22 Jakub Jelinek <jakub@redhat.com>
11708 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11709 (initialize_env): Adjust callers.
11710 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11711 when the argument is 0.
11713 * testsuite/libgomp.c/pr42942.c: New test.
11715 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
11717 PR middle-end/42644
11718 PR middle-end/42130
11719 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11720 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11722 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11724 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11725 * testsuite/libgomp.c++/task-6.C: Likewise.
11727 2010-01-28 Steve Ellcey <sje@cup.hp.com>
11729 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11731 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
11733 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11734 * configure: Regenerate.
11736 2010-01-26 Jakub Jelinek <jakub@redhat.com>
11739 * testsuite/libgomp.fortran/allocatable5.f90: New test.
11741 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
11743 * configure.ac: Test for executability of GFORTRAN.
11744 * configure: Regenerate.
11746 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11748 * configure: Regenerate.
11750 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11753 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11755 2010-01-03 Richard Guenther <rguenther@suse.de>
11757 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11759 2009-12-23 Sebastian Pop <sebpop@gmail.com>
11761 * testsuite/libgomp.graphite/pr4118.c: New.
11763 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11765 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11766 for darwin, protect the test with require-effective-target tls_runtime.
11767 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11769 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11772 * testsuite/lib/libgomp.exp: Provide -B options to allow for
11773 link spec %s substitutions for static libraries.
11775 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
11778 * libgomp.graphite/force-parallel-2.c: Reduce array size.
11780 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11782 * Makefile.in: Regenerate.
11783 * configure: Regenerate.
11784 * testsuite/Makefile.in: Regenerate.
11786 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
11788 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11789 settings for LC_ALL and LANG.
11791 2009-11-25 Jakub Jelinek <jakub@redhat.com>
11794 * testsuite/libgomp.fortran/pr42162.f90: New test.
11796 2009-11-13 Jakub Jelinek <jakub@redhat.com>
11798 PR middle-end/42029
11799 * testsuite/libgomp.c/pr42029.c: New test.
11801 2009-10-26 Jakub Jelinek <jakub@redhat.com>
11803 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11804 *s. Accept ld version without text in ()s.
11805 * configure: Regenerated.
11807 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
11809 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11811 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11814 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11815 or a hyphen (happens with fortran language disabled).
11816 * configure: Regenerate.
11818 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11820 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11821 use sed script portable to Solaris /bin/sed for extracting ld
11823 * configure: Regenerate.
11825 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
11827 * testsuite/libgomp.graphite/bounds.c: New test.
11829 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11831 * Makefile.am (libgomp_la_LINK): New.
11832 * Makefile.in: Regenerate.
11834 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11836 * configure.ac (AC_PREREQ): Bump to 2.64.
11838 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11840 * Makefile.am (install-html, install-pdf): Remove.
11841 * Makefile.in: Regenerate.
11843 * Makefile.in: Regenerate.
11844 * aclocal.m4: Regenerate.
11845 * config.h.in: Regenerate.
11846 * configure: Regenerate.
11847 * testsuite/Makefile.in: Regenerate.
11849 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11851 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11852 * Makefile.in: Regenerate.
11854 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
11856 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11857 * Makefile.in: Regenerate.
11859 2009-08-19 Tobias Burnus <burnus@net-b.de>
11862 omp_lib.h.in: Fix -std=f95 errors.
11864 2009-08-14 David Edelsohn <edelsohn@gnu.org>
11866 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11867 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11868 * testsuite/libgomp.graphite/graphite.exp: New.
11870 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
11872 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11875 2009-08-04 David Daney <ddaney@caviumnetworks.com>
11877 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11878 needed memory barrier semantics.
11879 * config/linux/mips/mutex.h: New file.
11881 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11883 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11885 2009-07-16 Joseph Myers <joseph@codesourcery.com>
11887 * configure: Regenerate.
11889 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
11894 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11895 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11896 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11898 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
11900 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11901 options when choosing a multilib.
11903 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
11905 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11906 ld_library_path. Use add_path. Add just find_libgcc_s to
11907 ld_library_path, not every libgcc multilib directory.
11908 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11909 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11910 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11912 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11914 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
11916 * Makefile.am (LTLDFLAGS): Define.
11918 * Makefile.in: Regenerate.
11920 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
11923 * testsuite/libgomp.fortran/fortran.exp: Don't link with
11924 libgfortranbegin, check existence of libgfortran.a instead of
11925 libgfortranbegin.a.
11927 2009-05-20 Jakub Jelinek <jakub@redhat.com>
11930 * team.c (gomp_thread_start): Destroy thr->release semaphore.
11931 (gomp_free_pool_helper): Likewise.
11933 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
11934 Jakub Jelinek <jakub@redhat.com>
11937 * testsuite/libgomp.fortran/workshare2.f90: New test.
11939 2009-04-09 Nick Clifton <nickc@redhat.com>
11941 * iter.c: Change copyright header to refer to version 3 of the
11942 GNU General Public License with version 3.1 of the GCC Runtime
11943 Library Exception and to point readers at the COPYING3 and
11944 COPYING3.RUNTIME files and the FSF's license web page.
11945 * alloc.c: Likewise.
11946 * barrier.c: Likewise.
11947 * config/bsd/proc.c: Likewise.
11948 * config/linux/affinity.c: Likewise.
11949 * config/linux/alpha/futex.h: Likewise.
11950 * config/linux/bar.c: Likewise.
11951 * config/linux/bar.h: Likewise.
11952 * config/linux/ia64/futex.h: Likewise.
11953 * config/linux/ia64/mutex.h: Likewise.
11954 * config/linux/lock.c: Likewise.
11955 * config/linux/mips/futex.h: Likewise.
11956 * config/linux/mutex.c: Likewise.
11957 * config/linux/mutex.h: Likewise.
11958 * config/linux/powerpc/futex.h: Likewise.
11959 * config/linux/proc.c: Likewise.
11960 * config/linux/ptrlock.c: Likewise.
11961 * config/linux/ptrlock.h: Likewise.
11962 * config/linux/s390/futex.h: Likewise.
11963 * config/linux/sem.c: Likewise.
11964 * config/linux/sem.h: Likewise.
11965 * config/linux/sparc/futex.h: Likewise.
11966 * config/linux/wait.h: Likewise.
11967 * config/linux/x86/futex.h: Likewise.
11968 * config/mingw32/proc.c: Likewise.
11969 * config/mingw32/time.c: Likewise.
11970 * config/posix/affinity.c: Likewise.
11971 * config/posix/bar.c: Likewise.
11972 * config/posix/bar.h: Likewise.
11973 * config/posix/lock.c: Likewise.
11974 * config/posix/mutex.h: Likewise.
11975 * config/posix/proc.c: Likewise.
11976 * config/posix/ptrlock.h: Likewise.
11977 * config/posix/sem.c: Likewise.
11978 * config/posix/sem.h: Likewise.
11979 * config/posix/time.c: Likewise.
11980 * config/posix95/lock.c: Likewise.
11981 * critical.c: Likewise.
11983 * error.c: Likewise.
11984 * fortran.c: Likewise.
11985 * iter_ull.c: Likewise.
11986 * libgomp.h: Likewise.
11987 * libgomp_f.h.in: Likewise.
11988 * libgomp_g.h: Likewise.
11989 * loop.c: Likewise.
11990 * loop_ull.c: Likewise.
11991 * omp.h.in: Likewise.
11992 * omp_lib.f90.in: Likewise.
11993 * omp_lib.h.in: Likewise.
11994 * ordered.c: Likewise.
11995 * parallel.c: Likewise.
11996 * sections.c: Likewise.
11997 * single.c: Likewise.
11998 * task.c: Likewise.
11999 * team.c: Likewise.
12000 * work.c: Likewise.
12002 2009-04-09 Jakub Jelinek <jakub@redhat.com>
12004 * testsuite/config/default.exp: Change copyright header to refer to
12005 version 3 of the GNU General Public License and to point readers
12006 at the COPYING3 file and the FSF's license web page.
12008 2009-04-08 Jakub Jelinek <jakub@redhat.com>
12010 PR middle-end/39573
12011 * libgomp.c++/pr39573.C: New test.
12013 2009-04-01 Jakub Jelinek <jakub@redhat.com>
12016 * testsuite/libgomp.c/pr39591-1.c: New test.
12017 * testsuite/libgomp.c/pr39591-2.c: New test.
12018 * testsuite/libgomp.c/pr39591-3.c: New test.
12020 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
12022 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
12023 * testsuite/libgomp.c/atomic-6.c: Ditto.
12025 2009-03-23 Jakub Jelinek <jakub@redhat.com>
12028 * testsuite/libgomp.c/loop-12.c: New test.
12029 * testsuite/libgomp.c/loop-11.c: New test.
12030 * testsuite/libgomp.c++/loop-11.C: New test.
12031 * testsuite/libgomp.c++/loop-12.C: New test.
12032 * testsuite/libgomp.c++/for-8.C: New test.
12034 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12036 * configure: Regenerate.
12038 2009-02-11 Jakub Jelinek <jakub@redhat.com>
12040 PR middle-end/39154
12041 * testsuite/libgomp.c/pr39154.c: New test.
12043 2009-01-30 Ian Lance Taylor <iant@google.com>
12045 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
12046 libgomp_ld_is_gold. Get gold version number.
12047 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
12048 * configure: Rebuild.
12050 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
12052 * testsuite/lib/libgomp.exp: Add -B option for targets that
12053 use libgfortran.a%s in their specs.
12055 2009-01-07 Jakub Jelinek <jakub@redhat.com>
12058 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
12059 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
12060 HAVE_AS_SYMVER_DIRECTIVE is not defined.
12061 * configure: Regenerated.
12062 * config.h.in: Likewise.
12064 2008-12-28 Jakub Jelinek <jakub@redhat.com>
12067 * testsuite/libgomp.c/pr38650.c: New test.
12068 * testsuite/libgomp.c++/pr38650.C: New test.
12070 2008-12-27 Jakub Jelinek <jakub@redhat.com>
12072 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
12074 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
12076 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
12078 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12080 * configure: Regenerate.
12082 2008-12-08 Jakub Jelinek <jakub@redhat.com>
12084 PR middle-end/36802
12085 * testsuite/libgomp.c/pr36802-1.c: New test.
12086 * testsuite/libgomp.c/pr36802-2.c: New test.
12087 * testsuite/libgomp.c/pr36802-3.c: New test.
12089 2008-12-01 Janis Johnson <janis187@us.ibm.com>
12092 * config/linux/powerpc/mutex.h: New.
12094 2008-12-01 Jakub Jelinek <jakub@redhat.com>
12097 * testsuite/libgomp.c++/for-7.C: New test.
12100 * testsuite/libgomp.c++/for-6.C: New test.
12102 2008-11-26 Janis Johnson <janis187@us.ibm.com>
12105 * testsuite/lib/libgomp.exp: Include new timeout library files.
12106 (libgomp_target_compile): Set timeout value from new proc.
12108 2008-11-13 Steve Ellcey <sje@cup.hp.com>
12111 * config/linux/ia64/mutex.h: New.
12113 2008-11-04 Tobias Burnus <burnus@net-b.de>
12116 * libgomp.texi (Runtime library routines, environment variables):
12117 Update for OpenMP version 3.0.
12119 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
12120 Steve Ellcey <sje@cup.hp.com>
12122 * configure: Regenerate for new libtool.
12123 * Makefile.in: Ditto.
12124 * testsuite/Makefile.in: Ditto.
12126 2008-09-19 Jakub Jelinek <jakub@redhat.com>
12127 Andreas Tobler <a.tobler@schweiz.org>
12129 * config/bsd/proc.c: New file.
12130 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
12131 * configure.ac: Check for header <sys/sysctl.h>
12132 * configure: Regenerate.
12133 * config.h.in: Likewise.
12135 2008-09-05 Janis Johnson <janis187@us.ibm.com>
12137 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
12139 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
12141 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
12142 * Makefile.in: Regenerated.
12143 * testsuite/Makefile.in: Regenerated.
12145 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
12147 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
12148 depend on blddir if blddir exists.
12149 (libgomp_target_compile): Likewise.
12150 * testsuite/libgomp.c++/c++.exp: Likewise.
12151 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12153 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12155 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
12156 Do not list GPL as Invariant Section.
12158 2008-07-28 Ilie Garbacea <ilie@mips.com>
12159 Chao-ying Fu <fu@mips.com>
12161 * configure.tgt: Enable futex for MIPS.
12162 * config/linux/mips/futex.h: New file.
12164 2008-07-16 Jakub Jelinek <jakub@redhat.com>
12166 * team.c (gomp_team_end): Free team immediately if it has
12169 2008-07-08 David Edelsohn <edelsohn@gnu.org>
12171 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
12172 * testsuite/libgomp.fortran/fortran.exp: Same.
12173 * testsuite/libgomp.c/c.exp: Same.
12174 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
12175 directory to library path first.
12177 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
12179 * env.c (parse_stacksize): Add cast to avoid warning.
12180 (parse_spincount): Likewise.
12182 2008-06-27 Jakub Jelinek <jakub@redhat.com>
12184 * testsuite/libgomp.c/loop-10.c: New test.
12185 * libgomp.c/loop-3.c (main): Add lastprivate clause.
12186 * libgomp.c++/loop-6.C (main): Likewise.
12189 * testsuite/libgomp.c/debug-1.c: New test.
12191 2008-06-19 Jakub Jelinek <jakub@redhat.com>
12193 * testsuite/libgomp.c/nqueens-1.c: New test.
12196 * testsuite/libgomp.c++/task-7.C: New function.
12198 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12200 * configure: Regenerate.
12202 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12204 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
12205 mutex when HAVE_SYNC_BUILTINS isn't defined.
12207 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12209 * libgomp.texi (omp_test_lock): Fix typo.
12211 2008-06-12 Tobias Burnus <burnus@net-b.de>
12213 * omp_lib.f90.in: Add "implicit none".
12215 2008-06-12 Jakub Jelinek <jakub@redhat.com>
12217 PR middle-end/36506
12218 * testsuite/libgomp.c/reduction-5.c: New test.
12220 2008-06-11 Jakub Jelinek <jakub@redhat.com>
12222 * libgomp.h (struct gomp_task): Add in_tied_task field.
12223 * task.c (gomp_init_task): Initialize it.
12224 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
12225 unconditionally. Don't call gomp_team_barrier_wake if
12226 current task is implicit or if(0) from implicit and number of
12227 running tasks is equal to nthreads - 1.
12230 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
12231 omp_get_team_size_8): Fix pastos.
12234 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
12235 * configure: Regenerated.
12236 * config.h.in: Regenerated.
12237 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
12240 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
12243 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
12244 (GOMP_loop_ull_dynamic_start): Likewise.
12245 (GOMP_loop_ull_guided_start): Likewise.
12246 (GOMP_loop_ull_ordered_static_start): Likewise.
12247 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
12248 (GOMP_loop_ull_ordered_guided_start): Likewise.
12250 2008-06-06 Jakub Jelinek <jakub@redhat.com>
12251 Richard Henderson <rth@redhat.com>
12252 Ulrich Drepper <drepper@redhat.com>
12253 Jakob Blomer <jakob.blomer@ira.uka.de>
12255 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
12256 Substitute also OMP_*LOCK_25*.
12257 * configure: Regenerated.
12258 * config.h.in: Regenerated.
12259 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
12260 ptrlock.c and task.c.
12261 * Makefile.in: Regenerated.
12262 * testsuite/Makefile.in: Regenerated.
12263 * task.c: New file.
12264 * loop_ull.c: New file.
12265 * iter_ull.c: New file.
12266 * libgomp.h: Include ptrlock.h.
12267 (enum gomp_task_kind): New type.
12268 (struct gomp_team): Add task_lock, task_queue, task_count,
12269 task_running_count, single_count fields. Add
12270 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
12271 Remove work_share_lock, generation_mask,
12272 oldest_live_gen, num_live_gen and init_work_shares fields, add
12273 work work_share_list_alloc, work_share_list_free and work_share_chunk
12274 fields. Change work_shares from pointer to pointers into an array.
12275 Change ordered_release field into gomp_sem_t ** from flexible array
12276 member. Add implicit_task and initial_work_shares fields.
12277 Move close to the end of the struct.
12278 (struct gomp_team_state): Add single_count, last_work_share,
12279 active_level and level fields, remove work_share_generation.
12280 (gomp_barrier_handle_tasks): New prototype.
12281 (gomp_finish_task): New inline function.
12282 (struct gomp_work_share): Move chunk_size, end, incr into
12283 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
12284 next_ll fields. Reshuffle fields. Add next_alloc,
12285 next_ws, next_free and inline_ordered_team_ids fields, change
12286 ordered_team_ids into pointer from flexible array member.
12287 Add mode field. Put lock and next into a different cache line
12288 from most of the write-once fields.
12289 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
12290 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
12291 gomp_iter_ull_guided_next): New prototypes.
12292 (gomp_new_icv): New prototype.
12293 (struct gomp_thread): Add thread_pool and task fields.
12294 (struct gomp_thread_pool): New type.
12295 (gomp_new_team): New prototype.
12296 (gomp_team_start): Change type of last argument.
12297 (gomp_new_work_share): Removed.
12298 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
12299 (gomp_work_share_init_done): New static inline.
12300 (gomp_throttled_spin_count_var, gomp_available_cpus,
12301 gomp_managed_threads): New extern decls.
12302 (gomp_init_task): New prototype.
12303 (gomp_spin_count_var): New extern var decl.
12304 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
12305 or no alias support, or if not PIC.
12306 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
12307 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
12308 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
12309 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
12310 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
12311 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
12312 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
12313 gomp_test_nest_lock_25): New prototypes.
12314 (omp_lock_symver, strong_alias): Define.
12315 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
12317 (gomp_end_task): New.
12318 (struct gomp_task_icv, gomp_global_icv): New.
12319 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
12320 (struct gomp_task): New.
12321 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12322 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12324 (gomp_schedule_type): Reorder enum to match
12326 * team.c (struct gomp_thread_start_data): Add thread_pool and task
12328 (gomp_thread_start): Add gomp_team_barrier_wait call.
12329 For non-nested case remove clearing of docked thread thr fields.
12330 Use pool fields instead of global gomp_* variables. Use
12331 gomp_barrier_wait_last when needed. Initialize ts.active_level.
12332 Create tasks for each member thread.
12333 (free_team): Only destroy team barrier, task_lock here and free it.
12334 (gomp_free_thread): Free last_team if non-NULL.
12335 (gomp_team_end): Call gomp_team_barrier_wait instead of
12336 gomp_barrier_wait. For nested case call one extra
12337 gomp_barrier_wait. Move here some destruction from free_team.
12338 Call free_team on pool->last_team if any, rather than freeing
12339 current team. Destroy work_share_list_free_lock ifndef
12340 HAVE_SYNC_BUILTINS.
12341 (gomp_new_icv): New function.
12342 (gomp_threads, gomp_threads_size, gomp_threads_used,
12343 gomp_threads_dock): Removed.
12344 (gomp_thread_destructor): New variable.
12345 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
12347 (gomp_team_start): Create new pool if current thread doesn't have
12348 one. Use pool fields instead of global gomp_* variables.
12349 Initialize thread_pool field for new threads. Clear single_count.
12350 Change last argument from ws to team, don't create
12351 new team, set ts.work_share to &team->work_shares[0] and clear
12352 ts.last_work_share. Don't clear ts.work_share_generation.
12353 If number of threads changed, adjust atomically gomp_managed_threads.
12354 Use gomp_init_task instead of gomp_new_task,
12355 set thr->task to the corresponding implicit_task array entry.
12356 Create tasks for each member thread. Initialize ts.level.
12357 (initialize_team): Call pthread_key_create on
12358 gomp_thread_destructor.
12359 (team_destructor): New function.
12360 (new_team): Removed.
12361 (gomp_new_team): New function.
12362 (free_team): Free gomp_work_share blocks chained through next_alloc,
12363 instead of freeing work_shares and destroying work_share_lock.
12364 (gomp_team_end): Call gomp_fini_work_share. If number of threads
12365 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
12366 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
12367 of gomp_barrier_wait.
12368 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
12369 instead of gomp_barrier_wait. Call gomp_work_share_init_done
12370 if gomp_work_share_start returned true. Don't unlock ws->lock.
12371 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
12372 of gomp_barrier_wait.
12373 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
12374 gomp_work_share_init_done if gomp_work_share_start returned true.
12375 Don't unlock ws->lock.
12376 * work.c: Include stddef.h.
12377 (free_work_share): Use work_share_list_free_lock instead
12378 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
12379 Call gomp_fini_work_share and then either free ws if orphaned, or
12380 put it into work_share_list_free list of the current team.
12381 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
12383 (gomp_work_share_start, gomp_work_share_end,
12384 gomp_work_share_end_nowait): Rewritten.
12385 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
12386 (openmp_version): Set to 200805.
12387 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12388 omp_sched_guided, omp_sched_auto): New parameters.
12389 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12390 omp_set_max_active_levels, omp_get_max_active_levels,
12391 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12392 omp_get_active_level): New interfaces.
12393 * omp_lib.h.in (openmp_version): Set to 200805.
12394 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12395 omp_sched_guided, omp_sched_auto): New parameters.
12396 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12397 omp_set_max_active_levels, omp_get_max_active_levels,
12398 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12399 omp_get_active_level): New externals.
12400 * loop.c: Include limits.h.
12401 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
12403 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
12404 Likewise. Use gomp_icv.
12405 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
12406 ts.static_trip here.
12407 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
12408 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
12409 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
12410 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
12411 don't unlock ws->lock, otherwise lock it.
12412 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
12413 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
12414 (gomp_parallel_loop_start): Call gomp_new_team instead of
12415 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
12416 Adjust gomp_team_start caller. Pass 0 as second argument to
12417 gomp_resolve_num_threads.
12418 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
12419 If adding ws->chunk_size nthreads + 1 times after end won't
12420 overflow, set ws->mode to 1.
12421 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
12422 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
12423 GOMP_loop_ull_ordered_static_start,
12424 GOMP_loop_ull_ordered_dynamic_start,
12425 GOMP_loop_ull_ordered_guided_start,
12426 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
12427 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
12428 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
12429 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
12430 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
12432 * libgomp.map: Export lock routines also @@OMP_2.0.
12433 (GOMP_loop_ordered_dynamic_first,
12434 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
12435 GOMP_loop_ordered_static_first): Remove.
12436 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
12437 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
12438 GOMP_loop_ull_ordered_dynamic_next,
12439 GOMP_loop_ull_ordered_dynamic_start,
12440 GOMP_loop_ull_ordered_guided_next,
12441 GOMP_loop_ull_ordered_guided_start,
12442 GOMP_loop_ull_ordered_runtime_next,
12443 GOMP_loop_ull_ordered_runtime_start,
12444 GOMP_loop_ull_ordered_static_next,
12445 GOMP_loop_ull_ordered_static_start,
12446 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
12447 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
12448 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
12449 (omp_set_schedule, omp_get_schedule,
12450 omp_get_thread_limit, omp_set_max_active_levels,
12451 omp_get_max_active_levels, omp_get_level,
12452 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
12453 omp_set_schedule_, omp_set_schedule_8_,
12454 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12455 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12456 omp_get_max_active_levels_, omp_get_level_,
12457 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12458 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12459 New exports @@OMP_3.0.
12460 * omp.h.in (omp_sched_t): New type.
12461 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12462 omp_set_max_active_levels, omp_get_max_active_levels,
12463 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12464 omp_get_active_level): New prototypes.
12465 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
12466 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
12467 gomp_thread_limit_var, gomp_remaining_threads_count,
12468 gomp_remaining_threads_lock): New variables.
12469 (parse_spincount): New function.
12470 (initialize_env): Call gomp_init_num_threads unconditionally.
12471 Initialize gomp_available_cpus. Call parse_spincount,
12472 initialize gomp_{,throttled_}spin_count_var
12473 depending on presence and value of OMP_WAIT_POLICY and
12474 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
12475 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
12476 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
12477 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
12478 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
12479 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12480 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12481 (gomp_global_icv): New.
12482 (parse_schedule): Use it. Parse "auto".
12483 (omp_set_num_threads): Use gomp_icv.
12484 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
12486 (omp_get_max_threads): Move from parallel.c.
12487 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12488 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
12490 (parse_stacksize, parse_wait_policy): New functions.
12491 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
12492 both wrappers for compatibility and new locks.
12493 (omp_set_schedule, omp_get_schedule,
12494 omp_get_thread_limit, omp_set_max_active_levels,
12495 omp_get_max_active_levels, omp_get_level,
12496 omp_get_ancestor_thread_num, omp_get_team_size,
12497 omp_get_active_level): New ialias_redirect.
12498 (omp_set_schedule_, omp_set_schedule_8_,
12499 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12500 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12501 omp_get_max_active_levels_, omp_get_level_,
12502 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12503 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12505 * parallel.c: Include limits.h.
12506 (gomp_resolve_num_threads): Add count argument. Rewritten.
12507 (GOMP_parallel_start): Call gomp_new_team and pass that as last
12508 argument to gomp_team_start. Pass 0 as second argument to
12509 gomp_resolve_num_threads.
12510 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
12511 if gomp_thread_limit_var != ULONG_MAX.
12512 (omp_in_parallel): Implement using ts.active_level.
12513 (omp_get_max_threads): Move to env.c.
12514 (omp_get_level, omp_get_ancestor_thread_num,
12515 omp_get_team_size, omp_get_active_level): New functions,
12517 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
12518 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
12519 gomp_iter_dynamic_next instead of the _locked variant and don't take
12520 lock around it, otherwise acquire it before calling
12521 gomp_iter_dynamic_next_locked.
12522 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
12523 gomp_iter_dynamic_next instead of the _locked variant and don't take
12525 (GOMP_parallel_sections_start): Call gomp_new_team instead of
12526 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
12527 Adjust gomp_team_start caller. Pass count as second argument to
12528 gomp_resolve_num_threads, don't adjust num_threads after the call.
12530 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
12531 ws->chunk_size by incr.
12532 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
12534 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
12536 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
12537 (omp_check_defines): Check even the compat defines.
12538 * config/linux/ptrlock.c: New file.
12539 * config/linux/ptrlock.h: New file.
12540 * config/linux/wait.h: New file.
12541 * config/posix/ptrlock.c: New file.
12542 * config/posix/ptrlock.h: New file.
12543 * config/linux/bar.h (gomp_team_barrier_wait,
12544 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12545 (gomp_team_barrier_set_task_pending,
12546 gomp_team_barrier_clear_task_pending,
12547 gomp_team_barrier_set_waiting_for_tasks,
12548 gomp_team_barrier_waiting_for_tasks,
12549 gomp_team_barrier_done): New inlines.
12550 (gomp_barrier_t): Rewritten.
12551 (gomp_barrier_state_t): New typedef.
12552 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
12553 gomp_barrier_wait_start): Rewritten.
12554 (gomp_barrier_wait_end): Change second argument to
12555 gomp_barrier_state_t.
12556 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12558 * config/linux/bar.c: Include wait.h instead of libgomp.h and
12560 (gomp_barrier_wait_end): Rewritten.
12561 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12562 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
12563 * config/posix/bar.h (gomp_barrier_t): Add generation field.
12564 (gomp_barrier_state_t): New typedef.
12565 (gomp_team_barrier_wait,
12566 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12567 (gomp_barrier_wait_start): Or all but low 2 bits from generation
12568 into the return value. Return gomp_barrier_state_t.
12569 (gomp_team_barrier_set_task_pending,
12570 gomp_team_barrier_clear_task_pending,
12571 gomp_team_barrier_set_waiting_for_tasks,
12572 gomp_team_barrier_waiting_for_tasks,
12573 gomp_team_barrier_done): New inlines.
12574 (gomp_barrier_wait_end): Change second argument to
12575 gomp_barrier_state_t.
12576 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12578 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
12579 (gomp_barrier_wait_end): Change second argument to
12580 gomp_barrier_state_t.
12581 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12582 gomp_team_barrier_wake): New functions.
12583 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
12585 (gomp_futex_wake, gomp_futex_wait): New variables.
12586 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
12587 * config/linux/lock.c: Rewrite to make locks task owned,
12588 for backwards compatibility provide the old entrypoints
12589 if symbol versioning. Include wait.h instead of libgomp.h and
12591 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
12592 * config/posix95/lock.c: Rewrite to make locks task owned,
12593 for backwards compatibility provide the old entrypoints
12594 if symbol versioning.
12595 * config/posix/lock.c: Rewrite to make locks task owned,
12596 for backwards compatibility provide the old entrypoints
12597 if symbol versioning.
12598 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
12599 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
12600 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
12601 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12602 (sys_futex0): Return error code.
12603 (futex_wake, futex_wait): If ENOSYS was returned, clear
12604 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12605 (cpu_relax, atomic_write_barrier): New static inlines.
12606 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12607 (futex_wake, futex_wait): If ENOSYS was returned, clear
12608 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12609 (cpu_relax, atomic_write_barrier): New static inlines.
12610 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12611 (sys_futex0): Return error code.
12612 (futex_wake, futex_wait): If ENOSYS was returned, clear
12613 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12614 (cpu_relax, atomic_write_barrier): New static inlines.
12615 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12616 (sys_futex0): Return error code.
12617 (futex_wake, futex_wait): If ENOSYS was returned, clear
12618 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12619 (cpu_relax, atomic_write_barrier): New static inlines.
12620 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12621 (sys_futex0): Return error code.
12622 (futex_wake, futex_wait): If ENOSYS was returned, clear
12623 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12624 (cpu_relax, atomic_write_barrier): New static inlines.
12625 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12626 (sys_futex0): Return error code.
12627 (futex_wake, futex_wait): If ENOSYS was returned, clear
12628 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12629 (cpu_relax, atomic_write_barrier): New static inlines.
12630 * config/linux/sem.c: Include wait.h instead of libgomp.h and
12632 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12633 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12634 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12636 (omp_nest_lock_t): Change owner into void *, add lock field.
12637 * config/posix95/omp-lock.h: Include semaphore.h.
12638 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12639 (omp_lock_t): Use sem_t instead of mutex if semaphores
12641 (omp_nest_lock_t): Likewise. Change owner to void *.
12642 * config/posix/omp-lock.h: Include semaphore.h.
12643 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12644 (omp_lock_t): Use sem_t instead of mutex if semaphores
12646 (omp_nest_lock_t): Likewise. Add owner field.
12648 2008-06-06 Jakub Jelinek <jakub@redhat.com>
12650 * testsuite/libgomp.c/collapse-1.c: New test.
12651 * testsuite/libgomp.c/collapse-2.c: New test.
12652 * testsuite/libgomp.c/collapse-3.c: New test.
12653 * testsuite/libgomp.c/icv-1.c: New test.
12654 * testsuite/libgomp.c/icv-2.c: New test.
12655 * testsuite/libgomp.c/lib-2.c: New test.
12656 * testsuite/libgomp.c/lock-1.c: New test.
12657 * testsuite/libgomp.c/lock-2.c: New test.
12658 * testsuite/libgomp.c/lock-3.c: New test.
12659 * testsuite/libgomp.c/loop-4.c: New test.
12660 * testsuite/libgomp.c/loop-5.c: New test.
12661 * testsuite/libgomp.c/loop-6.c: New test.
12662 * testsuite/libgomp.c/loop-7.c: New test.
12663 * testsuite/libgomp.c/loop-8.c: New test.
12664 * testsuite/libgomp.c/loop-9.c: New test.
12665 * testsuite/libgomp.c/nested-3.c: New test.
12666 * testsuite/libgomp.c/nestedfn-6.c: New test.
12667 * testsuite/libgomp.c/sort-1.c: New test.
12668 * testsuite/libgomp.c/task-1.c: New test.
12669 * testsuite/libgomp.c/task-2.c: New test.
12670 * testsuite/libgomp.c/task-3.c: New test.
12671 * testsuite/libgomp.c/task-4.c: New test.
12672 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12673 to C++ testsuite default compiler options.
12674 * testsuite/libgomp.c++/collapse-1.C: New test.
12675 * testsuite/libgomp.c++/collapse-2.C: New test.
12676 * testsuite/libgomp.c++/ctor-10.C: New test.
12677 * testsuite/libgomp.c++/for-1.C: New test.
12678 * testsuite/libgomp.c++/for-2.C: New test.
12679 * testsuite/libgomp.c++/for-3.C: New test.
12680 * testsuite/libgomp.c++/for-4.C: New test.
12681 * testsuite/libgomp.c++/for-5.C: New test.
12682 * testsuite/libgomp.c++/loop-8.C: New test.
12683 * testsuite/libgomp.c++/loop-9.C: New test.
12684 * testsuite/libgomp.c++/loop-10.C: New test.
12685 * testsuite/libgomp.c++/task-1.C: New test.
12686 * testsuite/libgomp.c++/task-2.C: New test.
12687 * testsuite/libgomp.c++/task-3.C: New test.
12688 * testsuite/libgomp.c++/task-4.C: New test.
12689 * testsuite/libgomp.c++/task-5.C: New test.
12690 * testsuite/libgomp.c++/task-6.C: New test.
12691 * testsuite/libgomp.fortran/allocatable1.f90: New test.
12692 * testsuite/libgomp.fortran/allocatable2.f90: New test.
12693 * testsuite/libgomp.fortran/allocatable3.f90: New test.
12694 * testsuite/libgomp.fortran/allocatable4.f90: New test.
12695 * testsuite/libgomp.fortran/collapse1.f90: New test.
12696 * testsuite/libgomp.fortran/collapse2.f90: New test.
12697 * testsuite/libgomp.fortran/collapse3.f90: New test.
12698 * testsuite/libgomp.fortran/collapse4.f90: New test.
12699 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12700 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12701 * testsuite/libgomp.fortran/lib4.f90: New test.
12702 * testsuite/libgomp.fortran/lock-1.f90: New test.
12703 * testsuite/libgomp.fortran/lock-2.f90: New test.
12704 * testsuite/libgomp.fortran/nested1.f90: New test.
12705 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12706 * testsuite/libgomp.fortran/strassen.f90: New test.
12707 * testsuite/libgomp.fortran/tabs1.f90: New test.
12708 * testsuite/libgomp.fortran/tabs2.f: New test.
12709 * testsuite/libgomp.fortran/task1.f90: New test.
12710 * testsuite/libgomp.fortran/task2.f90: New test.
12711 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12712 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12713 * testsuite/libgomp.c/pr26943-2.c: Likewise.
12714 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12715 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12717 2008-05-23 Jakub Jelinek <jakub@redhat.com>
12720 * testsuite/libgomp.c++/ctor-11.C: New test.
12721 * testsuite/libgomp.c++/ctor-12.C: New test.
12723 2008-05-15 Janis Johnson <janis187@us.ibm.com>
12725 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12727 2008-05-07 Jakub Jelinek <jakub@redhat.com>
12729 PR middle-end/36106
12730 * testsuite/libgomp.c/atomic-5.c: New test.
12731 * testsuite/libgomp.c/atomic-6.c: New test.
12732 * testsuite/libgomp.c/autopar-1.c: New test.
12734 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12736 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12737 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12738 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12739 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12740 * configure: Regenerate.
12741 * Makefile.in, testsuite/Makefile.in: Likewise.
12743 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
12746 * aclocal.m4: Regenerate.
12747 * configure: Regenerate.
12749 2008-03-18 Jakub Jelinek <jakub@redhat.com>
12751 PR middle-end/35611
12752 * testsuite/libgomp.c/atomic-4.c: New test.
12755 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12756 (gomp_iter_guided_next): Likewise.
12757 * testsuite/libgomp.c/pr35625.c: New test.
12759 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12761 * aclocal.m4: Regenerate.
12762 * configure: Likewise.
12763 * Makefile.in: Likewise.
12764 * testsuite/Makefile.in: Likewise.
12766 2008-03-13 Jakub Jelinek <jakub@redhat.com>
12768 PR middle-end/35185
12769 * testsuite/libgomp.c++/pr35185.C: New test.
12771 2008-03-12 Jakub Jelinek <jakub@redhat.com>
12773 PR middle-end/35549
12774 * testsuite/libgomp.c/pr35549.c: New test.
12776 2008-03-06 Jakub Jelinek <jakub@redhat.com>
12778 * testsuite/libgomp.c/atomic-3.c: New test.
12780 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12783 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
12784 .F08 file suffixes.
12786 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
12789 * configure.ac: Add ACX_HEADER_STRING.
12790 * env.c: Include strings.h.
12791 * aclocal.m4: Regenerate.
12792 * config.h.in: Regenerate.
12793 * configure: Regenerate.
12794 * Makefile.in: Regenerate.
12795 * testsuite/Makefile.in: Regenerate.
12797 2008-02-15 Jakub Jelinek <jakub@redhat.com>
12799 PR middle-end/35196
12800 * testsuite/libgomp.c/pr35196.c: New test.
12802 PR middle-end/35130
12803 * testsuite/libgomp.fortran/pr35130.f90: New test.
12804 * testsuite/libgomp.c/pr35130.c: New test.
12806 2008-01-25 Jakub Jelinek <jakub@redhat.com>
12808 PR middle-end/33880
12809 * testsuite/libgomp.c/pr33880.c: New test.
12810 * testsuite/libgomp.fortran/pr33880.f90: New test.
12812 2008-01-24 David Edelsohn <edelsohn@gnu.org>
12814 * configure: Regenerate.
12816 2008-01-08 Jakub Jelinek <jakub@redhat.com>
12818 * configure.ac: Move futex checking into ../config/futex.m4.
12819 * configure: Rebuilt.
12820 * aclocal.m4: Rebuilt.
12821 * Makefile.in: Rebuilt.
12823 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12824 2007-10-15 ../config/tls.m4 change.
12826 2007-12-19 Jakub Jelinek <jakub@redhat.com>
12829 * testsuite/libgomp.c/pr34513.c: New test.
12830 * testsuite/libgomp.c++/pr34513.C: New test.
12832 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
12835 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12837 2007-12-04 Jakub Jelinek <jakub@redhat.com>
12839 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
12841 2007-12-03 Jakub Jelinek <jakub@redhat.com>
12843 * testsuite/libgomp.c/private-1.c: New test.
12845 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
12846 Paolo Bonzini <bonzini@gnu.org>
12848 * Makefile.am: Use space as vpath separator. Use 'vpath %'
12849 instead of 'VPATH ='.
12850 * Makefile.in: Regenerate.
12852 2007-11-23 Matthias Klose <doko@ubuntu.com>
12854 * configure.ac: Adjust makeinfo version check.
12855 * configure: Regenerate.
12857 2007-11-10 Jakub Jelinek <jakub@redhat.com>
12860 * testsuite/libgomp.fortran/pr34020.f90: New test.
12862 2007-11-06 Jakub Jelinek <jakub@redhat.com>
12865 * testsuite/libgomp.c++/atomic-1.C: New test.
12867 2007-10-25 Jakub Jelinek <jakub@redhat.com>
12870 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12871 Make x and y integers rather than (implicit) reals. Add private (j)
12872 clause to the last omp parallel.
12874 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
12876 * configure: Regenerate following changes to ../config/tls.m4.
12878 2007-09-28 Jakub Jelinek <jakub@redhat.com>
12880 * testsuite/libgomp.fortran/stack.f90: New test.
12882 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
12884 * config/mingw32/proc.c: New file.
12886 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
12888 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12889 (main): Use __get_cpuid to get i386 target fetaures.
12890 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12891 (main): Use __get_cpuid to get x86_64 target fetaures.
12893 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
12896 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12897 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12899 2007-07-12 Jakub Jelinek <jakub@redhat.com>
12902 * testsuite/libgomp.fortran/pr32550.f90: New test.
12903 * testsuite/libgomp.fortran/crayptr2.f90: New test.
12905 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
12907 * aclocal.m4: Regenerated.
12909 2007-07-05 Tobias Burnus <burnus@net-b.de>
12912 * testsuite/libgomp.fortran/pr32359.f90: New.
12914 2007-07-02 Jakub Jelinek <jakub@redhat.com>
12917 * sections.c (GOMP_parallel_sections_start): Only decrease
12918 number of threads to COUNT if dyn_var is true.
12919 * testsuite/libgomp.c/pr32468.c: New test.
12921 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12924 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12926 2007-06-21 Jakub Jelinek <jakub@redhat.com>
12928 PR middle-end/32362
12929 * testsuite/libgomp.c/pr32362-1.c: New test.
12930 * testsuite/libgomp.c/pr32362-2.c: New test.
12931 * testsuite/libgomp.c/pr32362-3.c: New test.
12933 2007-06-07 Jakub Jelinek <jakub@redhat.com>
12935 * team.c (gomp_team_start): Fix setting up thread_attr
12938 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
12940 * configure: Regenerate.
12942 2007-05-23 Steve Ellcey <sje@cup.hp.com>
12944 * Makefile.in: Regenerate.
12945 * configure: Regenerate.
12946 * aclocal.m4: Regenerate.
12947 * testsuite/Makefile.in: Regenerate.
12949 2007-05-04 Jakub Jelinek <jakub@redhat.com>
12951 * config/linux/proc.c: New file.
12954 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12956 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
12958 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12960 2007-04-16 Matthias Klose <doko@debian.org>
12962 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12963 flags if not building with -m64.
12964 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12965 flag for i?86-*-* targets, if current target matches -m64.
12967 2007-04-14 Steve Ellcey <sje@cup.hp.com>
12969 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12970 * Makefile.in: Regenerate.
12972 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12975 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12977 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12979 2007-04-04 Jakub Jelinek <jakub@redhat.com>
12981 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12983 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12984 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12985 (parse_affinity): New function.
12986 (initialize_env): Call it and gomp_init_affinity.
12987 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12988 create new pthread_attr_t and call gomp_init_thread_affinity
12989 on it for each thread before passing the attribute to pthread_create.
12990 * config/linux/affinity.c: New file.
12991 * config/posix/affinity.c: New file.
12992 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12993 * configure: Rebuilt.
12994 * config.h.in: Rebuilt.
12995 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12996 * Makefile.in: Rebuilt.
12998 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
13000 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
13002 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
13003 and use it if found.
13005 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
13007 * testsuite/config/default.exp: New file.
13008 * testsuite/lib/libgomp.exp: New file.
13009 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
13010 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
13011 load_lib *, load_gcc_lib *): Move to libgomp.exp.
13012 (libgomp_load): Remove.
13013 * testsuite/lib/libgomp.exp (libgomp_init): Compute
13014 always_ld_library_path, not ld_library_path. Set additional_flags
13015 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
13016 (target_compile): Do not call libgomp_init. Append lang_library_path
13017 and lang_link_flags to options.
13018 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
13019 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
13021 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
13022 always_ld_library_path. Set LD_LIBRARY_PATH here.
13023 * testsuite/libgomp.fortran/fortran.exp: Ditto.
13024 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
13025 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
13027 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
13028 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
13029 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
13030 * testsuite/libgomp.c/pr29947-1.c: Ditto.
13031 * testsuite/libgomp.c/atomic-10.c: Ditto.
13033 2007-03-21 Jakub Jelinek <jakub@redhat.com>
13035 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
13036 dg-final cleanup-modules line.
13037 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
13038 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
13039 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
13040 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
13041 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
13042 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
13043 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
13045 2007-03-18 Andreas Schwab <schwab@suse.de>
13047 * acinclude.m4: Adjust regular expression for ld version
13049 * configure: Regenerate.
13051 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
13053 * Makefile.am: Add install-pdf target as copied from
13054 automake v1.10 rules.
13055 * Makefile.in: Regenerate
13057 2007-02-07 Jakub Jelinek <jakub@redhat.com>
13060 * configure: Regenerate.
13063 * testsuite/libgomp.c++/pr30703.C: New test.
13065 2007-02-02 Jakub Jelinek <jakub@redhat.com>
13068 2006-07-05 Eric Christopher <echristo@apple.com>
13069 * configure.ac: Depend addition of -pthread on host OS.
13070 * configure: Regenerate.
13072 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13074 * libgomp.texi: Fix spacing after abbreviations.
13076 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
13079 * configure.ac: Add check for makeinfo
13080 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
13081 if an appropriate version of makeinfo is found.
13082 * aclocal.m4: Regenerated.
13083 * configure: Regenerated.
13084 * Makefile.in: Regenerated.
13085 * testsuite/Makefile.in: Regenerated.
13087 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
13090 * libgomp.texi: More about implementation-dependent settings.
13092 2007-01-26 Tobias Burnus <burnus@net-b.de>
13094 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
13096 2007-01-24 Jakub Jelinek <jakub@redhat.com>
13098 PR middle-end/30494
13099 * testsuite/libgomp.c/pr30494.c: New test.
13101 2007-01-15 Tom Tromey <tromey@redhat.com>
13103 * configure: Rebuilt.
13104 * configure.ac: Fixed comment.
13106 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
13108 * libgomp.texi: Document implementation specific default values of
13109 environment variables.
13111 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
13114 * libgomp.texi: New file.
13115 * configure.ac: Add --enable-generated-files-in-srcdir option.
13116 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
13118 * Makefile.in: Regenerated.
13119 * config.h.in: Regenerated.
13120 * testsuite/Makefile.in: Regenerated.
13123 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
13126 * env.c (omp_set_num_threads): Set illegal thread count to 1.
13128 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
13130 * configure: Regenerate.
13132 2006-12-04 Jakub Jelinek <jakub@redhat.com>
13135 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
13136 start if there shouldn't be any loop iterations.
13137 (gomp_loop_ordered_static_start): Remove start == end test.
13138 * testsuite/libgomp.c/pr29947-1.c: New test.
13139 * testsuite/libgomp.c/pr29947-2.c: New test.
13141 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
13143 * configure.tgt: Force initial-exec TLS model on Linux only.
13145 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
13147 * configure: Regenerated.
13149 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
13151 * env.c (parse_schedule): Reject out of range values.
13152 (parse_unsigned_long): Reject out of range, negative or zero values.
13154 2006-10-29 Jakub Jelinek <jakub@redhat.com>
13157 * testsuite/libgomp.fortran/pr29629.f90: New test.
13159 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
13162 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
13163 * config/posix95: New directory.
13164 * config/posix95/omp-lock.h: New file.
13165 * config/posix95/lock.c: Likewise.
13167 2006-10-14 Geoffrey Keating <geoffk@apple.com>
13169 * aclocal.m4: Regenerate.
13170 * configure: Regenerate.
13172 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
13174 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
13177 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
13179 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
13181 * configure: Regenerate.
13182 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
13184 2006-09-26 Jakub Jelinek <jakub@redhat.com>
13186 PR middle-end/25261
13187 PR middle-end/28790
13188 * testsuite/libgomp.c/nestedfn-4.c: New test.
13189 * testsuite/libgomp.c/nestedfn-5.c: New test.
13190 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
13193 * testsuite/libgomp.fortran/condinc1.f: New test.
13194 * testsuite/libgomp.fortran/condinc2.f: New test.
13195 * testsuite/libgomp.fortran/condinc3.f90: New test.
13196 * testsuite/libgomp.fortran/condinc4.f90: New test.
13197 * testsuite/libgomp.fortran/condinc1.inc: New file.
13199 2006-09-18 Tom Tromey <tromey@redhat.com>
13201 * configure: Rebuilt.
13203 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
13206 PR preprocessor/14634
13207 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
13209 * configure: Regenerate.
13211 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
13213 * testsuite/libgomp.fortran/reduction3.f90: Change
13214 -2147483648 to -huge(i)-1 to avoid overflow.
13215 * testsuite/libgomp.fortran/reduction4.f90: Change
13216 Z'ffffffff' to not(0) to avoid overflow.
13218 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
13221 * Makefile.am (libsubincludedir): New.
13222 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
13223 * Makefile.in: Regenerate.
13225 2006-08-17 Jakub Jelinek <jakub@redhat.com>
13228 * env.c: Include ctype.h.
13229 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
13230 leading and/or trailing whitespace and compare strings case
13233 2006-07-16 Jakub Jelinek <jakub@redhat.com>
13236 * testsuite/libgomp.fortran/pr28390.f: New test.
13238 2006-07-05 Eric Christopher <echristo@apple.com>
13240 * configure.ac: Depend addition of -pthread on host OS.
13241 * configure: Regenerate.
13243 2006-06-21 Jakub Jelinek <jakub@redhat.com>
13245 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
13246 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
13249 2006-06-20 Jakub Jelinek <jakub@redhat.com>
13253 * configure.ac: If neither --enable-linux-futex nor
13254 --disable-linux-futex is passed, determine the default by checking
13255 for compiling and/or running against NPTL. With --enable-linux-futex,
13256 check if SYS_gettid and SYS_futex are defined.
13257 * configure: Rebuilt.
13259 2006-06-14 Richard Henderson <rth@redhat.com>
13262 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
13263 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
13265 2006-06-09 Richard Henderson <rth@redhat.com>
13267 * env.c (gomp_nthreads_var): Change to unsigned long.
13268 (gomp_run_sched_chunk): Likewise.
13269 (parse_unsigned_long): Rename from parse_num_threads and generalize.
13270 (initialize_env): Initialize gomp_thread_attr.
13271 * libgomp.h (gomp_nthreads_var): Update decl.
13272 (gomp_run_sched_chunk): Likewise.
13273 (gomp_thread_attr): Declare.
13274 * team.c (gomp_thread_attr): Export.
13275 (initialize_team): Don't initialize it.
13277 2006-06-09 Jakub Jelinek <jakub@redhat.com>
13280 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
13281 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
13283 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
13285 * config/mingw32/time.c: New file.
13286 * configure.tgt: Use it.
13288 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
13290 * Makefile.am: Add install-html target. Add install-html to .PHONY
13291 * Makefile.in: Regenerate.
13293 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13296 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
13297 * testsuite/libgomp.c/critical-1.c: Likewise.
13298 * testsuite/libgomp.c/loop-1.c: Likewise.
13299 * testsuite/libgomp.c/loop-2.c: Likewise.
13300 * testsuite/libgomp.c/single-1.c: Likewise.
13301 * testsuite/libgomp.c/ordered-1.c: Likewise.
13302 * testsuite/libgomp.c/ordered-2.c: Likewise.
13304 2006-05-15 Jakub Jelinek <jakub@redhat.com>
13306 PR middle-end/27416
13307 * libgomp.fortran/pr27416-1.f90: New test.
13309 2006-05-03 Jakub Jelinek <jakub@redhat.com>
13312 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
13313 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
13315 2006-05-02 Jakub Jelinek <jakub@redhat.com>
13318 * testsuite/libgomp.c/pr26943-1.c: New test.
13319 * testsuite/libgomp.c/pr26943-2.c: New test.
13320 * testsuite/libgomp.c/pr26943-3.c: New test.
13321 * testsuite/libgomp.c/pr26943-4.c: New test.
13322 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
13323 * testsuite/libgomp.c++/pr26943.C: New test.
13325 2006-05-02 Jakub Jelinek <jakub@redhat.com>
13327 PR middle-end/27337
13328 * testsuite/libgomp.c++/pr27337.C: New test.
13330 2006-04-26 Jakub Jelinek <jakub@redhat.com>
13333 * testsuite/libgomp.c/pr26171.c: New test.
13335 2006-04-25 Richard Henderson <rth@redhat.com>
13338 * configure.ac: Use GCC_CHECK_TLS.
13339 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
13340 * Makefile.in, aclocal.m4, configure: Regenerate.
13342 2006-04-10 Matthias Klose <doko@debian.org>
13344 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
13345 directory names containing underscores.
13347 2006-03-21 Jakub Jelinek <jakub@redhat.com>
13350 * testsuite/libgomp.c++/pr26691.C: New test.
13352 2006-03-13 Jakub Jelinek <jakub@redhat.com>
13354 * testsuite/libgomp.fortran/retval2.f90: New test.
13356 2006-03-09 Diego Novillo <dnovillo@redhat.com>
13358 * testsuite/libgomp.c++: New directory.
13360 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
13362 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
13363 * config/posix/sem.c: Implement the above.
13365 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
13367 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
13368 define HAVE_BROKEN_POSIX_SEMAPHORES.
13369 * configure: Rebuilt.
13370 * config.h.in: Rebuilt.
13372 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
13375 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
13376 for the other pthread check.
13377 * configure: Regenerate.
13378 * config.h.in: Regenerate.
13380 2006-02-15 Jakub Jelinek <jakub@redhat.com>
13384 * Makefile.am (fincludedir): New variable.
13385 (nodist_include_HEADERS): Remove Fortran files.
13386 (nodist_finclude_HEADERS): New variable.
13387 * Makefile.in: Regenerated.
13389 2006-02-13 Jakub Jelinek <jakub@redhat.com>
13391 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
13392 Remove tests for returning assumed character length arrays.
13394 2006-02-12 Roger Sayle <roger@eyesopen.com>
13395 John David Anglin <dave@hiauly1.hia.nrc.ca>
13398 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
13400 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
13402 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
13404 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
13406 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
13407 part of LD_LIBRARY_PATH manually.
13409 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
13412 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
13415 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
13418 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
13419 * configure.ac (PERL): Don't set.
13420 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
13421 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
13422 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
13423 * omp.h.in: Wrap the new configure substitutions with @ characters.
13424 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
13425 * aclocal.m4, configure, Makefile.in: Regenerate.
13426 * mkomp_h.pl: Delete.
13428 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
13431 * configure.ac: Use GCC_HEADER_STDINT.
13432 * libgomp.h: Include gstdint.h.
13433 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
13434 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
13436 2006-01-24 Richard Henderson <rth@redhat.com>
13439 * configure.ac: Add AM_MAINTAINER_MODE.
13440 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
13442 2006-01-24 Diego Novillo <dnovillo@redhat.com>
13444 * Makefile.in: Regenerate.
13445 * testsuite/Makefile.in: Regenerate.
13446 * aclocal.m4: Regenerate.
13448 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
13450 * config/posix/proc.c: Conditional include of sys/loadavg.h for
13452 * configure.ac: Add check for loadavg.h.
13453 (link_gomp): Adjust comment.
13454 * configure: Regenerate.
13455 * config.h.in: Regenerate.
13457 2006-01-21 Steve Ellcey <sje@cup.hp.com>
13460 * configure.ac: Remove check for alloca.h.
13461 * configure: Regenerate.
13462 * config.h.in: Regenerate.
13463 * libgomp.h: define gomp_alloca to be __builtin_alloca.
13464 * team.c: Remove use of alloca.h.
13465 Call gomp_alloca instead of alloca.
13467 2006-01-20 Steve Ellcey <sje@cup.hp.com>
13470 * team.c: Add include of alloca.h.
13471 * configure.ac: Add check for alloca.h.
13472 * configure: Regenerate.
13473 * config.h.in: Regenerate.
13475 2006-01-17 Jakub Jelinek <jakub@redhat.com>
13478 * testsuite/libgomp.fortran/pr25219.f90: New test.
13480 2005-12-05 Uros Bizjak <uros@kss-loka.si>
13482 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
13483 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
13484 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13485 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13486 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
13487 testsuite/libgomp.fortran/threadprivate1.f90,
13488 testsuite/libgomp.fortran/threadprivate2.f90,
13489 testsuite/libgomp.fortran/threadprivate3.f90,
13490 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13491 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13492 testsuite/libgomp.fortran/omp_parse3.f90: Change required
13493 effective-target to TLS runtime.
13495 * testsuite/libgomp.fortran/pr25162.f: Require
13496 effective-target TLS runtime.
13498 2005-12-01 Jakub Jelinek <jakub@redhat.com>
13500 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
13501 * testsuite/libgomp.c/nestedfn-3.c: New test.
13503 2005-11-30 Jakub Jelinek <jakub@redhat.com>
13506 * testsuite/libgomp.fortran/pr25162.f: New test.
13508 2005-11-28 Jakub Jelinek <jakub@redhat.com>
13510 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
13511 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
13513 2005-11-25 Jakub Jelinek <jakub@redhat.com>
13515 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
13516 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
13517 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
13518 single.c, team.c, work.c, config/linux/alpha/futex.h,
13519 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
13520 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
13521 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
13522 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
13523 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
13524 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
13525 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
13528 2005-11-18 Jakub Jelinek <jakub@redhat.com>
13530 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
13531 to nodist_noinst_HEADERS.
13532 * Makefile.in: Rebuilt.
13534 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
13535 add integer count field.
13536 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
13537 omp_nest_lock_t type change.
13538 (omp_init_nest_lock): Likewise. Initialize count to 0.
13539 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
13541 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
13543 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
13544 Increment count if successful and return the new nesting level.
13545 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
13546 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
13547 * testsuite/libgomp.c/lib-1.c: New test.
13548 * testsuite/libgomp.fortran/lib1.f90: New test.
13549 * testsuite/libgomp.fortran/lib2.f: New test.
13550 * testsuite/libgomp.fortran/lib3.f: New test.
13552 2005-11-17 Richard Henderson <rth@redhat.com>
13555 * Makefile.am (nodist_toolexeclib_HEADERS): New.
13556 * configure.ac (link_gomp): New. Substitute it.
13557 (AC_CONFIG_FILES): Add libgomp.spec.
13558 * libgomp.spec.in: New file.
13559 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
13560 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
13562 2005-11-18 Jakub Jelinek <jakub@redhat.com>
13564 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
13565 reduction(-:var) behaving the same as reduction(+:var).
13566 * testsuite/libgomp.c/reduction-4.c: New test.
13568 2005-11-15 Uros Bizjak <uros@kss-loka.si>
13570 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
13571 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
13572 testsuite/libgomp.c/copyin-3.c,
13573 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13574 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13575 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
13576 testsuite/libgomp.c++/pr24455.C,
13577 testsuite/libgomp.fortran/threadprivate1.f90,
13578 testsuite/libgomp.fortran/threadprivate2.f90,
13579 testsuite/libgomp.fortran/threadprivate3.f90,
13580 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13581 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13582 testsuite/libgomp.fortran/omp_parse3.f90: Require
13583 effective-target TLS.
13585 2005-11-14 Diego Novillo <dnovillo@redhat.com>
13589 2005-11-13 Jakub Jelinek <jakub@redhat.com>
13592 * team.c (initialize_team): Pass NULL rather than free as
13593 pthread_key_create destructor. Initialize thread specific data
13594 pointer in initial thread to a static local variable rather than
13597 2005-11-11 Uros Bizjak <uros@kss-loka.si>
13599 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
13600 its location to ld_library_path.
13602 2005-11-10 Diego Novillo <dnovillo@redhat.com>
13604 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
13606 2005-11-10 Diego Novillo <dnovillo@redhat.com>
13608 * testsuite/libgomp.c: Rename from libgomp.dg.
13610 2005-11-09 Diego Novillo <dnovillo@redhat.com>
13612 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
13613 threadprivate variable 'i'.
13615 2005-11-09 Jakub Jelinek <jakub@redhat.com>
13617 * config/linux/s390/futex.h: New file.
13618 * configure.tgt: Use it.
13620 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13621 before the parallel.
13623 2005-11-08 Jakub Jelinek <jakub@redhat.com>
13626 * testsuite/libgomp.c++/master-1.C: New test.
13628 2005-11-07 Jakub Jelinek <jakub@redhat.com>
13630 * testsuite/libgomp.dg/copyin-3.c: New test.
13632 2005-11-07 Jakub Jelinek <jakub@redhat.com>
13634 * testsuite/libgomp.fortran/retval1.f90: New test.
13635 * testsuite/libgomp.fortran/vla7.f90: New test.
13637 2005-11-06 Jakub Jelinek <jakub@redhat.com>
13639 * testsuite/libgomp.fortran/vla2.f90: New test.
13640 * testsuite/libgomp.fortran/vla3.f90: New test.
13641 * testsuite/libgomp.fortran/vla4.f90: New test.
13642 * testsuite/libgomp.fortran/vla5.f90: New test.
13643 * testsuite/libgomp.fortran/vla6.f90: New test.
13645 2005-11-01 Jakub Jelinek <jakub@redhat.com>
13647 * config/linux/sparc/futex.h: New file.
13648 * configure.tgt: Use it.
13649 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13651 * critical.c: Include stdlib.h.
13652 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13653 ignoring return value.
13654 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13655 LIBGOMP_CHECK_SYNC_BUILTINS check.
13656 * configure: Rebuilt.
13658 2005-10-31 Jakub Jelinek <jakub@redhat.com>
13660 * testsuite/libgomp.fortran/vla1.f90: New test.
13662 2005-10-31 Richard Henderson <rth@redhat.com>
13664 * testsuite/libgomp.fortran/character2.f90: Fix race condition
13665 setting 's' in different threads.
13667 2005-10-31 Jakub Jelinek <jakub@redhat.com>
13669 * libgomp.h (attribute_hidden, ialias): Define.
13670 * config/posix/proc.c (omp_get_num_procs): Add ialias.
13671 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13672 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13673 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13674 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13675 omp_test_lock, omp_test_nest_lock): Likewise.
13676 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13677 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13678 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13679 omp_test_lock, omp_test_nest_lock): Likewise.
13680 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13681 omp_get_dynamic, omp_get_nested): Likewise.
13682 * parallel.c (omp_get_num_threads, omp_get_max_threads,
13683 omp_get_thread_num, omp_in_parallel): Likewise.
13684 * fortran.c (ialias_redirect): Define.
13685 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13686 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13687 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13688 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13689 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13690 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13691 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13692 omp_get_wtime): Add ialias_redirect.
13694 2005-10-30 Jakub Jelinek <jakub@redhat.com>
13696 * fortran.c: Include stdlib.h.
13698 2005-10-29 Jakub Jelinek <jakub@redhat.com>
13700 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13701 * Makefile.in: Regenerated.
13703 2005-10-28 Jakub Jelinek <jakub@redhat.com>
13705 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13706 * libgomp_f.h.in (omp_check_defines): New function.
13707 * env.c: Include libgomp_f.h.
13708 (initialize_env): Call omp_check_defines.
13710 * testsuite/libgomp.dg/copyin-2.c: New test.
13711 * testsuite/libgomp.c++/copyin-2.C: New test.
13712 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13714 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13715 * testsuite/libgomp.fortran/sharing2.f90: New test.
13717 * testsuite/libgomp.dg/copyin-1.c: New test.
13718 * testsuite/libgomp.c++/copyin-1.C: New test.
13720 2005-10-26 Jakub Jelinek <jakub@redhat.com>
13722 * testsuite/libgomp.fortran/crayptr1.f90: New test.
13724 * testsuite/libgomp.fortran/workshare1.f90: New test.
13726 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13728 * libgomp.fortran/sharing1.f90: New test.
13730 2005-10-24 Jakub Jelinek <jakub@redhat.com>
13733 * testsuite/libgomp.c++/loop-7.C: New test.
13735 * testsuite/libgomp.dg/nestedfn-2.c: New test.
13737 * testsuite/libgomp.dg/nestedfn-1.c: New test.
13738 * testsuite/libgomp.fortran/reduction6.f90: New test.
13739 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13741 2005-10-23 Richard Henderson <rth@redhat.com>
13743 * testsuite/libgomp.c++/ctor-1.C: New.
13744 * testsuite/libgomp.c++/ctor-2.C: New.
13745 * testsuite/libgomp.c++/ctor-3.C: New.
13746 * testsuite/libgomp.c++/ctor-4.C: New.
13747 * testsuite/libgomp.c++/ctor-5.C: New.
13748 * testsuite/libgomp.c++/ctor-6.C: New.
13749 * testsuite/libgomp.c++/ctor-7.C: New.
13750 * testsuite/libgomp.c++/ctor-8.C: New.
13751 * testsuite/libgomp.c++/ctor-9.C: New.
13753 2005-10-21 Diego Novillo <dnovillo@redhat.com>
13756 * testsuite/libgomp.c++/pr24455-1.C: New test.
13757 * testsuite/libgomp.c++/pr24455.C: New test.
13758 * testsuite/libgomp.dg/pr24455-1.c: New test.
13759 * testsuite/libgomp.dg/pr24455.c: New test.
13761 2005-10-20 Richard Henderson <rth@redhat.com>
13763 * testsuite/libgomp.c++/loop-6.C: New.
13764 * testsuite/libgomp.dg/loop-3.c: New.
13766 2005-10-20 Jakub Jelinek <jakub@redhat.com>
13768 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13769 explicitly private.
13770 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13773 2005-10-19 Diego Novillo <dnovillo@redhat.com>
13775 * testsuite/libgomp.fortran/jacobi.f: New test.
13777 2005-10-19 Richard Henderson <rth@redhat.com>
13779 * configure.tgt (i?86-linux): Default to with_arch instead of
13780 CFLAGS. Add -mtune to match target_cpu.
13781 (x86_64-linux): Tune to i686.
13783 * fortran.c (omp_test_nest_lock_): Fix typo.
13785 2005-10-19 Jakub Jelinek <jakub@redhat.com>
13787 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13788 gomp_ordered_sync): Do nothing if team->nthreads == 1.
13789 * testsuite/libgomp.dg/ordered-3.c: New test.
13791 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13792 Remove volatile keyword.
13794 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13795 in COMMON block to avoid warnings on 64-bit targets.
13797 2005-10-18 Diego Novillo <dnovillo@redhat.com>
13799 * testsuite/libgomp.dg/shared-3.c: New test.
13801 2005-10-18 Jakub Jelinek <jakub@redhat.com>
13803 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13804 * testsuite/libgomp.fortran/reduction5.f90: New test.
13806 2005-10-18 Jakub Jelinek <jakub@redhat.com>
13808 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13810 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
13811 flush loop now that __sync_synchronize has proper memory barrier.
13812 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13813 Add -ffixed-form to dg-options.
13815 2005-10-17 Diego Novillo <dnovillo@redhat.com>
13817 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13818 from subdirectories.
13819 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13820 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13821 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13822 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13823 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13824 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13825 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13826 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13827 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13828 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13829 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13830 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13831 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13832 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13833 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13834 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13835 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13836 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13837 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13838 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13839 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13840 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13841 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13842 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13843 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13845 2005-10-17 Jakub Jelinek <jakub@redhat.com>
13847 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13848 lang_library_path exists. Use find instead of glob to gather tests.
13849 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13851 2005-10-17 Diego Novillo <dnovillo@redhat.com>
13853 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13854 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13855 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13856 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13857 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13858 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13859 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13860 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13861 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13862 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13863 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13864 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13865 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13867 2005-10-15 Jakub Jelinek <jakub@redhat.com>
13869 * testsuite/libgomp.dg/vla-1.c: New test.
13871 * testsuite/libgomp.fortran/reference2.f90: New test.
13873 * testsuite/libgomp.fortran/character2.f90: Remove explicit
13874 declaration of omp_get_thread_num.
13875 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
13878 * testsuite/libgomp.fortran/reduction1.f90: New test.
13879 * testsuite/libgomp.fortran/reduction2.f90: New test.
13880 * testsuite/libgomp.fortran/reduction3.f90: New test.
13881 * testsuite/libgomp.fortran/reduction4.f90: New test.
13883 2005-10-13 Richard Henderson <rth@redhat.com>
13885 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13886 * Makefile.in: Regenerate.
13887 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13888 * libgomp.h: Include bar.h.
13889 (struct gomp_barrier): Remove.
13890 (struct gomp_team): Add barrier. Replace master_barrier with
13891 master_release. Replace threads with ordered_release.
13892 (struct gomp_thread): Replace barrier with release.
13893 * ordered.c (gomp_ordered_first): Update for ordered_release change.
13894 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13895 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13896 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13897 (GOMP_single_copy_end): Likewise.
13898 * team.c (gomp_threads_dock): New.
13899 (gomp_barrier_init, gomp_barrier_destroy): Remove.
13900 (gomp_thread_start): Use gomp_barrier_wait.
13901 (new_team, free_team): Update for gomp_team changes.
13902 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13903 (gomp_team_end): Use gomp_barrier_wait.
13904 (initialize_team): Update for gomp_thread changes.
13905 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13906 (gomp_work_share_end_nowait): Use atomic ops when available.
13907 * config/linux/bar.c, config/linux/bar.h: New files.
13908 * config/posix/bar.c, config/posix/bar.h: New files.
13910 2005-10-13 Jakub Jelinek <jakub@redhat.com>
13912 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13913 * testsuite/libgomp.dg/single-2.c: New test.
13915 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13916 lang_link_flags): Unset, so that they aren't inherited from previously
13919 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13921 2005-10-12 Richard Henderson <rth@redhat.com>
13923 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13924 (libgomp_init): Use lang_test_file, lang_library_path, and
13925 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
13927 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13928 (lang_test_file, lang_link_flags): New.
13929 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13931 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13932 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13933 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13934 testsuite/libgomp.c++/parallel-1.C,
13935 testsuite/libgomp.c++/reduction-1.C,
13936 testsuite/libgomp.c++/reduction-2.C,
13937 testsuite/libgomp.c++/reduction-3.C,
13938 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13939 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13940 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13941 New files, largely cribbed from the C testsuite.
13943 2005-10-12 Jakub Jelinek <jakub@redhat.com>
13945 * testsuite/libgomp.fortran/character1.f90: New test.
13946 * testsuite/libgomp.fortran/character2.f90: New test.
13948 * testsuite/libgomp.dg/nested-1.c: New test.
13949 * testsuite/libgomp.dg/nested-2.c: New test.
13950 * testsuite/libgomp.fortran/do1.f90: New test.
13951 * testsuite/libgomp.fortran/do2.f90: New test.
13953 * testsuite/libgomp.fortran/reference1.f90: New test.
13955 2005-10-11 Jakub Jelinek <jakub@redhat.com>
13957 * testsuite/libgomp.dg/reduction-1.c: New test.
13958 * testsuite/libgomp.dg/reduction-2.c: New test.
13959 * testsuite/libgomp.dg/reduction-3.c: New test.
13961 2005-10-10 Jakub Jelinek <jakub@redhat.com>
13963 * testsuite/libgomp.dg/atomic-1.c: New test.
13964 * testsuite/libgomp.dg/atomic-2.c: New test.
13966 2005-10-09 Richard Henderson <rth@redhat.com>
13968 * critical.c (atomic_lock): New.
13969 (initialize_critical): Initialize it.
13970 (GOMP_atomic_start, GOMP_atomic_end): New.
13971 * libgomp.map: Export them.
13972 * libgomp_g.h: Declare them.
13974 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13976 2005-10-02 Richard Henderson <rth@redhat.com>
13978 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
13979 to XCFLAGS instead of CFLAGS.
13981 2005-09-30 Richard Henderson <rth@redhat.com>
13983 * configure.ac: Determine whether -pthread or -lpthread is needed.
13984 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
13985 * Makefile.in, configure: Rebuild.
13987 2005-09-28 Richard Henderson <rth@redhat.com>
13989 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13990 * testsuite/libgomp.dg/omp-single-3.c: New test.
13992 2005-09-28 Diego Novillo <dnovillo@redhat.com>
13994 * testsuite/libgomp.dg/omp-single-2.c: New test.
13995 * testsuite/libgomp.dg/shared-2.c: Fix return code.
13997 2005-09-27 Richard Henderson <rth@redhat.com>
13999 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
14000 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
14002 2005-09-27 Jakub Jelinek <jakub@redhat.com>
14004 * testsuite/libgomp.dg/omp-loop03.c: New test.
14006 2005-09-27 Diego Novillo <dnovillo@redhat.com>
14008 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
14010 2005-09-27 Diego Novillo <dnovillo@redhat.com>
14012 * testsuite/libgomp.dg/omp-single-1.c: New test.
14013 * testsuite/libgomp.dg/shared-1.c: Return 0.
14014 Add prototype for abort.
14015 * testsuite/libgomp.dg/shared-2.c: Likewise.
14017 2005-09-26 Jakub Jelinek <jakub@redhat.com>
14019 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
14022 2005-09-26 Diego Novillo <dnovillo@redhat.com>
14024 * testsuite/libgomp.dg/shared-1.c: New test.
14025 * testsuite/libgomp.dg/shared-2.c: New test.
14027 2005-09-24 Richard Henderson <rth@redhat.com>
14029 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
14031 2005-09-24 Richard Henderson <rth@redhat.com>
14033 * iter.c (gomp_iter_static_next): Round up when computing number
14034 of iterations. Don't bother distributing a remainder equally.
14036 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
14037 Don't call srand. Zero b before testing.
14040 2005-09-24 Jakub Jelinek <jakub@redhat.com>
14042 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
14043 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
14045 2005-09-23 Jakub Jelinek <jakub@redhat.com>
14047 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
14048 without !$omp end do, followed immediately by subroutine end.
14050 2005-09-23 Diego Novillo <dnovillo@redhat.com>
14052 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
14054 2005-09-22 Richard Henderson <rth@redhat.com>
14056 * critical.c (GOMP_critical_name_start): Change argument to void**.
14057 Reuse the pointer space if the mutex fits.
14058 (GOMP_critical_name_end): Likewise.
14059 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
14060 * libgomp_g.h (GOMP_critical_name_start): Update decl.
14061 (GOMP_critical_name_end): Likewise.
14062 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
14063 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
14065 2005-09-20 Richard Henderson <rth@redhat.com>
14067 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
14068 (create_lock_lock): New.
14069 (initialize_critical): Initialize it.
14070 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
14071 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
14073 2005-09-20 Diego Novillo <dnovillo@redhat.com>
14075 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
14077 2005-09-20 Diego Novillo <dnovillo@redhat.com>
14079 * testsuite/libgomp.dg/omp-loop01.c: New test.
14080 * testsuite/libgomp.dg/omp-loop02.c: New test.
14082 2005-09-20 Jakub Jelinek <jakub@redhat.com>
14084 * configure.ac (AC_PROG_FC): Add.
14085 (USE_FORTRAN): New automake conditional.
14086 * configure: Rebuilt.
14087 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
14088 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
14089 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
14090 Add rules to build them.
14091 * Makefile.in: Rebuilt.
14092 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
14093 OMP_NEST_LOCK_KIND.
14094 * libgomp.map: Add Fortran wrappers.
14095 * libgomp_f.h.in: New file.
14096 * omp_lib.h.in: New file.
14097 * omp_lib.f90.in: New file.
14098 * fortran.c: New file.
14099 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
14100 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
14101 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
14102 libgfortran has been built.
14103 * testsuite/libgomp.fortran/fortran.exp: New file.
14104 * testsuite/libgomp.fortran/omp_cond1.f: New test.
14105 * testsuite/libgomp.fortran/omp_cond2.f: New test.
14106 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
14107 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
14108 * testsuite/libgomp.fortran/omp_hello.f: New test.
14109 * testsuite/libgomp.fortran/omp_orphan.f: New test.
14110 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
14111 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
14112 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
14113 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
14114 * testsuite/libgomp.fortran/omp_reduction.f: New test.
14115 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
14116 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
14118 2005-08-30 Richard Henderson <rth@redhat.com>
14120 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
14121 function for when aliases are not usable.
14122 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
14123 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14124 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
14125 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
14126 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
14127 GOMP_loop_ordered_guided_next): Likewise.
14128 * ordered.c (GOMP_ordered_start): Likewise.
14130 2005-08-01 Diego Novillo <dnovillo@redhat.com>
14132 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
14133 * testsuite/libgomp.dg/omp_hello.c: Fix return code
14134 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
14135 * testsuite/libgomp.dg/omp_orphan.c: Likewise
14136 * testsuite/libgomp.dg/omp_reduction.c: Likewise
14137 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
14138 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
14139 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
14140 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
14142 2005-07-07 Eric Christopher <echristo@redhat.com>
14143 Diego Novillo <dnovillo@redhat.com>
14145 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
14146 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
14148 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
14149 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
14150 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
14151 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
14152 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
14153 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
14154 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
14156 2005-06-13 Diego Novillo <dnovillo@redhat.com>
14158 * TOPLEVEL.patch: Remove.
14160 2005-05-16 Richard Henderson <rth@redhat.com>
14162 * configure.ac: Test for clock_gettime.
14163 * config.h.in, configure: Rebuild.
14164 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
14165 (omp_get_wtime): Use clock_gettime if available.
14166 (omp_get_wtick): Use clock_getres if available.
14168 2005-05-11 Richard Henderson <rth@redhat.com>
14170 * config/linux/ia64/futex.h: New file.
14171 * configure.tgt: Use it.
14173 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
14175 2005-05-07 Richard Henderson <rth@redhat.com>
14177 * config/linux/powerpc/futex.h: New file.
14178 * configure.tgt: Use it.
14180 * config/linux/i486/futex.h: Merge ...
14181 * config/linux/x86_64/futex.h: ... into ...
14182 * config/linux/x86/futex.h: ... here.
14183 * configure.tgt: Update to match.
14185 2005-05-06 Richard Henderson <rth@redhat.com>
14187 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
14188 * config/linux/i486/futex.h: Likewise.
14189 * config/linux/x86_64/futex.h: Likewise.
14191 * config/linux/lock.c: New file.
14192 * config/linux/omp-lock.h: New file.
14194 * critical.c, env.h: Don't include omp.h
14195 * config/posix/lock.c: Include libgomp.h instead of omp.h.
14196 * config/posix/time.c: Likewise.
14197 * config/posix/omp-lock.h: New file.
14198 * libgomp.h: Include omp-lock.h and omp.h.
14199 * Makefile.am (nodist_include_HEADERS): New.
14201 * configure.ac (PERL): New.
14202 * mkomp_h.pl: New file.
14203 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
14205 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
14207 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
14208 build directory. Re-add -march=i486 hack.
14210 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
14211 (libgomp_link_flags): Remove.
14212 (libgomp_initialized): Remove.
14213 (libgomp_init): Don't protect from reinitialization. Copy code
14214 from libstdc++ for getting the multilib set correctly.
14216 2005-05-05 Richard Henderson <rth@redhat.com>
14218 * config/linux/alpha/futex.h: New file.
14219 * configure.tgt (alpha*-*-linux*): Use it.
14221 * config/posix/mutex.c: New file.
14222 * config/posix/sem.c: Use libgomp.h.
14224 * configure.tgt (x86_64-linux): Also test CC for -m32.
14225 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
14227 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
14230 * Makefile.am (SUBDIRS): New.
14231 (libgomp_la_LDFLAGS): Add -lpthread.
14232 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
14233 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
14235 * libgomp_g.h: New file.
14236 * libgomp.h: Split out all public declarations to libgomp_g.h.
14237 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
14238 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
14239 * config/linux/sem.h: Likewise.
14240 * config/posix/sem.h: Likewise.
14242 * Makefile.am (AM_LDFLAGS): New.
14243 (libgomp_version_script): Split out from ...
14244 (libgomp_la_LDFLAGS): ... here.
14245 (libgomp_version_info): New.
14246 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
14247 (LIBGOMP_ENABLE): New.
14248 (LIBGOMP_CHECK_LINKER_FEATURES): New.
14249 (LIBGOMP_ENABLE_SYMVERS): New.
14250 * configure.ac (AC_INIT): Version 1.0.
14251 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
14252 (enable-linux-futex): Likewise. Rename from enable-futex.
14253 (libtool_VERSION): New.
14254 (LIBGOMP_ENABLE_SYMVERS): Use it.
14255 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
14256 * Makefile.in, aclocal.m4, configure: Rebuild.
14258 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
14259 (gomp_mutex_unlock_slow): Fix typo.
14260 * config/linux/sem.c: Similarly.
14261 (gomp_sem_post_slow): Fix typo.
14262 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
14263 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
14264 [__PIC__] (sys_futex0): Don't use tmp output in asm.
14266 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
14267 (libgomp_la_LDFLAGS): Add top_srcdir to path.
14268 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
14269 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
14270 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
14271 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
14272 LDFLAGS. Pull enable_futex check to top-level.
14273 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
14274 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
14276 First attempt at real configury.
14277 * Makefile, config.h: Remove file.
14278 * Makefile.am, Makefile.in: New file.
14279 * acinclude.m4 aclocal.m4: New file.
14280 * configure.ac, configure.tgt, configure: New file.
14282 * config/posix/lock.c: Rename from sys-lock.c.
14283 * config/posix/mutex.h: Rename from sys-mutex.h.
14284 * config/posix/sem.c: Rename from sys-sem.c.
14285 * config/posix/sem.h: Rename from sys-sem.h.
14286 * config/posix/proc.c: Rename from sys-proc.c.
14287 * config/posix/time.c: Rename from sys-proc.c.
14289 * config/linux/mutex.c: New file.
14290 * config/linux/mutex.h: New file.
14291 * config/linux/sem.c: New file.
14292 * config/linux/sem.h: New file.
14293 * config/linux/i486/futex.h: New file.
14294 * config/linux/x86_64/futex.h: New file.
14296 2005-05-04 Richard Henderson <rth@redhat.com>
14298 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
14299 * libgomp.h: Declare them.
14300 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
14301 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
14303 2005-05-04 Richard Henderson <rth@redhat.com>
14305 * libgomp-1 code drop
14307 2005-05-04 Richard Henderson <rth@redhat.com>
14309 * iter.c (gomp_iter_static_next): Return tri-state on 0.
14310 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
14311 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
14312 (gomp_iter_static_next): Update.
14313 (gomp_ordered_static_next): Update.
14314 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
14315 (gomp_loop_ordered_static_start): Likewise. Exit early for a
14316 totally empty range.
14317 (gomp_loop_ordered_static_next): Refine test for calling
14318 gomp_ordered_static_next.
14319 * testsuite/ordered-1.c: Add case for more threads than iterations.
14321 * iter.c (gomp_iter_runtime_next_locked): Remove.
14322 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
14323 gomp_loop_guided_start, gomp_loop_ordered_static_start,
14324 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
14325 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
14326 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
14327 gomp_loop_ordered_guided_next): Downcase name, make static, add
14328 an external alias with the old name.
14329 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
14330 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
14331 switch and call one of the above static functions.
14332 * libgomp.h: Update.
14334 * work.c (gomp_work_share_start): Lock the mutex for !first too.
14335 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
14336 GOMP_loop_guided_start, GOMP_loop_runtime_start,
14337 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14338 GOMP_loop_ordered_guided_start): Update to match.
14339 * sections.c (GOMP_sections_start): Likewise.
14340 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
14342 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
14343 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
14344 Use bounds check instead of modulus.
14345 (gomp_ordered_sync): Split out of GOMP_ordered_start.
14346 (gomp_ordered_last): Don't sync with ordered_owner here.
14347 (gomp_ordered_next): Likewise.
14348 (gomp_ordered_static_loop_next): Likewise.
14349 * loop.c, libgomp.h: Update to match.
14351 * libgomp.h (GOMP_barrier): Declare.
14353 * testsuite/barrier-1.c: New file.
14354 * testsuite/critical-1.c: New file.
14355 * testsuite/ordered-2.c: New file.
14356 * testsuite/ordered-1.c: New file.
14357 * testsuite/sections-1.c: New file.
14358 * testsuite/single-1.c: New file.
14359 * testsuite/Makefile (TESTS): Add them.
14361 2005-05-04 Richard Henderson <rth@redhat.com>
14363 * libgomp.h (struct gomp_work_share): Add ordered_owner.
14364 * loop.c (GOMP_loop_static_start): If not the startup thread,
14365 acquire the mutex to wait for initialization complete.
14366 (GOMP_loop_ordered_static_start): Likewise.
14367 (GOMP_loop_ordered_runtime_start): Likewise.
14368 (GOMP_loop_ordered_static_first): Remove.
14369 (GOMP_loop_ordered_dynamic_first): Remove.
14370 (GOMP_loop_ordered_guided_first): Remove.
14371 (GOMP_loop_ordered_runtime_first): Remove.
14372 * ordered.c (gomp_ordered_loop_first): Post to own release when
14373 we're the first thread.
14374 (gomp_ordered_loop_last): Wait on release if not owner.
14375 (gomp_ordered_loop_next): Likewise.
14376 (gomp_ordered_static_loop_init): New.
14377 (gomp_ordered_static_loop_next): Use ordered_owner.
14378 (GOMP_ordered_start): Likewise.
14379 * work.c (gomp_new_work_share): Initialize ordered_owner.
14381 2005-05-03 Richard Henderson <rth@redhat.com>
14383 * Makefile (OPT): New.
14386 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
14387 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
14388 * libgomp.h, libgomp.map, NOTES: Update to match.
14390 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
14391 Add initialized and thr members.
14392 (gomp_thread_start): Pause when initially spawned to wait for
14393 the whole team to be created.
14394 (gomp_team_start): Release team members at the end.
14396 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
14397 (f_foo_1): Use GOMP_loop_end.
14398 (f_foo_2): Use GOMP_loop_end_nowait.
14400 * testsuite/loop-2.c: New file.
14401 * testsuite/Makefile (TESTS): Add it.
14403 2005-05-03 Richard Henderson <rth@redhat.com>
14405 * iter.c (gomp_iter_static_next): Fix overflow check typo.
14406 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
14407 * team.c (new_team): Initialize oldest_live_gen to 1 if no
14408 initial work_share.
14410 * testsuite/Makefile: New file.
14411 * testsuite/loop-1.c: New file.
14413 2005-05-03 Richard Henderson <rth@redhat.com>
14415 Initial implementation and checkin.
14417 Copyright (C) 2005-2020 Free Software Foundation, Inc.
14419 Copying and distribution of this file, with or without modification,
14420 are permitted in any medium without royalty provided the copyright
14421 notice and this notice are preserved.