]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
6e1edf48
GA
12020-12-05 Iain Sandoe <iain@sandoe.co.uk>
2
3 PR target/97865
4 * configure: Regenerate.
5
a9625c50
GA
62020-11-29 John David Anglin <danglin@gcc.gnu.org>
7
8 * configure: Regenerate.
9
360258da
GA
102020-11-25 Thomas Schwinge <thomas@codesourcery.com>
11
12 * testsuite/libgomp.oacc-c++/cache-1.C: New.
13 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
14
152020-11-25 Andrew Stubbs <ams@codesourcery.com>
16
17 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
18 expected results.
19
1e2c9a27
GA
202020-11-24 Andrew Stubbs <ams@codesourcery.com>
21
22 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
23 (reserved): Delete unused define.
24
252020-11-24 Thomas Schwinge <thomas@codesourcery.com>
26
27 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
28 Tcl 8.5-specific behavior.
29 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
30
25bb75f8
GA
312020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
32
33 * env.c (gomp_global_icv): Remove nest_var field. Add
34 max_active_levels_var field.
35 (gomp_max_active_levels_var): Remove.
36 (parse_boolean): Return true on success.
37 (handle_omp_display_env): Express OMP_NESTED in terms of
38 max_active_levels_var. Change format specifier for
39 max_active_levels_var.
40 (initialize_env): Set max_active_levels_var from
41 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
42 OMP_PROC_BIND.
43 * icv.c (omp_set_nested): Express in terms of
44 max_active_levels_var.
45 (omp_get_nested): Likewise.
46 (omp_set_max_active_levels): Use max_active_levels_var field instead
47 of gomp_max_active_levels_var.
48 (omp_get_max_active_levels): Likewise.
49 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
50 max_active_levels_var field.
51 (gomp_supported_active_levels): Set to UCHAR_MAX.
52 (gomp_max_active_levels_var): Delete.
53 * libgomp.texi (omp_get_nested): Update documentation.
54 (omp_set_nested): Likewise.
55 (OMP_MAX_ACTIVE_LEVELS): Likewise.
56 (OMP_NESTED): Likewise.
57 (OMP_NUM_THREADS): Likewise.
58 (OMP_PROC_BIND): Likewise.
59 * parallel.c (gomp_resolve_num_threads): Replace reference
60 to nest_var with max_active_levels_var. Use max_active_levels_var
61 field instead of gomp_max_active_levels_var.
62
632020-11-18 Tobias Burnus <tobias@codesourcery.com>
64
65 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
66 nvptx_usleep; use also for device={arch(gcn)}.
67
faab61b5
GA
682020-11-14 Jakub Jelinek <jakub@redhat.com>
69
70 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
71 (foo): Add tests for non-VLA private and firstprivate clauses on
72 omp task.
73 (bar): Likewise. Remove taking of address from private/firstprivate
74 variables.
75 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
76 (foo): Add p, q, px and s arguments. Add tests for array reductions
77 and for non-VLA private and firstprivate clauses on omp task.
78 (bar): Removed.
79 (main): Adjust foo caller. Don't call bar.
80
77f67db2
GA
812020-11-13 Gergö Barany <gergo@codesourcery.com>
82 Thomas Schwinge <thomas@codesourcery.com>
83
84 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
85 New.
86 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
87 Likewise.
88 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
89 Likewise.
90 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
91 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
92
932020-11-13 Gergö Barany <gergo@codesourcery.com>
94 Thomas Schwinge <thomas@codesourcery.com>
95
96 PR fortran/94358
97 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
98
992020-11-13 Jakub Jelinek <jakub@redhat.com>
100
101 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
102 for array reductions.
103 (main): Adjust foo callers.
104
a5a11525
GA
1052020-11-12 Jakub Jelinek <jakub@redhat.com>
106
107 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
108 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
109 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
110 * allocator.c (omp_aligned_alloc): New for now static function,
111 add alignment argument and handle it.
112 (omp_alloc): Reimplement using omp_aligned_alloc.
113 (GOMP_alloc, GOMP_free): New functions.
114 (omp_free): Add ialias.
115 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
116 * testsuite/libgomp.c++/allocate-1.C: New test.
117
1182020-11-12 Thomas Schwinge <thomas@codesourcery.com>
119
120 PR fortran/97782
121 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
122
bb622641
GA
1232020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
124
125 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
126 usable.
127 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
128 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
129 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
130 (goacc_enter_data_internal): Likewise.
131 * target.c (gomp_map_vars_internal):
132 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
133 of gomp_attach_pointer for OpenMP cases.
134 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
135 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
136 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
137
0cfd9109
GA
1382020-11-05 Ulrich Drepper <drepper@redhat.com>
139 Kwok Cheung Yeung <kcy@codesourcery.com>
140
141 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
142 * Makefile.in: Regenerate.
143 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
144 pragmas to ignore -Wdeprecated-declarations warnings.
145 * icv.c: Likewise.
146 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
147 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
148 and omp_get_nested with __GOMP_DEPRECATED_5_0.
149 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
150 deprecated.
151 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
152 to test options.
153 * testsuite/libgomp.c/affinity-1.c: Likewise.
154 * testsuite/libgomp.c/affinity-2.c: Likewise.
155 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
156 * testsuite/libgomp.c/lib-1.c: Likewise.
157 * testsuite/libgomp.c/nested-1.c: Likewise.
158 * testsuite/libgomp.c/nested-2.c: Likewise.
159 * testsuite/libgomp.c/nested-3.c: Likewise.
160 * testsuite/libgomp.c/pr32362-1.c: Likewise.
161 * testsuite/libgomp.c/pr32362-2.c: Likewise.
162 * testsuite/libgomp.c/pr32362-3.c: Likewise.
163 * testsuite/libgomp.c/pr35549.c: Likewise.
164 * testsuite/libgomp.c/pr42942.c: Likewise.
165 * testsuite/libgomp.c/pr61200.c: Likewise.
166 * testsuite/libgomp.c/sort-1.c: Likewise.
167 * testsuite/libgomp.c/target-5.c: Likewise.
168 * testsuite/libgomp.c/target-6.c: Likewise.
169 * testsuite/libgomp.c/teams-1.c: Likewise.
170 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
171 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
172 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
173 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
174 * testsuite/libgomp.fortran/lib1.f90: Likewise.
175 * testsuite/libgomp.fortran/lib2.f: Likewise.
176 * testsuite/libgomp.fortran/nested1.f90: Likewise.
177 * testsuite/libgomp.fortran/teams1.f90: Likewise.
178
88ce3d5f
GA
1792020-11-02 Thomas Schwinge <thomas@codesourcery.com>
180
181 PR target/85486
182 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
183 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
184 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
185
1862020-11-02 Thomas Schwinge <thomas@codesourcery.com>
187
188 PR testsuite/80219
189 PR testsuite/85303
190 * testsuite/lib/libgomp.exp (libgomp_init): Set
191 'gcc_warning_prefix', 'gcc_error_prefix'.
192
1932020-10-30 Jakub Jelinek <jakub@redhat.com>
194
195 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
196 even in field_tgt_clear initializer.
197
e93aae4a
GA
1982020-10-28 Jakub Jelinek <jakub@redhat.com>
199
200 * testsuite/libgomp.c/target-42.c: New test.
201
2022020-10-28 Jakub Jelinek <jakub@redhat.com>
203 Tom de Vries <tdevries@suse.de>
204
205 PR testsuite/81690
206 * testsuite/libgomp.c/usleep.h: New file.
207 * testsuite/libgomp.c/target-32.c: Include usleep.h.
208 (main): Use tgt_usleep instead of usleep.
209 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
210 (main): Use tgt_usleep instead of usleep.
211
2122020-10-28 Jakub Jelinek <jakub@redhat.com>
213
214 PR lto/96680
215 * testsuite/libgomp.c/declare-variant-1.c: New test.
216
56ddd5e2
GA
2172020-10-22 Jakub Jelinek <jakub@redhat.com>
218
219 * testsuite/libgomp.c/target-41.c: New test.
220
2212020-10-22 Jakub Jelinek <jakub@redhat.com>
222
223 * icv.c (omp_get_initial_device): Remove including corresponding
224 ialias.
225 * icv-device.c (omp_get_initial_device): New function. Return
226 gomp_get_num_devices (). Add ialias.
227 * target.c (resolve_device): Don't fail with
228 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
229 gomp_get_num_devices ().
230 (omp_target_alloc, omp_target_free, omp_target_is_present,
231 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
232 omp_target_disassociate_ptr, omp_pause_resource): Use
233 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
234 first use in the functions, in uses dominated by the
235 gomp_get_num_devices call use num_devices_openmp instead.
236 * libgomp.texi (omp_get_initial_device): Document.
237 * config/gcn/icv-device.c (omp_get_initial_device): New function.
238 Add ialias.
239 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
240 * testsuite/libgomp.c/target-40.c: New test.
241
2422020-10-21 Jakub Jelinek <jakub@redhat.com>
243
244 * env.c (parse_target_offload): Change new_offload var type to int,
245 preinitialize to -1, remove found var and test new_offload != -1
246 instead of found.
247
e2e04288
GA
2482020-10-20 Jakub Jelinek <jakub@redhat.com>
249
250 * target.c (gomp_target_init): Inside of the function, use automatic
251 variables corresponding to num_devices, num_devices_openmp and devices
252 global variables and update the globals only at the end of the
253 function.
254
2552020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
256
257 * env.c (gomp_target_offload_var): New.
258 (parse_target_offload): New.
259 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
260 (initialize_env): Parse OMP_TARGET_OFFLOAD.
261 * libgomp.h (gomp_target_offload_t): New.
262 (gomp_target_offload_var): New.
263 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
264 * target.c (resolve_device): Generate error if device not found and
265 offloading is mandatory.
266 (gomp_target_fallback): Generate error if offloading is mandatory.
267 (GOMP_target): Add argument in call to gomp_target_fallback.
268 (GOMP_target_ext): Likewise.
269 (gomp_target_data_fallback): Generate error if offloading is mandatory.
270 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
271 (GOMP_target_data_ext): Likewise.
272 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
273 (gomp_target_init): Return early if offloading is disabled.
274
b85d5dc5
GA
2752020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
276
277 * libgomp.texi (omp_get_max_active_levels): Modify description.
278 (omp_get_supported_active_levels): Make descriptions consistent.
279
b2698c21
GA
2802020-10-14 Jakub Jelinek <jakub@redhat.com>
281
282 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
283
bdd74cc2
GA
2842020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
285
286 * env.c (gomp_max_active_levels_var): Initialize to
287 gomp_supported_active_levels.
288 (initialize_env): Limit gomp_max_active_levels_var to be at most
289 equal to gomp_supported_active_levels.
290 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
291 (omp_get_supported_active_levels_): New.
292 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
293 to at most equal to gomp_supported_active_levels.
294 (omp_get_supported_active_levels): New.
295 * libgomp.h (gomp_supported_active_levels): New.
296 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
297 omp_get_supported_active_levels_.
298 * libgomp.texi (omp_get_supported_active_levels): New.
299 (omp_set_max_active_levels): Update. Add reference to
300 omp_get_supported_active_levels.
301 * omp.h.in (omp_get_supported_active_levels): New.
302 * omp_lib.f90.in (omp_get_supported_active_levels): New.
303 * omp_lib.h.in (omp_get_supported_active_levels): New.
304 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
305 against omp_get_supported_active_levels.
306 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
307
2baa36d4
GA
3082020-10-11 Clement Chigot <clement.chigot@atos.net>
309
310 * config/t-aix: Delete and recreate libgomp before creating
311 FAT library.
312
da9df699
GA
3132020-10-08 Tom de Vries <tdevries@suse.de>
314
315 PR libgomp/81802
316 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
317 dimensions.
318
8e97b905
GA
3192020-10-06 Tom de Vries <tdevries@suse.de>
320
321 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
322
3232020-10-06 Tom de Vries <tdevries@suse.de>
324
325 PR middle-end/90861
326 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
327
7e9282ae
GA
3282020-10-05 Tom de Vries <tdevries@suse.de>
329
330 PR fortran/95654
331 * testsuite/libgomp.fortran/pr95654.f90: New test.
332
b0b9b8f0
GA
3332020-10-02 Tobias Burnus <tobias@codesourcery.com>
334
335 * Makefile.in: Regenerate with automake 1.15.1.
336 * aclocal.m4: Likewise.
337 * configure: Likewise.
338 * testsuite/Makefile.in: Likewise.
339
660bfe61
GA
3402020-09-30 Andrew Stubbs <ams@codesourcery.com>
341
342 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
343 and amdgcn targets.
344
3452020-09-30 Tobias Burnus <tobias@codesourcery.com>
346
347 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
348
93bca37c
GA
3492020-09-29 Andrew Stubbs <ams@codesourcery.com>
350
351 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
352 total number of threads is one.
353 (gomp_team_barrier_wake): Likewise.
354 (gomp_team_barrier_wait_end): Likewise.
355 (gomp_team_barrier_wait_cancel_end): Likewise.
356 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
357 (gomp_team_barrier_wake): Likewise.
358 (gomp_team_barrier_wait_end): Likewise.
359 (gomp_team_barrier_wait_cancel_end): Likewise.
360 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
361
e84761c6
GA
3622020-09-28 Tobias Burnus <tobias@codesourcery.com>
363
364 PR middle-end/96390
365 * testsuite/libgomp.c++/pr96390.C: New test.
366 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
367
4383c595
GA
3682020-09-27 Clement Chigot <clement.chigot@atos.net>
369
370 * config/t-aix: Use $(AR) without -X32_64.
371
cdd8f031
GA
3722020-09-25 Jakub Jelinek <jakub@redhat.com>
373
374 * testsuite/libgomp.c/loop-25.c: New test.
375
521d2711
GA
3762020-09-22 Tobias Burnus <tobias@codesourcery.com>
377
378 PR fortran/95654
379 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
380
3812020-09-22 Tom de Vries <tdevries@suse.de>
382
383 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
384 fails.
385
ecde1b0a
GA
3862020-09-16 Nathan Sidwell <nathan@acm.org>
387
388 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
389
9f7ab8c5
GA
3902020-09-15 Tobias Burnus <tobias@codesourcery.com>
391
392 PR fortran/96668
393 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
394
3952020-09-15 Tobias Burnus <tobias@codesourcery.com>
396
397 PR fortran/96668
398 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
399 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
400 (gomp_map_vars_existing): Update call to it.
401 (gomp_map_fields_existing): Likewise
402 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
403 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
404 remapped.
405 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
406 GOMP_MAP_POINTER.
407 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
408 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
409
50a71cd0
GA
4102020-09-14 Tom de Vries <tdevries@suse.de>
411
412 * config/nvptx/atomic.c: New file. Add
413 __sync_val_compare_and_swap_16.
414 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
415 target offload_target_nvptx.
416
31a05046
GA
4172020-09-08 Julian Brown <julian@codesourcery.com>
418
419 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
420 iteration-ordering assumptions.
421
4222020-09-08 Julian Brown <julian@codesourcery.com>
423
424 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
425 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
426
5b9a3d2a
GA
4272020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
428
429 * plugin/plugin-nvptx.c (nvptx_free):
430 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
431 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
432 comments.
433
4342020-08-20 Tobias Burnus <tobias@codesourcery.com>
435
436 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
437
b3cb5606
GA
4382020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
439
440 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
441
4422020-08-13 Jakub Jelinek <jakub@redhat.com>
443
444 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
445 * testsuite/libgomp.c/loop-23.c (main): Likewise.
446 * testsuite/libgomp.c/loop-24.c: New test.
447
bc0ca715
GA
4482020-08-08 Jakub Jelinek <jakub@redhat.com>
449 Tobias Burnus <tobias@codesourcery.com>
450
451 PR fortran/93553
452 * testsuite/libgomp.fortran/pr93553.f90: New test.
453
aa5ea20c
GA
4542020-08-05 Jakub Jelinek <jakub@redhat.com>
455
456 * testsuite/libgomp.c/loop-22.c: New test.
457 * testsuite/libgomp.c/loop-23.c: New test.
458
4592020-08-05 Jakub Jelinek <jakub@redhat.com>
460
461 PR middle-end/96459
462 * testsuite/libgomp.c/teams-3.c: New test.
463 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
464 if not defined yet.
465 (N(test)): Use it before all N(f*) calls.
466 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
467 (main): Don't call all test_* functions from within
468 #pragma omp teams reduction(|:err), call them directly.
469
abba2591
GA
4702020-08-04 Tom de Vries <tdevries@suse.de>
471
472 PR target/96428
473 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
474 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
475
6a1ad710
GA
4762020-08-03 Julian Brown <julian@codesourcery.com>
477 Thomas Schwinge <thomas@codesourcery.com>
478
479 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
480 shared-memory devices. Extend with further checking.
481
4822020-08-03 Martin Jambor <mjambor@suse.cz>
483
484 * plugin/Makefrag.am: Remove configuration of HSA plugin.
485 * aclocal.m4: Regenerated.
486 * Makefile.in: Regenerated.
487 * config.h.in: Regenerated.
488 * configure: Regenerated.
489 * plugin/configfrag.ac: Likewise.
490 * plugin/hsa_ext_finalize.h: Removed.
491 * plugin/plugin-hsa.c: Likewise.
492 * testsuite/Makefile.in: Regenerated.
493 * testsuite/lib/libgomp.exp
494 (offload_target_to_openacc_device_type): Remove hsa case.
495 (check_effective_target_hsa_offloading_selected_nocache): Removed
496 (check_effective_target_hsa_offloading_selected): Likewise.
497 (libgomp_init): Do not add -Wno-hsa to additional_flags.
498 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
499 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
500 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
501 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
502 * testsuite/libgomp.hsa.c/c.exp: Likewise.
503 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
504 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
505 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
506 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
507 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
508 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
509 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
510 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
511 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
512 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
513 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
514 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
515 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
516 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
517 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
518 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
519 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
520 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
521 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
522
e71dab87
GA
5232020-07-27 Julian Brown <julian@codesourcery.com>
524 Thomas Schwinge <thomas@codesourcery.com>
525
526 * libgomp.h (struct target_var_desc): Rename do_detach field to
527 is_attach.
528 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
529 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
530 (goacc_enter_data_internal): Don't affect reference counts
531 for attach mappings.
532 (goacc_exit_data_internal): Don't affect reference counts for detach
533 mappings.
534 * target.c (gomp_map_vars_existing): Don't affect reference counts for
535 attach mappings.
536 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
537 mark attach mappings.
538 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
539 reference count for attach mappings.
540 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
541 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
542 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
543 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
544 test as shouldfail.
545 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
546 gracefully in no-finalize mode.
547 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
548
53256ee3
GA
5492020-07-24 Thomas Schwinge <thomas@codesourcery.com>
550
551 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
552 use.
553 * testsuite/libgomp.oacc-c/c.exp: Likewise.
554 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
555
9bb403dc
GA
5562020-07-23 Julian Brown <julian@codesourcery.com>
557 Thomas Schwinge <thomas@codesourcery.com>
558
559 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
560 finalization for detach operation.
561 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
562 New test.
563
5642020-07-23 Tobias Burnus <tobias@codesourcery.com>
565
566 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
567 * libgomp_f.h.in (omp_check_defines): Check whether
568 sizeof of determined Fortran kind and C typedef match.
569 * omp_lib.f90.in: Add omp_depened_kind.
570 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
571 * configure: Regenerate.
572 * Makefile.in: Regenerate.
573 * testsuite/Makefile.in: Regenerate.
574
3ea9abca
GA
5752020-07-22 Tobias Burnus <tobias@codesourcery.com>
576
577 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
578 gcc/testsuite/c-c++-common/gomp/.
579 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
580 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
581 from gcc/testsuite/gfortran.dg/gomp/.
582 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
583
5842020-07-22 Tobias Burnus <tobias@codesourcery.com>
585
586 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
587 * omp_lib.h.in: Likewise.
588
aeb34e15
GA
5892020-07-18 H.J. Lu <hjl.tools@gmail.com>
590
591 PR target/95620
592 * testsuite/libgomp.c/pr95620.c: New test.
593
96686b3f
GA
5942020-07-16 Julian Brown <julian@codesourcery.com>
595 Thomas Schwinge <thomas@codesourcery.com>
596
597 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
598 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
599
fe8185b5
GA
6002020-07-15 Tobias Burnus <tobias@codesourcery.com>
601
602 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
603 avoid conversion on 32bit systems from 32bit to 64bit due
604 to -fdefault-integer-8.
605
6062020-07-15 Tobias Burnus <tobias@codesourcery.com>
607
608 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
609 variables; add character(kind=4) tests; update TODO comment.
610
6112020-07-15 Tobias Burnus <tobias@codesourcery.com>
612
613 * allocator.c: Add ialias for omp_init_allocator and
614 omp_destroy_allocator.
615 * configure.ac: Set INTPTR_T_KIND.
616 * configure: Regenerate.
617 * Makefile.in: Regenerate.
618 * testsuite/Makefile.in: Regenerate.
619 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
620 omp_set_default_allocator_, omp_get_default_allocator_): New
621 functions and ialias_redirect.
622 * icv.c: Add ialias for omp_set_default_allocator and
623 omp_get_default_allocator.
624 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
625 omp_destroy_allocator_, omp_set_default_allocator_ and
626 omp_get_default_allocator_.
627 * omp_lib.f90.in: Add allocator traits parameters, declare
628 allocator routines and add related kind parameters.
629 * omp_lib.h.in: Likewise.
630 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
631 * testsuite/libgomp.fortran/alloc-1.F90: New test.
632 * testsuite/libgomp.fortran/alloc-2.F90: New test.
633 * testsuite/libgomp.fortran/alloc-3.F: New test.
634 * testsuite/libgomp.fortran/alloc-4.f90: New test.
635 * testsuite/libgomp.fortran/alloc-5.f90: New test.
636
8ca07a30
GA
6372020-07-14 Tom de Vries <tom@codesourcery.com>
638 Cesar Philippidis <cesar@codesourcery.com>
639 Thomas Schwinge <thomas@codesourcery.com>
640 Kwok Cheung Yeung <kcy@codesourcery.com>
641
642 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
643 New variable.
644 (acc_init_1): Set acc_init_thread to pthread_self (). Set
645 acc_init_state to initializing at the start, and to initialized at the
646 end.
647 (self_initializing_p): New function.
648 (acc_get_device_type): Return acc_device_none if called by thread that
649 is currently executing acc_init_1.
650 * libgomp.texi (acc_get_device_type): Update documentation.
651 (Implementation Status and Implementation-Defined Behavior): Likewise.
652 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
653
6542020-07-14 David Edelsohn <dje.gcc@gmail.com>
655
656 * config/t-aix: Set BITS from compiler cpp macro.
657
6582020-07-14 Tobias Burnus <tobias@codesourcery.com>
659
660 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
661
6622020-07-14 Tobias Burnus <tobias@codesourcery.com>
663
664 PR fortran/67311
665 * testsuite/libgomp.fortran/target-map-1.f90: New test.
666
6672020-07-14 Jakub Jelinek <jakub@redhat.com>
668
669 * testsuite/libgomp.c/loop-21.c: New test.
670
ea69fcf9
GA
6712020-07-13 Julian Brown <julian@codesourcery.com>
672 Thomas Schwinge <thomas@codesourcery.com>
673
674 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
675
86536295
GA
6762020-07-10 Julian Brown <julian@codesourcery.com>
677 Thomas Schwinge <thomas@codesourcery.com>
678
679 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
680 dynamic_refcount.
681 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
682 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
683 dynamic_refcount.
684 (acc_unmap_data): Update comment.
685 (goacc_map_var_existing, goacc_enter_datum): Adjust for
686 dynamic_refcount semantics.
687 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
688 Adjust for dynamic_refcount semantics.
689 (goacc_enter_data_internal): Implement "present" case of dynamic
690 memory-map handling here. Update "non-present" case for
691 dynamic_refcount semantics.
692 (goacc_exit_data_internal): Use goacc_exit_datum_1.
693 * target.c (gomp_map_vars_internal): Remove
694 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
695 handling.
696 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
697 (gomp_load_image_to_device): Substitute dynamic_refcount for
698 virtual_refcount.
699 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
700 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
701 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
702 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
703 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
704 trace output.
705 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
706 trace output.
707 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
708 test.
709 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
710 Remove stale comment.
711 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
712 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
713 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
714 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
715 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
716 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
717
7182020-07-10 Julian Brown <julian@codesourcery.com>
719 Thomas Schwinge <thomas@codesourcery.com>
720
721 * oacc-mem.c (goacc_map_var_existing): New function.
722 (goacc_enter_datum): Use above function.
723 (goacc_exit_datum_1): New function.
724 (goacc_exit_datum): Use above function.
725
3f8ca9cb
GA
7262020-07-09 Julian Brown <julian@codesourcery.com>
727 Thomas Schwinge <thomas@codesourcery.com>
728
729 PR middle-end/95270
730 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
731 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
732
7332020-07-09 Julian Brown <julian@codesourcery.com>
734
735 * oacc-mem.c (find_group_last): Group data-movement clauses
736 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
737 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
738
7392020-07-09 Jakub Jelinek <jakub@redhat.com>
740
741 * testsuite/libgomp.c/loop-19.c: New test.
742 * testsuite/libgomp.c/loop-20.c: New test.
743
7442020-07-09 Jakub Jelinek <jakub@redhat.com>
745
746 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
747 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
748 it. Remove __omp_alloctrait_value_max__.
749 * allocator.c (omp_init_allocator): Handle omp_atv_default for
750 omp_atk_alignment and omp_atk_pool_size.
751
b991c834
GA
7522020-07-03 Thomas Schwinge <thomas@codesourcery.com>
753
754 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
755 behavior for 'GOMP_MAP_FORCE_FROM'.
756 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
757
7582020-07-03 Thomas Schwinge <thomas@codesourcery.com>
759
760 * oacc-mem.c (goacc_exit_data_internal): Remove
761 'GOMP_MAP_ALWAYS_FROM' handling.
762
46fbb6c6
GA
7632020-06-30 Thomas Schwinge <thomas@codesourcery.com>
764
765 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
766 'scan-assembler' with 'scan-offload-rtl'.
767 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
768 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
769 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
770 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
771
7722020-06-30 Thomas Schwinge <thomas@codesourcery.com>
773
774 * target.c (gomp_map_vars_existing): Assert 'kind !=
775 GOMP_MAP_ATTACH'.
776 (gomp_map_vars_internal): Clean up.
777
9a33c41f
GA
7782020-06-27 Jakub Jelinek <jakub@redhat.com>
779
780 * testsuite/libgomp.c/loop-17.c: New test.
781 * testsuite/libgomp.c/loop-18.c: New test.
782
c9c05f73
GA
7832020-06-26 Marek Polacek <polacek@redhat.com>
784
785 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
786
4543acc8
GA
7872020-06-23 Alexandre Oliva <oliva@adacore.com>
788
789 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
790 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
791
605a8f3b
GA
7922020-06-22 David Edelsohn <dje.gcc@gmail.com>
793
794 * Makefile.am: Use -include.
795 * Makefile.in: Regenerate.
796
f86e11a2
GA
7972020-06-21 David Edelsohn <dje.gcc@gmail.com>
798
799 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
800 * Makefile.in: Regenerate
801 * configure.ac (tmake_file): Substitute.
802 * configure: Regenerate.
803 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
804 * config/t-aix: New file.
805
aff95ee7
GA
8062020-06-17 Thomas Schwinge <thomas@codesourcery.com>
807
808 PR lto/94848
809 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
810 'dg-do run'.
811
8122020-06-17 Andrew Stubbs <ams@codesourcery.com>
813
814 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
815 variant for HSA_RUNTIME_LIB name.
816 (find_executable_symbol_1): Delete.
817 (find_executable_symbol): Delete.
818 (init_kernel_properties): Add ".kd" suffix to symbol names.
819 (find_load_offset): Delete.
820 (create_and_finalize_hsa_program): Remove relocation handling.
821
56638b9b
GA
8222020-06-16 Tobias Burnus <tobias@codesourcery.com>
823
824 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
825
2c455ae0
GA
8262020-06-08 Tobias Burnus <tobias@codesourcery.com>
827
828 PR lto/94848
829 PR middle-end/95551
830 * testsuite/libgomp.fortran/target-var.f90: New test.
831
1a59f3db
GA
8322020-06-05 Thomas Schwinge <thomas@codesourcery.com>
833 Julian Brown <julian@codesourcery.com>
834
835 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
836 special handling.
837
8382020-06-05 Thomas Schwinge <thomas@codesourcery.com>
839 Julian Brown <julian@codesourcery.com>
840
841 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
842 Simplify.
843
8442020-06-05 Julian Brown <julian@codesourcery.com>
845
846 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
847 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
848
3add3425
GA
8492020-06-04 Thomas Schwinge <thomas@codesourcery.com>
850
851 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
852 Evaluate 'copyfrom' individually for each entry.
853 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
854
8552020-06-04 Thomas Schwinge <thomas@codesourcery.com>
856
857 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
858 Evaluate 'finalize' individually for each entry.
859 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
860 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
861 file.
862
8632020-06-04 Thomas Schwinge <thomas@codesourcery.com>
864
865 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
866 usage.
867 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
868
8692020-06-04 Thomas Schwinge <thomas@codesourcery.com>
870 Julian Brown <julian@codesourcery.com>
871
872 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
873 checking.
874 (acc_unmap_data, goacc_exit_data_internal): Restore
875 'is_tgt_unmapped' checking.
876 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
877 file.
878 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
879 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
880 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
881 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
882 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
883 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
884
8852020-06-04 Thomas Schwinge <thomas@codesourcery.com>
886 Julian Brown <julian@codesourcery.com>
887
888 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
889
8902020-06-04 Thomas Schwinge <thomas@codesourcery.com>
891
892 PR libgomp/92854
893 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
894
8952020-06-04 Thomas Schwinge <thomas@codesourcery.com>
896
897 PR libgomp/92854
898 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
899 more.
900
9012020-06-04 Thomas Schwinge <thomas@codesourcery.com>
902 Julian Brown <julian@codesourcery.com>
903
904 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
905 'gomp_map_vars'.
906 (acc_map_data): Clean up accordingly.
907
9082020-06-04 Thomas Schwinge <thomas@codesourcery.com>
909
910 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
911 of over-eager 'finalize' clause.
912 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
913 file.
914 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
915 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
916 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
917 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
918 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
919 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
920 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
921 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
922
9232020-06-04 Thomas Schwinge <thomas@codesourcery.com>
924
925 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
926
9272020-06-04 Julian Brown <julian@codesourcery.com>
928
929 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
930 error path.
931 (goacc_detach_internal): Likewise.
932
9332020-06-04 Thomas Schwinge <thomas@codesourcery.com>
934
935 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
936 the checkpoint.
937 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
938 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
939 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
940 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
941 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
942
a9312a79
GA
9432020-06-02 Jakub Jelinek <jakub@redhat.com>
944
945 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
946 defined.
947
945b53cc
GA
9482020-05-30 Jakub Jelinek <jakub@redhat.com>
949
950 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
951
9522020-05-30 Jakub Jelinek <jakub@redhat.com>
953
954 * allocator.c (omp_alloc): For size == 0, return NULL early.
955
885ef72f
GA
9562020-05-29 H.J. Lu <hjl.tools@gmail.com>
957
958 PR bootstrap/95413
959 * configure: Regenerated.
960
8df7ee67
TK
9612020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
962
963 PR libfortran/95191
964 * testsuite/libgomp.fortran/async_io_9.f90: New test.
965
800bcc8c
JJ
9662020-05-19 Jakub Jelinek <jakub@redhat.com>
967
968 * omp.h.in (omp_uintptr_t): New typedef.
969 (__GOMP_UINTPTR_T_ENUM): Define.
970 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
971 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
972 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
973 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
974 omp_get_default_allocator, omp_alloc, omp_free): Declare.
975 * libgomp.h (struct gomp_team_state): Add def_allocator field.
976 (gomp_def_allocator): Declare.
977 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
978 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
979 omp_alloc and omp_free.
980 * team.c (gomp_team_start): Copy over ts.def_allocator.
981 * env.c (gomp_def_allocator): New variable.
982 (parse_wait_policy): Adjust function comment.
983 (parse_allocator): New function.
984 (handle_omp_display_env): Print OMP_ALLOCATOR.
985 (initialize_env): Call parse_allocator.
986 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
987 * allocator.c: New file.
988 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
989 functions.
990 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
991 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
992 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
993 * Makefile.in: Regenerated.
994
4c1a5d8b
L
9952020-05-15 H.J. Lu <hongjiu.lu@intel.com>
996
997 PR bootstrap/95147
998 * configure: Regenerated.
999
cdc34b50
TK
10002020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1001
1002 PR libfortran/95119
1003 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
1004
10052020-05-14 H.J. Lu <hongjiu.lu@intel.com>
1006
1007 * configure: Regenerated.
1008
10092020-05-14 Jakub Jelinek <jakub@redhat.com>
1010
1011 * testsuite/libgomp.c-c++-common/target-40.c: New test.
1012
f884bef2
TB
10132020-05-13 Tobias Burnus <tobias@codesourcery.com>
1014
1015 PR fortran/94690
1016 * testsuite/libgomp.fortran/pr66199-3.f90: New.
1017 * testsuite/libgomp.fortran/pr66199-4.f90: New.
1018 * testsuite/libgomp.fortran/pr66199-5.f90: New.
1019 * testsuite/libgomp.fortran/pr66199-6.f90: New.
1020 * testsuite/libgomp.fortran/pr66199-7.f90: New.
1021 * testsuite/libgomp.fortran/pr66199-8.f90: New.
1022 * testsuite/libgomp.fortran/pr66199-9.f90: New.
1023
dc703151
JJ
10242020-05-12 Jakub Jelinek <jakub@redhat.com>
1025
1026 * testsuite/libgomp.c/target-39.c: New test.
1027
b9dc11b6
TS
10282020-04-29 Thomas Schwinge <thomas@codesourcery.com>
1029
a5d0bc12
TS
1030 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
1031 * openacc.f90 (acc_device_current): Likewise.
1032 * openacc.h (acc_device_current): Likewise.
1033 * openacc_lib.h (acc_device_current): Likewise.
1034
7f198924
TS
1035 PR target/94282
1036 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
1037 'dg-allow-blank-lines-in-output'.
1038
4912a04f
TS
1039 * oacc-init.c (get_openacc_name): Handle 'gcn'.
1040 * testsuite/lib/libgomp.exp
1041 (offload_target_to_openacc_device_type) [amdgcn*]: Return
1042 'radeon'. Adjust all users.
1043 (check_effective_target_openacc_amdgcn_accel_present): Rename
1044 to...
1045 (check_effective_target_openacc_radeon_accel_present): ... this.
1046 Adjust all users.
1047 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
1048 (check_effective_target_openacc_radeon_accel_selected): ... this.
1049 Adjust all users.
1050
b9dc11b6
TS
1051 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
1052 'dg-do run'.
1053
966de09b
AS
10542020-04-23 Andrew Stubbs <ams@codesourcery.com>
1055
1056 PR other/94629
1057
1058 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
1059 hsa_iterate_agents.
1060 (GOMP_OFFLOAD_init_device): Check return values from both calls to
1061 hsa_agent_iterate_regions.
1062
3f5d94c1
TS
10632020-04-20 Thomas Schwinge <thomas@codesourcery.com>
1064
1065 PR middle-end/94635
1066 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
1067 run'.
1068
85d8c05a
TB
10692020-04-20 Tobias Burnus <tobias@codesourcery.com>
1070
1071 PR middle-end/94120
1072 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
1073 test case.
1074
af557050
TB
10752020-04-17 Tobias Burnus <tobias@codesourcery.com>
1076
1077 PR middle-end/94635
1078 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
1079
af4c9257
TS
10802020-04-13 Thomas Schwinge <thomas@codesourcery.com>
1081
1082 PR libgomp/92843
1083 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1084 Rename to...
1085 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
1086 ... this.
1087 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1088 Rename to...
1089 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
1090 ... this.
1091 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1092 Rename to...
1093 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
1094 ... this.
1095 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1096 Rename to...
1097 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
1098 ... this.
1099 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1100 Rename to...
1101 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
1102 ... this.
1103 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1104 Rename to...
1105 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
1106 ... this.
1107 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1108 Rename to...
1109 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
1110 ... this.
1111 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1112 Rename to...
1113 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
1114 ... this.
1115 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1116 Rename to...
1117 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
1118 ... this.
1119 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1120 Rename to...
1121 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
1122 ... this.
1123 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1124 Rename to...
1125 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
1126 ... this.
1127 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1128 Rename to...
1129 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
1130 ... this.
1131 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1132 Rename to...
1133 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
1134 ... this.
1135 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1136 Rename to...
1137 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
1138 ... this.
1139 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1140 Rename to...
1141 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
1142 ... this.
1143 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
1144 Rename to...
1145 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
1146 ... this.
1147
be9862dd
JB
11482020-04-10 Julian Brown <julian@codesourcery.com>
1149 Thomas Schwinge <thomas@codesourcery.com>
1150
1151 PR libgomp/92843
1152 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1153 New file.
1154 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1155 Likewise.
1156 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1157 Likewise.
1158 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1159 Likewise.
1160 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1161 Likewise.
1162 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1163 Likewise.
1164 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1165 Likewise.
1166 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1167 Likewise.
1168 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1169 Likewise.
1170 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1171 Likewise.
1172 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1173 Likewise.
1174 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1175 Likewise.
1176 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1177 Likewise.
1178 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1179 Likewise.
1180 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1181 Likewise.
1182 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
1183 Likewise.
1184
6b816a5f
TS
11852020-04-10 Thomas Schwinge <thomas@codesourcery.com>
1186
1187 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
1188 run'.
1189
13e41d8b
TB
11902020-04-08 Tobias Burnus <tobias@codesourcery.com>
1191
1192 PR middle-end/94120
1193 * libgomp.oacc-c++/declare-pr94120.C: New.
1194
749bd22d
MR
11952020-04-06 Maciej W. Rozycki <macro@wdc.com>
1196
1197 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
1198 files.
1199 * configure: Regenerate.
1200 * testsuite/libgomp-site-extra.exp.in: New file.
1201 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
1202 variable.
1203 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
1204 variable.
1205 * testsuite/Makefile.in: Regenerate.
1206
2b1e849b
TS
12072020-04-03 Thomas Schwinge <thomas@codesourcery.com>
1208
1209 PR tree-optimization/89713
1210 PR c/94392
1211 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
1212 'bar.sync'.
1213 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
1214
689418b9
TB
12152020-03-31 Tobias Burnus <tobias@codesourcery.com>
1216
1217 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
1218 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
1219
c2211a60
TB
12202020-03-24 Tobias Burnus <tobias@codesourcery.com>
1221
1222 PR libgomp/81689
1223 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
1224
4897bb00
TB
12252020-03-20 Tobias Burnus <tobias@codesourcery.com>
1226
1227 PR libgomp/94251
1228 * target.c (gomp_load_image_to_device): Fix link
1229 variable handling.
1230
02f7334a
JJ
12312020-03-19 Jakub Jelinek <jakub@redhat.com>
1232
1233 PR c++/93931
1234 * testsuite/libgomp.c++/pr93931.C: New test.
1235
bb83e069
TB
12362020-03-19 Tobias Burnus <tobias@codesourcery.com>
1237
1238 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
1239 dg-allow-blank-lines-in-output.
1240
26cbcfe5
TB
12412020-03-18 Julian Brown <julian@codesourcery.com>
1242 Tobias Burnus <tobias@codesourcery.com>
1243
1244 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
1245 it work concurrently.
1246
4da92887
TB
12472020-03-18 Tobias Burnus <tobias@codesourcery.com>
1248
1249 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
1250 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
1251 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
1252
9c3cdb43
JJ
12532020-03-14 Jakub Jelinek <jakub@redhat.com>
1254
1255 PR middle-end/93566
1256 * testsuite/libgomp.c/pr93566.c: New test.
1257
83d45e1d
FH
12582020-02-21 Frederik Harwath <frederik@codesourcery.com>
1259
1260 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
1261 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
1262 integer(acc_device_property) for the type of the return value of
1263 acc_get_property.
1264
8d1a1cb1
TB
12652020-02-19 Tobias Burnus <tobias@codesourcery.com>
1266
1267 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
1268 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
1269 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
1270 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
1271 (acc_set_device_num): Fix Fortran argument name, use same name for C.
1272 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
1273 corrections; add note about the previous interface and named constant.
1274 (OpenACC library and environment variables): Fix two typos.
1275 * openacc.f90: Use for all procedures the argument names from the spec
1276 as for …_h they are user visible.
1277 (openacc_kinds): Rename acc_device_property to
1278 acc_device_property_kinds and change value to int32 ; and update users.
1279 Re-add acc_device_property for for backward compatibility.
1280 (acc_get_property_string_h): Clean up as acc_device_property_kind
1281 changed.
1282 (acc_get_property_h): Likewise and return c_size_t instead of
1283 acc_device_property.
1284 (openacc): Also export acc_device_property_kinds.
1285 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
1286 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
1287 handling; check against /= 0 instead of == 1 to match C.
1288 * openacc_lib.h: Use for all procedures the argument names from the spec
1289 as for …_h they are user visible. Place !GCC$ into the first column to
1290 be active also for fixed-form souce form.
1291 (acc_device_current, acc_device_property_kind, acc_device_property,
1292 acc_property_memory, acc_property_free_memory, acc_property_name,
1293 acc_property_vendor, acc_property_driver): New named constants.
1294 (acc_get_property, acc_get_property_string): New generic interface.
1295
2d9eb4e4
FH
12962020-02-13 Frederik Harwath <frederik@codesourcery.com>
1297
1298 PR libgomp/93481
1299 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
1300 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
1301 optional.
1302 (gomp_target_task_fn): Assert "devicep->async_run_func".
1303 (clear_unsupported_flags): New function to remove unsupported flags
1304 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
1305 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
1306 * testsuite/libgomp.c/target-33.c:
1307 Remove xfail for offload_target_nvptx.
1308 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
1309
13102020-02-10 Frederik Harwath <frederik@codesourcery.com>
1311
1312 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
1313 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
1314 * testsuite/libgomp.c/target-34.c: Likewise.
1315 * testsuite/libgomp.c/target-link-1.c: Add xfail for
1316 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
1317
9bc3b95d
JJ
13182020-02-09 Jakub Jelinek <jakub@redhat.com>
1319
1320 * testsuite/libgomp.c/target-38.c: New test.
1321
cb3f0648
JJ
13222020-02-06 Jakub Jelinek <jakub@redhat.com>
1323
1324 PR libgomp/93515
1325 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
1326
91bc3c98
TB
13272020-02-05 Tobias Burnus <tobias@codesourcery.com>
1328
1329 * testsuite/lib/libgomp.exp
1330 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
1331 and not as 'source' argument to libgomp_target_compile.
1332
591f869a
AS
13332020-02-03 Andrew Stubbs <ams@codesourcery.com>
1334
1335 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
1336 (gcn_gfx801_s): Remove.
1337 (isa_hsa_name): Remove gfx801.
1338 (isa_gcc_name): Remove gfx801/carizzo.
1339 (isa_code): Remove gfx801.
1340
e464fc90
TB
13412020-02-03 Julian Brown <julian@codesourcery.com>
1342 Tobias Burnus <tobias@codesourcery.com>
1343
1344 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
1345 and *_finalize variants; document acc_attach and acc_detach; update
1346 references from OpenACC 2.0 to 2.6.
1347 * openacc.f90 (openacc_version): Update to 201711.
1348 * openacc_lib.h (openacc_version): Update to 201711.
1349 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
1350 openacc_version to 201711.
1351 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1352
5a28e272
KCY
13532020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
1354
1355 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
1356 and vgpr_count fields.
1357 (struct kernel_info): Add a field for a hsa_kernel_description.
1358 (run_kernel): Reduce the number of threads/workers if the requested
1359 number would require too many VGPRs.
1360 (init_basic_kernel_info): Initialize description field with
1361 the hsa_kernel_description entry for the kernel.
1362
5ab5d81b
TB
13632020-01-29 Tobias Burnus <tobias@codesourcery.com>
1364
1365 PR bootstrap/93409
1366 * plugin/configfrag.ac (enable_offload_targets): Skip
1367 HSA and GCN plugin besides -m32 also for -mx32.
1368 * configure: Regenerate.
1369
989a5fb3
FH
13702020-01-29 Frederik Harwath <frederik@codesourcery.com>
1371
1372 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
1373
13742020-01-29 Frederik Harwath <frederik@codesourcery.com>
1375
1376 * plugin-gcn.c (struct agent_info): Add fields "name" and
1377 "vendor_name" ...
1378 (GOMP_OFFLOAD_init_device): ... and init from here.
1379 (struct hsa_context_info): Add field "driver_version_s" ...
1380 (init_hsa_contest): ... and init from here.
1381 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
1382 implementation.
1383 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1384 Enable test execution for amdgcn and host offloading targets.
1385 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
1386 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1387 (expect_device_properties): Split function into ...
1388 (expect_device_string_properties): ... this new function ...
1389 (expect_device_memory): ... and this new function.
1390 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
1391 Add test.
1392
278c3214
JB
13932020-01-28 Julian Brown <julian@codesourcery.com>
1394
1395 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
1396 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
1397 component/non-component variable refs in a single directive.
1398 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
1399
e8e66971
MR
14002020-01-24 Maciej W. Rozycki <macro@wdc.com>
1401
1402 * configure.ac: Handle `--with-toolexeclibdir='.
1403 * Makefile.in: Regenerate.
1404 * aclocal.m4: Regenerate.
1405 * configure: Regenerate.
1406 * testsuite/Makefile.in: Regenerate.
1407
9e424d97
FH
14082020-01-24 Frederik Harwath <frederik@codesourcery.com>
1409
1410 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1411 (expect_device_properties): Remove "expected_free_mem" argument,
1412 change "expected_total_mem" argument type to size_t;
1413 change types of acc_get_property results to size_t,
1414 adapt format strings.
1415 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1416 Use %zu instead of %zd to print size_t values.
1417 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
1418 rename to ...
1419 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
1420 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
1421 rename to ...
1422 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
1423
14e5e746
AS
14242020-01-23 Andrew Stubbs <ams@codesourcery.com>
1425
1426 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
1427 the device id.
1428
09e0ad62
AS
14292020-01-20 Andrew Stubbs <ams@codesourcery.com>
1430
1431 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
1432 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
1433 Adjust test dimensions for amdgcn.
1434 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
1435 gang/worker/vector expectations dynamically.
1436 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
1437 (main): Likewise.
1438 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
1439 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
1440 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
1441 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
1442 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
1443 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
1444 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
1445 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
1446 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1447 (acc_gang): Recognise acc_device_radeon.
1448 (acc_worker): Likewise.
1449 (acc_vector): Likewise.
1450 (main): Set expectations for amdgcn.
1451 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
1452 (main): Adjust gang/worker/vector expectations dynamically.
1453 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
1454 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
1455 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
1456 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
1457 for amdgcn.
1458
6687d13a
AS
14592020-01-17 Andrew Stubbs <ams@codesourcery.com>
1460
1461 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
1462 acc_device_radeon.
1463 (openacc): Likewise.
1464 * openacc.f90 (openacc_kinds): Likewise.
1465 (openacc): Likewise.
1466 * openacc.h (acc_device_t): Likewise.
1467 * openacc_lib.h: Likewise.
1468 * testsuite/lib/libgomp.exp
1469 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
1470 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1471 (cb_compute_construct_end): Likewise.
1472 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1473 (cb_enqueue_launch_start): Likewise.
1474 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1475 (cb_enter_data_end): Likewise.
1476 (cb_exit_data_start): Likewise.
1477 (cb_exit_data_end): Likewise.
1478 (cb_compute_construct_end): Likewise.
1479 (cb_enqueue_launch_start): Likewise.
1480 (cb_enqueue_launch_end): Likewise.
1481 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
1482 (main): Likewise.
1483
b3b75e66
TS
14842020-01-10 Thomas Schwinge <thomas@codesourcery.com>
1485
6fc0385c
TS
1486 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
1487 to use this instead of 'enum gomp_device_property'.
1488 (GOMP_OFFLOAD_get_property): Rename to...
1489 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
1490 * libgomp.h (struct gomp_device_descr): Move
1491 'GOMP_OFFLOAD_openacc_get_property'...
1492 (struct acc_dispatch_t): ... here. Adjust all users.
1493 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
1494
b3b75e66
TS
1495 * target.c (gomp_map_vars_internal)
1496 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
1497 paths.
1498
91df4397
JJ
14992020-01-10 Jakub Jelinek <jakub@redhat.com>
1500
1501 PR libgomp/93219
1502 * libgomp.h (gomp_print_string): Change return type from void to int.
1503 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
1504 not all characters have been written.
1505
df2c0d36
TB
15062020-01-08 Tobias Burnus <tobias@codesourcery.com>
1507
1508 * libgomp.texi: Fix typos, use https.
1509
f760c0c7
TB
15102020-01-03 Tobias Burnus <tobias@codesourcery.com>
1511
1512 * testsuite/libgomp.fortran/optional-map.f90: Add test for
1513 unallocated/disassociated actual arguments to nonallocatable/nonpointer
1514 dummy arguments; those are/shall be regarded as absent arguments.
1515 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1516 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
1517
7e7065b9
JJ
15182020-01-01 Jakub Jelinek <jakub@redhat.com>
1519
8d9254fc
JJ
1520 Update copyright years.
1521
7e7065b9
JJ
1522 * libgomp.texi: Bump @copying's copyright year.
1523
2c829799
AM
15242019-12-31 Ayush Mittal <ayush.m@samsung.com>
1525
1526 PR libgomp/93065
1527 * oacc-init.c (goacc_runtime_deinitialize): New function.
1528
e9dcb75e
JJ
15292019-12-28 Jakub Jelinek <jakub@redhat.com>
1530
1531 PR bootstrap/93074
1532 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
1533 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
1534
6c84c8bf
MR
15352019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
1536 Frederik Harwath <frederik@codesourcery.com>
1537 Thomas Schwinge <tschwinge@codesourcery.com>
1538
1539 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
1540 * libgomp-plugin.h (gomp_device_property_value): New union.
1541 (gomp_device_property_value): New prototype.
1542 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
1543 constant.
1544 (acc_device_property_t): New enum.
1545 (acc_get_property, acc_get_property_string): New prototypes.
1546 * oacc-init.c (acc_get_device_type): Also assert that result
1547 is not `acc_device_current'.
1548 (get_property_any, acc_get_property, acc_get_property_string):
1549 New functions.
1550 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
1551 `acc_property_memory', `acc_property_free_memory',
1552 `acc_property_name', `acc_property_vendor' and
1553 `acc_property_driver' constants. Add `acc_device_property' data
1554 type.
1555 (openacc_internal): Add `acc_get_property' and
1556 `acc_get_property_string' interfaces. Add `acc_get_property_h',
1557 `acc_get_property_string_h', `acc_get_property_l' and
1558 `acc_get_property_string_l'.
1559 * oacc-host.c (host_get_property): New function.
1560 (host_dispatch): Wire it.
1561 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
1562 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
1563 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
1564 * libgomp.texi (OpenACC Runtime Library Routines): Add
1565 `acc_get_property'.
1566 (acc_get_property): New node.
1567 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
1568 function (stub).
1569 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
1570 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
1571 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
1572 calls.
1573 (GOMP_OFFLOAD_get_property): New function.
1574 (struct ptx_device): Add new field "name".
1575 (cuda_driver_version_s): Add new static variable ...
1576 (nvptx_init): ... and init from here.
1577
1578 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
1579 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
1580 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
1581 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
1582 with test helper functions.
1583
1584 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
1585
c8e759b4
MR
15862019-12-22 Maciej W. Rozycki <macro@wdc.com>
1587
1588 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
1589 variable.
1590
b092fb3b
TS
15912019-12-21 Thomas Schwinge <thomas@codesourcery.com>
1592
1593 * target.c (gomp_map_vars_internal): Restore 'omp declare target
1594 link' handling.
1595
9be3ac5d
JB
15962019-12-19 Julian Brown <julian@codesourcery.com>
1597
1598 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
1599 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
1600 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
1601
02817027
JB
16022019-12-19 Julian Brown <julian@codesourcery.com>
1603 Cesar Philippidis <cesar@codesourcery.com>
1604
1605 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1606 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1607 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1608 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1609 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1610 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1611 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1612 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1613 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1614 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1615 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1616 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1617 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1618
c2eb021f
JB
16192019-12-19 Julian Brown <julian@codesourcery.com>
1620
1621 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1622 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1623 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1624 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1625 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1626 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1627 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1628 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1629 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1630 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1631 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1632 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1633
8e7e71ff
JB
16342019-12-19 Julian Brown <julian@codesourcery.com>
1635
1636 * libgomp.h (struct target_var_desc): Add do_detach flag.
1637 * oacc-init.c (acc_shutdown_1): Free aux block if present.
1638 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1639 struct components. Tidy up and add some new checks.
1640 (goacc_enter_data_internal): Update call to find_group_last.
1641 (goacc_exit_data_internal): Support detach operations and
1642 GOMP_MAP_STRUCT.
1643 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1644 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
1645 attach/detach in enter/exit data detection code.
1646 * target.c (gomp_map_vars_existing): Initialise do_detach field of
1647 tgt_var_desc.
1648 (gomp_map_vars_internal): Support attach.
1649 (gomp_unmap_vars_internal): Support detach.
1650
5d5be7bf
JB
16512019-12-19 Julian Brown <julian@codesourcery.com>
1652 Thomas Schwinge <thomas@codesourcery.com>
1653
1654 * libgomp.h (struct splay_tree_aux): Add attach_count field.
1655 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1656 * libgomp.map (OACC_2.6): New section. Add acc_attach,
1657 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1658 acc_detach_finalize_async.
1659 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1660 acc_detach, acc_detach_async, acc_detach_finalize,
1661 acc_detach_finalize_async): New functions.
1662 * openacc.h (acc_attach, acc_attach_async, acc_detach,
1663 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1664 prototypes.
1665 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1666 (gomp_remove_var_internal): Free attachment counts if present.
1667 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1668 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1669
5bcd470b
JB
16702019-12-19 Julian Brown <julian@codesourcery.com>
1671 Cesar Philippidis <cesar@codesourcery.com>
1672
1673 * libgomp.h (gomp_map_val): Add prototype.
1674 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1675 open-coding device-address calculation.
1676 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1677 non-present case.
1678
378da98f
JB
16792019-12-19 Julian Brown <julian@codesourcery.com>
1680
1681 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1682 field for virtual_refcount.
1683 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1684 (gomp_free_memmap): Remove prototype.
1685 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1686 instead of calling gomp_free_memmap.
1687 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1688 dynamic_refcount.
1689 (acc_unmap_data): Open code instead of forcing target_mem_desc's
1690 to_free field to NULL then calling gomp_unmap_vars. Handle
1691 REFCOUNT_INFINITY on target blocks.
1692 (goacc_enter_data): Rename to...
1693 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
1694 handling for mapping groups. Use virtual_refcount instead of
1695 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1696 map_map_vars_async call. Re-do lookup for target pointer return value.
1697 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1698 renamed goacc_enter_datum function.
1699 (goacc_exit_data): Rename to...
1700 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
1701 (acc_delete, acc_delete_async, acc_delete_finalize,
1702 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1703 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1704 goacc_exit_datum function.
1705 (gomp_acc_remove_pointer, find_pointer): Remove functions.
1706 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1707 New functions.
1708 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1709 goacc_exit_data_internal helper functions.
1710 * target.c (gomp_map_vars_internal): Handle
1711 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
1712 semantics.
1713 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1714 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1715 virtual_refcount field instead of dynamic_refcount.
1716 (gomp_free_memmap): Remove function.
1717 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1718 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1719 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1720
2a656a93
JB
17212019-12-19 Julian Brown <julian@codesourcery.com>
1722 Thomas Schwinge <thomas@codesourcery.com>
1723
1724 * libgomp.h (struct splay_tree_aux): New.
1725 (struct splay_tree_key_s): Replace link_key field with aux pointer.
1726 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1727 to aux struct.
1728 (gomp_remove_var_internal): Free aux block if present.
1729 (gomp_load_image_to_device): Zero-initialise aux field instead of
1730 link_key field.
1731 (omp_target_associate_pointer): Zero-initialise aux field.
1732
601399c0
JJ
17332019-12-18 Jakub Jelinek <jakub@redhat.com>
1734
1735 PR middle-end/86416
1736 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1737 q or none.
1738 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1739 L or none.
1740
a6163563
JB
17412019-12-19 Julian Brown <julian@codesourcery.com>
1742 Maciej W. Rozycki <macro@codesourcery.com>
1743 Tobias Burnus <tobias@codesourcery.com>
1744 Thomas Schwinge <thomas@codesourcery.com>
1745
1746 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1747 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1748 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1749 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1750 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1751 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1752 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1753 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1754 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1755
6278b549
TS
17562019-12-18 Thomas Schwinge <thomas@codesourcery.com>
1757
77ce5555
TS
1758 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1759 called...
1760 (goacc_insert_pointer): ... from here, "present" case.
1761 (goacc_insert_pointer): Inline function into...
1762 (GOACC_enter_exit_data): ... here, and simplify.
1763
9444a299
TS
1764 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1765 called...
1766 (goacc_insert_pointer): ... from here, "not present" case.
1767
5031b619
TS
1768 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
1769 all users.
1770
1a79b578
TS
1771 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1772 'goacc_enter_data', 'goacc_exit_data'.
1773
34cfe31e
TS
1774 * oacc-mem.c (delete_copyout): Refactor into...
1775 (goacc_exit_data): ... this. Adjust all users.
1776
aaf0e9d7
TS
1777 * oacc-mem.c (present_create_copy): Refactor into...
1778 (goacc_enter_data): ... this. Adjust all users.
1779
83d1d065
TS
1780 * target.c (gomp_unmap_vars_internal): Add a safeguard to
1781 'gomp_remove_var'.
1782
cc3f11f5
TS
1783 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1784 like 'GOMP_MAP_FROM'.
1785
ddb25eb9
TS
1786 PR libgomp/92726
1787 PR libgomp/92970
1788 PR libgomp/92984
1789 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1790 fails.
1791 (GOACC_enter_exit_data): Simplify accordingly.
1792 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1793 subsuming...
1794 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1795 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1796 file.
1797 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1798 subsuming...
1799 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1800 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1801 file.
1802 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1803 subsuming...
1804 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1805
32128577
TS
1806 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1807 'finalize' handling.
1808
ba40277f
TS
1809 PR libgomp/92848
1810 * oacc-mem.c (acc_map_data, present_create_copy)
1811 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1812 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1813 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1814 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1815 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1816 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1817 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1818 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1819 Remove "XFAIL"s.
1820
6278b549
TS
1821 * target.c (gomp_unmap_tgt): Make it 'static'.
1822 * libgomp.h (gomp_unmap_tgt): Remove.
1823
c80c9e26
TB
18242019-12-18 Tobias Burnus <tobias@codesourcery.com>
1825
1826 PR middle-end/86416
1827 * testsuite/libgomp.c/pr86416-1.c: New.
1828 * testsuite/libgomp.c/pr86416-2.c: New.
1829
0b8499a4
TB
18302019-12-17 Tobias Burnus <tobias@codesourcery.com>
1831
1832 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1833 all symbols as public except for the 'use …, only' imported symbol,
1834 which is private.
1835 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1836 all symbols from module openacc_kinds as PUBLIC
1837 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1838 fix comment typo.
1839 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1840
1cbd94e8
JB
18412019-12-13 Julian Brown <julian@codesourcery.com>
1842
1843 PR libgomp/92881
1844
1845 * libgomp.h (gomp_remove_var_async): Add prototype.
1846 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1847 gomp_remove_var.
1848 * target.c (gomp_unref_tgt): Change return type to bool, indicating
1849 whether target_mem_desc was unmapped.
1850 (gomp_unref_tgt_void): New.
1851 (gomp_remove_var): Reimplement in terms of...
1852 (gomp_remove_var_internal): ...this new helper function.
1853 (gomp_remove_var_async): New, implemented using above helper function.
1854 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1855 gomp_unref_tgt.
1856
26b74ed0
AS
18572019-12-13 Andrew Stubbs <ams@codesourcery.com>
1858
1859 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1860 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1861 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1862 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1863 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1864 Likewise.
1865 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1866 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1867
7858bb96
TB
18682019-12-13 Tobias Burnus <tobias@codesourcery.com>
1869
1870 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1871 as public except for the 'use …, only' imported symbol, which is
1872 private.
1873 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1874 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1875 attributes for acc_copyout_finalize and acc_delete_finalize.
1876
f8ac7d8f
JJ
18772019-12-11 Jakub Jelinek <jakub@redhat.com>
1878
1879 PR fortran/92899
1880 * testsuite/libgomp.fortran/atomic1.f90: New test.
1881
3d1b5e71
TS
18822019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1883
d6e8c01c
TS
1884 PR libgomp/92843
1885 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1886 reference counting for structured 'REFCOUNT_INFINITY'. Add some
1887 assertions.
1888 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1889 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1890 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1891 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1892 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1893
57963e39
TS
1894 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1895 * oacc-mem.c: ... here.
1896 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1897 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1898 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1899 Remove.
1900 * libgomp_g.h: Update.
1901
c5578b56
TS
1902 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1903 * oacc-async.c: ... here.
1904 * oacc-int.h (goacc_wait): Declare.
1905 * libgomp_g.h: Update
1906
3d1b5e71
TS
1907 PR libgomp/92854
1908 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1909 New file.
1910 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1911 Likewise.
1912 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1913 Likewise.
1914 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1915 Likewise.
1916 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1917 Likewise.
1918 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1919 Likewise.
1920
5e939438
TS
19212019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1922 Julian Brown <julian@codesourcery.com>
1923
1924 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1925 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1926
93d90219
TB
19272019-12-11 Tobias Burnus <tobias@codesourcery.com>
1928
1929 * omp_lib.h.in: Fix spelling of function declaration
1930 omp_get_cancell(l)ation.
1931 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1932 Fix typos.
1933 * env.c: Fix comment typos.
1934 * oacc-host.c: Likewise.
1935 * ordered.c: Likewise.
1936 * task.c: Likewise.
1937 * team.c: Likewise.
1938 * config/gcn/task.c: Likewise.
1939 * config/gcn/team.c: Likewise.
1940 * config/nvptx/task.c: Likewise.
1941 * config/nvptx/team.c: Likewise.
1942 * plugin/plugin-gcn.c: Likewise.
1943 * testsuite/libgomp.fortran/jacobi.f: Likewise.
1944 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1945 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1946
a0221aee
TB
19472019-12-11 Tobias Burnus <tobias@codesourcery.com>
1948
1949 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1950 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1951 unnecessary 'dg-additional-options "-w"'.
1952
47afc7b4
TS
19532019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1954 Julian Brown <julian@codesourcery.com>
1955
1956 PR libgomp/92116
1957 PR libgomp/92877
1958
1959 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
1960 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1961 Adjust all users.
1962 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1963 Remove XFAIL.
1964 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1965 Likewise.
1966 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1967
b5859e40
TS
19682019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1969
cec41816
TS
1970 PR libgomp/92503
1971 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1972 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1973 file.
1974 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1975 Likewise.
1976 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1977 Likewise.
1978 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1979 Likewise.
1980 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1981 Likewise.
1982 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1983 Likewise.
1984 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1985 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1986 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1987 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1988 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1989 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1990 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1991 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1992 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1993 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1994
e103542b
TS
1995 PR libgomp/92840
1996 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1997 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1998 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1999 New file.
2000 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
2001 Likewise.
2002 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
2003 Likewise.
2004 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
2005 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
2006
41f36f22
TS
2007 PR libgomp/92511
2008 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
2009 this file...
2010 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
2011 this file...
2012 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
2013 file...
2014 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
2015 file...
2016 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
2017 ... with their content moved into, and extended in this new file.
2018 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
2019 New file.
2020 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
2021 Likewise.
2022 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
2023 Likewise.
2024 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
2025 Likewise.
2026
6effebe1
TS
2027 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
2028
7d020473
TS
2029 PR libgomp/92854
2030 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
2031
1e1fb715
TS
2032 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
2033
b5859e40
TS
2034 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
2035
11586ed9
TB
20362019-12-09 Tobias Burnus <tobias@codesourcery.com>
2037
2038 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
2039 unique.
2040 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
2041 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
2042 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
2043 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
2044 Ditto.
2045 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
2046 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
2047
3ad4a03a
KCY
20482019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
2049
2050 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
2051
6e4d01d6
TB
20522019-12-06 Tobias Burnus <tobias@codesourcery.com>
2053 Kwok Cheung Yeung <kcy@codesourcery.com>
2054
2055 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
2056 if input it a NULL pointer.
2057 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
2058 diagnostic of NULL pointer.
2059 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
2060 * testsuite/libgomp.fortran/optional-map.f90: New.
2061 * testsuite/libgomp.fortran/use_device_addr-1.f90
2062 (test_dummy_opt_callee_1_absent): New.
2063 (test_dummy_opt_call_1): Call it.
2064 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2065 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
2066 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2067 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
2068 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
2069 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
2070 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
2071 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
2072 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
2073 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
2074 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
2075 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
2076 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
2077 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
2078 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
2079 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
2080
ad80ec46
TB
20812019-12-05 Tobias Burnus <tobias@codesourcery.com>
2082
2083 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
2084 expect dg-output of 'Error termination.' for GCN.
2085 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2086 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2087
a8a5f4cc
JJ
20882019-12-04 Jakub Jelinek <jakub@redhat.com>
2089
2090 PR fortran/92756
2091 * testsuite/libgomp.fortran/teams1.f90: New test.
2092 * testsuite/libgomp.fortran/teams2.f90: New test.
2093
d8f0024b
FH
20942019-12-03 Frederik Harwath <frederik@codesourcery.com>
2095
2096 * oacc-init.c (acc_known_device_type): Add function.
2097 (unknown_device_type_error): Add function.
2098 (name_of_acc_device_t): Change to call unknown_device_type_error
2099 on unknown type.
2100 (resolve_device): Use acc_known_device_type.
2101 (acc_init): Fail if acc_device_t argument is not valid.
2102 (acc_shutdown): Likewise.
2103 (acc_get_num_devices): Likewise.
2104 (acc_set_device_type): Likewise.
2105 (acc_get_device_num): Likewise.
2106 (acc_set_device_num): Likewise.
2107 (acc_on_device): Add comment that argument validity is not checked.
2108
83caa34e
AS
21092019-12-03 Andrew Stubbs <ams@codesourcery.com>
2110
2111 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2112 Recognize amdgcn.
2113 (check_effective_target_openacc_amdgcn_accel_present): New proc.
2114 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
2115 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
2116 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2117 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2118
00484365
SN
21192019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
2120
2121 PR libgomp/91938
2122 * configure.tgt: Avoid IE tls on *-*-musl*.
2123
9909a059
TB
21242019-11-29 Tobias Burnus <tobias@codesourcery.com>
2125
2126 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
2127 adding a common-block test case.
2128
b3f44388
JJ
21292019-11-29 Jakub Jelinek <jakub@redhat.com>
2130
2131 PR c++/60228
2132 * testsuite/libgomp.c++/udr-20.C: New test.
2133 * testsuite/libgomp.c++/udr-21.C: New test.
2134
b1a73b48
TS
21352019-11-27 Thomas Schwinge <thomas@codesourcery.com>
2136
2137 * testsuite/lib/libgomp.exp
2138 (check_effective_target_offload_target_nvptx): New proc.
2139 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
2140 'dg-skip-if'.
2141 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2142 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
2143 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
2144
b8e72446
RO
21452019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2146
2147 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
2148 * testsuite/libgomp.c/pr39591-2.c: Likewise.
2149 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2150 * testsuite/libgomp.c/private-1.c: Likewise.
2151 * testsuite/libgomp.c/task-1.c: Likewise.
2152 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
2153
d88b27da
JB
21542019-11-20 Julian Brown <julian@codesourcery.com>
2155
2156 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
2157 aq->mutex here.
2158 (queue_push_launch): Lock aq->mutex before calling
2159 wait_for_queue_nonfull.
2160 (queue_push_callback): Likewise.
2161 (queue_push_asyncwait): Likewise.
2162 (queue_push_placeholder): Likewise.
2163
8d2f4ddf
JB
21642019-11-20 Julian Brown <julian@codesourcery.com>
2165
2166 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
2167 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
2168 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
2169 return code.
2170
e307b05f
JB
21712019-11-20 Julian Brown <julian@codesourcery.com>
2172
2173 PR libgomp/92511
2174
2175 * oacc-mem.c (present_create_copy): Fix device pointer return value in
2176 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
2177 in non-present/create case.
2178 (delete_copyout): Change error condition to fail only on copies outside
2179 of mapped block. Adjust error message accordingly.
2180 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
2181 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
2182 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
2183 message.
2184 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2185 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
2186 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2187
83115e9e
MR
21882019-11-20 Maciej W. Rozycki <macro@wdc.com>
2189
2190 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
2191 libatomic in build-tree testing.
2192
a1289887
MR
21932019-11-18 Maciej W. Rozycki <macro@wdc.com>
2194
2195 * testsuite/Makefile.in: Regenerate.
2196
8916ba87
AS
21972019-11-15 Andrew Stubbs <ams@codesourcery.com>
2198
2199 * testsuite/libgomp.c/target-print-1.c: New file.
2200 * testsuite/libgomp.fortran/target-print-1.f90: New file.
2201 * testsuite/libgomp.oacc-c/print-1.c: New file.
2202 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
2203
237957cc
AS
22042019-11-13 Andrew Stubbs <ams@codesourcery.com>
2205 Kwok Cheung Yeung <kcy@codesourcery.com>
2206 Julian Brown <julian@codesourcery.com>
2207 Tom de Vries <tom@codesourcery.com>
2208
2209 * plugin/Makefrag.am: Add amdgcn plugin support.
2210 * plugin/configfrag.ac: Likewise.
2211 * plugin/plugin-gcn.c: New file.
2212 * configure: Regenerate.
2213 * Makefile.in: Regenerate.
2214 * testsuite/Makefile.in: Regenerate.
2215
cee16451
AS
22162019-11-13 Andrew Stubbs <ams@codesourcery.com>
2217
2218 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
2219 and use team_malloc variants.
2220 (gomp_gcn_exit_kernel): Use team_free.
2221 * libgomp.h (TEAM_ARENA_SIZE): Define.
2222 (TEAM_ARENA_START): Define.
2223 (TEAM_ARENA_FREE): Define.
2224 (TEAM_ARENA_END): Define.
2225 (team_malloc): New function.
2226 (team_malloc_cleared): New function.
2227 (team_free): New function.
2228 * team.c (gomp_new_team): Initialize and use team_malloc.
2229 (free_team): Use team_free.
2230 (gomp_free_thread): Use team_free.
2231 (gomp_pause_host): Use team_free.
2232 * work.c (gomp_init_work_share): Use team_malloc.
2233 (gomp_fini_work_share): Use team_free.
2234
fa499995
AS
22352019-11-13 Andrew Stubbs <ams@codesourcery.com>
2236 Kwok Cheung Yeung <kcy@codesourcery.com>
2237 Julian Brown <julian@codesourcery.com>
2238 Tom de Vries <tom@codesourcery.com>
2239
2240 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
2241 * Makefile.in: Regenerate.
2242 * config.h.in (PLUGIN_GCN): Add new undef.
2243 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
2244 * config/gcn/affinity-fmt.c: New file.
2245 * config/gcn/bar.c: New file.
2246 * config/gcn/bar.h: New file.
2247 * config/gcn/doacross.h: New file.
2248 * config/gcn/icv-device.c: New file.
2249 * config/gcn/oacc-target.c: New file.
2250 * config/gcn/simple-bar.h: New file.
2251 * config/gcn/target.c: New file.
2252 * config/gcn/task.c: New file.
2253 * config/gcn/team.c: New file.
2254 * config/gcn/time.c: New file.
2255 * configure.ac: Add amdgcn*-*-*.
2256 * configure: Regenerate.
2257 * configure.tgt: Add amdgcn*-*-*.
2258 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
2259 * libgomp.h (gcn_thrs): Add amdgcn variant.
2260 (set_gcn_thrs): Likewise.
2261 (gomp_thread): Likewise.
2262 * oacc-int.h (goacc_thread): Likewise.
2263 * oacc-target.c: New file.
2264 * openacc.f90 (acc_device_gcn): New parameter.
2265 * openacc.h (acc_device_t): Add acc_device_gcn.
2266 * team.c (gomp_free_pool_helper): Add amdgcn support.
2267
d2903ce0
AS
22682019-11-13 Andrew Stubbs <ams@codesourcery.com>
2269 Julian Brown <julian@codesourcery.com>
2270
2271 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
2272 parameter.
2273 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
2274 queue constructor.
2275 * oacc-host.c (host_openacc_async_construct): Add device parameter.
2276 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
2277 device parameter.
2278
b3d14b3a
AS
22792019-11-13 Andrew Stubbs <ams@codesourcery.com>
2280
2281 * configure.tgt (nvptx*-*-*): Add "accel" directory.
2282 * config/nvptx/libgomp-plugin.c: Move ...
2283 * config/accel/libgomp-plugin.c: ... to here.
2284 * config/nvptx/lock.c: Move ...
2285 * config/accel/lock.c: ... to here.
2286 * config/nvptx/mutex.c: Move ...
2287 * config/accel/mutex.c: ... to here.
2288 * config/nvptx/mutex.h: Move ...
2289 * config/accel/mutex.h: ... to here.
2290 * config/nvptx/oacc-async.c: Move ...
2291 * config/accel/oacc-async.c: ... to here.
2292 * config/nvptx/oacc-cuda.c: Move ...
2293 * config/accel/oacc-cuda.c: ... to here.
2294 * config/nvptx/oacc-host.c: Move ...
2295 * config/accel/oacc-host.c: ... to here.
2296 * config/nvptx/oacc-init.c: Move ...
2297 * config/accel/oacc-init.c: ... to here.
2298 * config/nvptx/oacc-mem.c: Move ...
2299 * config/accel/oacc-mem.c: ... to here.
2300 * config/nvptx/oacc-plugin.c: Move ...
2301 * config/accel/oacc-plugin.c: ... to here.
2302 * config/nvptx/omp-lock.h: Move ...
2303 * config/accel/omp-lock.h: ... to here.
2304 * config/nvptx/openacc.f90: Move ...
2305 * config/accel/openacc.f90: ... to here.
2306 * config/nvptx/pool.h: Move ...
2307 * config/accel/pool.h: ... to here.
2308 * config/nvptx/proc.c: Move ...
2309 * config/accel/proc.c: ... to here.
2310 * config/nvptx/ptrlock.c: Move ...
2311 * config/accel/ptrlock.c: ... to here.
2312 * config/nvptx/ptrlock.h: Move ...
2313 * config/accel/ptrlock.h: ... to here.
2314 * config/nvptx/sem.c: Move ...
2315 * config/accel/sem.c: ... to here.
2316 * config/nvptx/sem.h: Move ...
2317 * config/accel/sem.h: ... to here.
2318 * config/nvptx/thread-stacksize.h: Move ...
2319 * config/accel/thread-stacksize.h: ... to here.
2320
62aee289
MR
23212019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2322 Tobias Burnus <tobias@codesourcery.com>
2323 Frederik Harwath <frederik@codesourcery.com>
2324 Thomas Schwinge <thomas@codesourcery.com>
2325
2326 libgomp/
2327 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
2328 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
2329 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
2330
a2c26c50
TB
23312019-11-11 Tobias Burnus <tobias@codesourcery.com>
2332 Kwok Cheung Yeung <kcy@codesourcery.com>
2333
2334 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
2335 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
2336
6d4868f3
TS
23372019-11-11 Thomas Schwinge <thomas@codesourcery.com>
2338
bfa1837b
TS
2339 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
2340
6d4868f3
TS
2341 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
2342 run'.
2343 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2344 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
2345
5d183d17
FH
23462019-11-06 Thomas Schwinge <thomas@codesourcery.com>
2347
2348 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
2349 Add expected warnings about missing reduction clauses.
2350 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
2351 Likewise.
2352 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
2353 Likewise.
2354 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
2355 Likewise.
2356
d8f03b03
TB
23572019-11-04 Tobias Burnus <tobias@codesourcery.com>
2358
2359 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
2360 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
2361 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
2362 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2363 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2364 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2365
12fd2ec5
TB
23662019-11-04 Tobias Burnus <tobias@codesourcery.com>
2367
2368 PR fortran/92305
2369 * testsuite/libgomp.fortran/allocatable2.f90: Use
2370 unique numbers with 'stop'.
2371 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2372 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2373 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
2374 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
2375 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
2376
92e63bd2
TB
23772019-11-01 Tobias Burnus <tobias@codesourcery.com>
2378
2379 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
2380 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
2381 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2382 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
2383 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
2384 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
2385
91ae0a46
TB
23862019-10-30 Tobias Burnus <tobias@codesourcery.com>
2387
2388 * testsuite/libgomp.fortran/target9.f90: New.
2389
c425e66b
TB
23902019-10-30 Tobias Burnus <tobias@codesourcery.com>
2391
2392 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
2393 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
2394 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
2395 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
2396 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
2397 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
2398 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
2399 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
2400 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
2401 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
2402 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
2403 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
2404 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
2405 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
2406 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
2407 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
2408 * testsuite/libgomp.fortran/associate1.f90: Ditto.
2409 * testsuite/libgomp.fortran/associate2.f90: Ditto.
2410 * testsuite/libgomp.fortran/associate3.f90: Ditto.
2411 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
2412 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
2413 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
2414 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
2415 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
2416 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
2417 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
2418 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
2419 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
2420 * testsuite/libgomp.fortran/character1.f90: Ditto.
2421 * testsuite/libgomp.fortran/character2.f90: Ditto.
2422 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
2423 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
2424 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
2425 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
2426 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
2427 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
2428 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
2429 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
2430 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
2431 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
2432 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
2433 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
2434 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
2435 * testsuite/libgomp.fortran/do1.f90: Ditto.
2436 * testsuite/libgomp.fortran/do2.f90: Ditto.
2437 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
2438 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
2439 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
2440 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
2441 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
2442 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
2443 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
2444 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
2445 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
2446 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
2447 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
2448 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
2449 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
2450 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
2451 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
2452 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
2453 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
2454 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
2455 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
2456 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
2457 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
2458 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
2459 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
2460 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
2461 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
2462 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
2463 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
2464 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
2465 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
2466 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
2467 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
2468 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
2469 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
2470 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
2471 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
2472 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
2473 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
2474 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
2475 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
2476 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
2477 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
2478 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
2479 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
2480 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
2481 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
2482 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
2483 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
2484 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
2485 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
2486 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2487 * testsuite/libgomp.fortran/lib1.f90: Ditto.
2488 * testsuite/libgomp.fortran/lib4.f90: Ditto.
2489 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
2490 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
2491 * testsuite/libgomp.fortran/nested1.f90: Ditto.
2492 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
2493 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
2494 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
2495 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2496 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
2497 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
2498 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2499 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
2500 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
2501 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
2502 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
2503 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
2504 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
2505 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
2506 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2507 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
2508 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2509 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
2510 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
2511 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
2512 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
2513 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
2514 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
2515 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
2516 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2517 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
2518 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
2519 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
2520 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
2521 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
2522 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2523 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
2524 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
2525 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
2526 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
2527 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2528 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
2529 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
2530 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
2531 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
2532 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
2533 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
2534 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
2535 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
2536 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
2537 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
2538 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
2539 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
2540 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
2541 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
2542 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
2543 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
2544 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
2545 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
2546 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
2547 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
2548 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2549 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
2550 * testsuite/libgomp.fortran/reference1.f90: Ditto.
2551 * testsuite/libgomp.fortran/reference2.f90: Ditto.
2552 * testsuite/libgomp.fortran/retval1.f90: Ditto.
2553 * testsuite/libgomp.fortran/retval2.f90: Ditto.
2554 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
2555 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
2556 * testsuite/libgomp.fortran/simd1.f90: Ditto.
2557 * testsuite/libgomp.fortran/simd2.f90: Ditto.
2558 * testsuite/libgomp.fortran/simd3.f90: Ditto.
2559 * testsuite/libgomp.fortran/simd4.f90: Ditto.
2560 * testsuite/libgomp.fortran/simd5.f90: Ditto.
2561 * testsuite/libgomp.fortran/simd6.f90: Ditto.
2562 * testsuite/libgomp.fortran/simd7.f90: Ditto.
2563 * testsuite/libgomp.fortran/stack.f90: Ditto.
2564 * testsuite/libgomp.fortran/strassen.f90: Ditto.
2565 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
2566 * testsuite/libgomp.fortran/tabs2.f: Ditto.
2567 * testsuite/libgomp.fortran/target1.f90: Ditto.
2568 * testsuite/libgomp.fortran/target2.f90: Ditto.
2569 * testsuite/libgomp.fortran/target3.f90: Ditto.
2570 * testsuite/libgomp.fortran/target4.f90: Ditto.
2571 * testsuite/libgomp.fortran/target5.f90: Ditto.
2572 * testsuite/libgomp.fortran/target6.f90: Ditto.
2573 * testsuite/libgomp.fortran/target7.f90: Ditto.
2574 * testsuite/libgomp.fortran/target8.f90: Ditto.
2575 * testsuite/libgomp.fortran/task1.f90: Ditto.
2576 * testsuite/libgomp.fortran/task2.f90: Ditto.
2577 * testsuite/libgomp.fortran/task3.f90: Ditto.
2578 * testsuite/libgomp.fortran/task4.f90: Ditto.
2579 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2580 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2581 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2582 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2583 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2584 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
2585 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
2586 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
2587 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
2588 * testsuite/libgomp.fortran/udr1.f90: Ditto.
2589 * testsuite/libgomp.fortran/udr10.f90: Ditto.
2590 * testsuite/libgomp.fortran/udr11.f90: Ditto.
2591 * testsuite/libgomp.fortran/udr12.f90: Ditto.
2592 * testsuite/libgomp.fortran/udr13.f90: Ditto.
2593 * testsuite/libgomp.fortran/udr14.f90: Ditto.
2594 * testsuite/libgomp.fortran/udr15.f90: Ditto.
2595 * testsuite/libgomp.fortran/udr2.f90: Ditto.
2596 * testsuite/libgomp.fortran/udr3.f90: Ditto.
2597 * testsuite/libgomp.fortran/udr4.f90: Ditto.
2598 * testsuite/libgomp.fortran/udr5.f90: Ditto.
2599 * testsuite/libgomp.fortran/udr6.f90: Ditto.
2600 * testsuite/libgomp.fortran/udr7.f90: Ditto.
2601 * testsuite/libgomp.fortran/udr8.f90: Ditto.
2602 * testsuite/libgomp.fortran/udr9.f90: Ditto.
2603 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2604 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2605 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2606 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2607 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2608 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2609 * testsuite/libgomp.fortran/vla7.f90: Ditto.
2610 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2611 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2612 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2613
01509e2f
TB
26142019-10-30 Tobias Burnus <tobias@codesourcery.com>
2615
2616 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2617 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2618 Ditto; add 'dg-do run' for torture testing.
2619 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
2620 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2621 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2622 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2623 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2624 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2625 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2626 * testsuite/libgomp.fortran/task2.f90: Ditto.
2627 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2628 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2629 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2630 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2631 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2632 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2633
ffbdd78a
TB
26342019-10-28 Tobias Burnus <tobias@codesourcery.com>
2635
2636 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2637 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2638 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2639 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2640 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2641 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2642 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2643 Use 'stop' not abort().
2644 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2645 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2646 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2647 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2648 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2649 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2650 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2651 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2652 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2653 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2654 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2655 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2656 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2657 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2658 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2659 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2660 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2661 Ditto.
2662 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2663 Ditto.
2664 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2665 Ditto.
2666 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2667 Ditto.
2668 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2669 Ditto.
2670 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2671 Ditto.
2672 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2673 Ditto.
2674 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2675 Ditto.
2676 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2677 Ditto.
2678 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2679 Ditto.
2680 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2681 Ditto.
2682 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2683 Ditto.
2684 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2685 Ditto.
2686 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2687 Ditto.
2688 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2689 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2690 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2691 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2692 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2693 Likewise and also add 'dg-do run'.
2694 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2695 Ditto.
2696
ec084613
CP
26972019-10-25 Cesar Philippidis <cesar@codesourcery.com>
2698 Tobias Burnus <tobias@codesourcery.com>
2699
2700 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2701 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2702 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2703
77ef3394
JJ
27042019-10-14 Jakub Jelinek <jakub@redhat.com>
2705
2706 PR libgomp/92081
2707 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2708 than 0.
2709
08c14aaa
TB
27102019-10-11 Tobias Burnus <tobias@codesourcery.com>
2711
2712 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2713 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2714
6bbead0c
TS
27152019-10-09 Thomas Schwinge <thomas@codesourcery.com>
2716
2717 PR middle-end/92036
2718 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2719 file.
2720
eba3dee8
TB
27212019-10-09 Tobias Burnus <tobias@codesourcery.com>
2722
2723 PR testsuite/91884
2724 * testsuite/libgomp.fortran/fortran.exp: Conditionally
2725 add -lquadmath.
2726 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2727
7d48e14f
JJ
27282019-10-09 Jakub Jelinek <jakub@redhat.com>
2729
2730 PR libgomp/92028
2731 * target.c (gomp_map_vars_internal): Readd the previous
2732 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2733 though do that just in the !not_found_cnt case.
2734
65b67cf3
TB
27352019-10-08 Tobias Burnus <tobias@codesourcery.com>
2736
2737 * gfortran.dg/gomp/target-simd.f90: New.
2738
6c7e076b
JB
27392019-10-02 Julian Brown <julian@codesourcery.com>
2740 Cesar Philippidis <cesar@codesourcery.com>
2741
2742 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2743 * target.c (FIELD_TGT_EMPTY): Define.
2744 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
2745 as switch instead of list of ifs.
2746 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2747
d61bff85
AT
27482019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
2749
2750 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2751 include. Replace alloca () with __builtin_alloca ().
2752 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2753
810f316d
JJ
27542019-10-01 Jakub Jelinek <jakub@redhat.com>
2755
2756 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2757 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2758 * oacc-parallel.c: Don't include "libgomp_g.h".
2759 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2760 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2761 * aclocal.m4: Regenerated.
2762 * config.h.in: Regenerated.
2763 * configure: Regenerated.
2764 * Makefile.in: Regenerated.
2765
d7f9ee98
KCY
27662019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
2767
2768 * libgomp_g.h: Include stdint.h instead of gstdint.h.
2769
e9085da5
MR
27702019-09-27 Maciej W. Rozycki <macro@wdc.com>
2771
2772 * configure: Regenerate.
2773
c28712be
TB
27742019-09-13 Tobias Burnus <tobias@codesourcery.com>
2775
2776 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2777 string is initialized.
2778
3c086f8d
FW
27792019-09-06 Florian Weimer <fweimer@redhat.com>
2780
2781 * configure: Regenerate.
2782
c6c2d1bc
CLT
27832019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
2784
2785 PR other/79543
2786 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2787 scanning to conform to the GNU Coding Standards.
2788 * configure: Regenerate.
2789
5cb72d83
JJ
27902019-08-28 Jakub Jelinek <jakub@redhat.com>
2791
2792 PR libgomp/91530
2793 * testsuite/libgomp.c/scan-21.c: New test.
2794 * testsuite/libgomp.c/scan-22.c: New test.
2795
0ad7981c
JJ
27962019-08-27 Jakub Jelinek <jakub@redhat.com>
2797
2798 PR libgomp/91530
2799 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2800 targets.
2801 * testsuite/libgomp.c/scan-12.c: Likewise.
2802 * testsuite/libgomp.c/scan-13.c: Likewise.
2803 * testsuite/libgomp.c/scan-14.c: Likewise.
2804 * testsuite/libgomp.c/scan-15.c: Likewise.
2805 * testsuite/libgomp.c/scan-16.c: Likewise.
2806 * testsuite/libgomp.c/scan-17.c: Likewise.
2807 * testsuite/libgomp.c/scan-18.c: Likewise.
2808 * testsuite/libgomp.c/scan-19.c: Likewise.
2809 * testsuite/libgomp.c/scan-20.c: Likewise.
2810 * testsuite/libgomp.c++/scan-9.C: Likewise.
2811 * testsuite/libgomp.c++/scan-10.C: Likewise.
2812 * testsuite/libgomp.c++/scan-11.C: Likewise.
2813 * testsuite/libgomp.c++/scan-12.C: Likewise.
2814 * testsuite/libgomp.c++/scan-14.C: Likewise.
2815 * testsuite/libgomp.c++/scan-15.C: Likewise.
2816 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
2817 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2818 * testsuite/libgomp.c++/scan-16.C: Likewise.
2819
1e67491a
TK
28202019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
2821
2822 PR fortran/91473
2823 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2824 -std=legacy so invalid code in the test case is accepted.
2825
393fdeb1
TK
28262019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2827
2828 PR fortran/91422
2829 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2830 dimension.
2831
8860d270
JJ
28322019-08-08 Jakub Jelinek <jakub@redhat.com>
2833
2834 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2835 perform the lookup in the first loop only if !not_found_cnt, otherwise
2836 perform lookups for it in the second loop guarded with
2837 if (not_found_cnt || has_firstprivate).
2838 * testsuite/libgomp.c/target-37.c: New test.
2839 * testsuite/libgomp.c++/target-22.C: New test.
2840
398e3feb
JJ
28412019-08-07 Jakub Jelinek <jakub@redhat.com>
2842
2843 * testsuite/libgomp.c/target-18.c (struct S): New type.
2844 (foo): Use use_device_addr clause instead of use_device_ptr clause
2845 where required by OpenMP 5.0, add further tests for both use_device_ptr
2846 and use_device_addr clauses.
2847 * testsuite/libgomp.c++/target-9.C (struct S): New type.
2848 (foo): Use use_device_addr clause instead of use_device_ptr clause
2849 where required by OpenMP 5.0, add further tests for both use_device_ptr
2850 and use_device_addr clauses. Add t and u arguments.
2851 (main): Adjust caller.
2852
d81ab49d
JJ
28532019-08-06 Jakub Jelinek <jakub@redhat.com>
2854
2855 * testsuite/libgomp.c++/loop-13.C: New test.
2856 * testsuite/libgomp.c++/loop-14.C: New test.
2857 * testsuite/libgomp.c++/loop-15.C: New test.
2858
c3ac76aa
JJ
28592019-07-31 Jakub Jelinek <jakub@redhat.com>
2860
2861 PR middle-end/91301
2862 * testsuite/libgomp.c++/for-27.C: New test.
2863
8dc63166
SK
28642019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
2865
393fdeb1 2866 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 2867 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 2868
554a530f
JJ
28692019-07-20 Jakub Jelinek <jakub@redhat.com>
2870
2871 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2872
6cda84b5
JJ
28732019-07-08 Jakub Jelinek <jakub@redhat.com>
2874
2875 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2876 * testsuite/libgomp.c++/scan-16.C: Likewise.
2877
1f52d1a8
JJ
28782019-07-06 Jakub Jelinek <jakub@redhat.com>
2879
6f67abcd
JJ
2880 * testsuite/libgomp.c/scan-19.c: New test.
2881 * testsuite/libgomp.c/scan-20.c: New test.
2882
1f52d1a8
JJ
2883 * testsuite/libgomp.c/scan-11.c: New test.
2884 * testsuite/libgomp.c/scan-12.c: New test.
2885 * testsuite/libgomp.c/scan-13.c: New test.
2886 * testsuite/libgomp.c/scan-14.c: New test.
2887 * testsuite/libgomp.c/scan-15.c: New test.
2888 * testsuite/libgomp.c/scan-16.c: New test.
2889 * testsuite/libgomp.c/scan-17.c: New test.
2890 * testsuite/libgomp.c/scan-18.c: New test.
2891 * testsuite/libgomp.c++/scan-9.C: New test.
2892 * testsuite/libgomp.c++/scan-10.C: New test.
2893 * testsuite/libgomp.c++/scan-11.C: New test.
2894 * testsuite/libgomp.c++/scan-12.C: New test.
2895 * testsuite/libgomp.c++/scan-13.C: New test.
2896 * testsuite/libgomp.c++/scan-14.C: New test.
2897 * testsuite/libgomp.c++/scan-15.C: New test.
2898 * testsuite/libgomp.c++/scan-16.C: New test.
2899
2f03073f
JJ
29002019-07-04 Jakub Jelinek <jakub@redhat.com>
2901
2902 * testsuite/libgomp.c/scan-9.c: New test.
2903 * testsuite/libgomp.c/scan-10.c: New test.
2904
2f6bb511
JJ
29052019-07-03 Jakub Jelinek <jakub@redhat.com>
2906
2907 * testsuite/libgomp.c++/scan-1.C: New test.
2908 * testsuite/libgomp.c++/scan-2.C: New test.
2909 * testsuite/libgomp.c++/scan-3.C: New test.
2910 * testsuite/libgomp.c++/scan-4.C: New test.
2911 * testsuite/libgomp.c++/scan-5.C: New test.
2912 * testsuite/libgomp.c++/scan-6.C: New test.
2913 * testsuite/libgomp.c++/scan-7.C: New test.
2914 * testsuite/libgomp.c++/scan-8.C: New test.
2915 * testsuite/libgomp.c/scan-1.c: New test.
2916 * testsuite/libgomp.c/scan-2.c: New test.
2917 * testsuite/libgomp.c/scan-3.c: New test.
2918 * testsuite/libgomp.c/scan-4.c: New test.
2919 * testsuite/libgomp.c/scan-5.c: New test.
2920 * testsuite/libgomp.c/scan-6.c: New test.
2921 * testsuite/libgomp.c/scan-7.c: New test.
2922 * testsuite/libgomp.c/scan-8.c: New test.
2923
bd194a51
TS
29242019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2925
85fca03a
TS
2926 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2927 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2928 Likewise.
2929
bd194a51
TS
2930 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2931 check.
2932
6652161e
CP
29332019-06-18 Cesar Philippidis <cesar@codesourcery.com>
2934
2935 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2936 file.
2937
3a37d6f6
TS
29382019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2939
4017da8d
TS
2940 PR fortran/90743
2941 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2942 case.
2943 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2944 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2945 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2946 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2947
6f7c1f65
TS
2948 PR testsuite/90861
2949 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2950
3a37d6f6
TS
2951 PR middle-end/90862
2952 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2953
f45ce17d
TV
29542019-06-16 Tom de Vries <tdevries@suse.de>
2955
2956 PR tree-optimization/89376
2957 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2958
00908992
TV
29592019-06-15 Tom de Vries <tdevries@suse.de>
2960
2961 PR tree-optimization/89713
2962 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2963 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2964
211b7533
JJ
29652019-06-15 Jakub Jelinek <jakub@redhat.com>
2966
2967 PR middle-end/90779
2968 * testsuite/libgomp.c/pr90779.c: New test.
2969 * testsuite/libgomp.fortran/pr90779.f90: New test.
2970
120a01d1
TV
29712019-06-15 Tom de Vries <tdevries@suse.de>
2972
2973 PR tree-optimization/90009
2974 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2975
c29c92c7
FX
29762019-06-13 Feng Xue <fxue@os.amperecomputing.com>
2977
2978 PR tree-optimization/89713
2979 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2980
ce9c4ec3
JJ
29812019-06-11 Jakub Jelinek <jakub@redhat.com>
2982
2983 PR target/90811
2984 * testsuite/libgomp.c/pr90811.c: New test.
2985
28b3a77c
JJ
29862019-06-05 Jakub Jelinek <jakub@redhat.com>
2987
2988 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2989 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2990
7855700e
JJ
29912019-06-04 Jakub Jelinek <jakub@redhat.com>
2992
2993 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2994 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2995 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2996 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2997
a7155c2e
RO
29982019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2999
3000 * configure.ac: Call AX_COUNT_CPUS.
3001 Substitute CPU_COUNT.
3002 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
3003 count fallback.
3004 * aclocal.m4: Regenerate.
3005 * configure: Regenerate.
3006 * Makefile.in, testsuite/Makefile.in: Regenerate.
3007
7e47198b
JJ
30082019-05-29 Jakub Jelinek <jakub@redhat.com>
3009
3010 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
3011 to ...
3012 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
3013 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
3014 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
3015
fcfb8032
JJ
30162019-05-27 Jakub Jelinek <jakub@redhat.com>
3017
8e7757ba
JJ
3018 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
3019
36c7a3ff
JJ
3020 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
3021
fcfb8032
JJ
3022 PR libgomp/90641
3023 * work.c (gomp_init_work_share): Instead of aligning final ordered
3024 value to multiples of long long alignment, align to that the
3025 first part (ordered team ids) and if inline_ordered_team_ids
3026 is not on a long long alignment boundary within the structure,
3027 use __alignof__ (long long) - 1 pad size always.
3028 * loop.c (GOMP_loop_start): Fix *mem computation if
3029 inline_ordered_team_ids is not aligned on long long alignment boundary
3030 within the structure.
3031 * loop-ull.c (GOMP_loop_ull_start): Likewise.
3032 * sections.c (GOMP_sections2_start): Likewise.
3033
b5c26449
JJ
30342019-05-24 Jakub Jelinek <jakub@redhat.com>
3035
6c7ae8c5
JJ
3036 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
3037 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
3038
b5c26449
JJ
3039 PR libgomp/90585
3040 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
3041 HAVE_INTTYPES_H is defined.
3042 (print_uint64_t): New typedef.
3043 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
3044 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
3045 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
3046 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
3047 before casting to void *.
3048 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
3049 * oacc-mem.c: Don't include config.h nor stdint.h.
3050 * target.c: Don't include config.h.
3051 * oacc-cuda.c: Likewise.
3052 * oacc-host.c: Don't include stdint.h.
3053
3e03ed66
JJ
30542019-05-20 Jakub Jelinek <jakub@redhat.com>
3055
3056 PR libgomp/90527
3057 * alloc.c (_GNU_SOURCE): Define.
3058
5fae049d
TS
30592019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3060
3061 * acc_prof.h: New file.
3062 * oacc-profiling.c: Likewise.
3063 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
3064 Add these, respectively.
3065 * Makefile.in: Regenerate.
3066 * env.c (initialize_env): Call goacc_profiling_initialize.
3067 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
3068 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
3069 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
3070 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
3071 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
3072 acc_prof_register, acc_prof_unregister, and acc_register_library.
3073 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
3074 GOMP_PLUGIN_goacc_thread.
3075 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
3076 prof_callbacks_enabled members.
3077 (goacc_prof_enabled, goacc_profiling_initialize)
3078 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
3079 (goacc_profiling_dispatch): Declare.
3080 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
3081 (GOACC_PROFILING_SETUP_P): Define.
3082 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
3083 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
3084 OpenACC Profiling Interface.
3085 * oacc-cuda.c (acc_get_current_cuda_device)
3086 (acc_get_current_cuda_context, acc_get_cuda_stream)
3087 (acc_set_cuda_stream): Likewise.
3088 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
3089 (acc_init, acc_set_device_type, acc_get_device_type)
3090 (acc_get_device_num, goacc_lazy_initialize): Likewise.
3091 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
3092 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
3093 (acc_unmap_data, present_create_copy, delete_copyout)
3094 (update_dev_host): Likewise.
3095 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
3096 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
3097 Likewise.
3098 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
3099 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
3100 Likewise.
3101 * libgomp.texi: Update.
3102 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
3103 file.
3104 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
3105 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3106 Likewise.
3107 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
3108 Likewise.
3109 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
3110 Likewise.
3111 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
3112 Likewise.
3113
1f4c5b9b
CLT
31142019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
3115
3116 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
3117 (struct goacc_asyncqueue_list): Likewise.
3118 (goacc_aq): Likewise.
3119 (goacc_aq_list): Likewise.
3120 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3121 (GOMP_OFFLOAD_openacc_async_test): Remove.
3122 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3123 (GOMP_OFFLOAD_openacc_async_wait): Remove.
3124 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3125 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3126 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3127 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3128 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
3129 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
3130 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
3131 (GOMP_OFFLOAD_openacc_async_exec): Declare.
3132 (GOMP_OFFLOAD_openacc_async_construct): Declare.
3133 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
3134 (GOMP_OFFLOAD_openacc_async_test): Declare.
3135 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
3136 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
3137 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
3138 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
3139 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
3140
3141 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
3142 (gomp_acc_insert_pointer): Adjust declaration.
3143 (gomp_copy_host2dev): New declaration.
3144 (gomp_copy_dev2host): Likewise.
3145 (gomp_map_vars_async): Likewise.
3146 (gomp_unmap_tgt): Likewise.
3147 (gomp_unmap_vars_async): Likewise.
3148 (gomp_fini_device): Likewise.
3149
3150 * oacc-async.c (get_goacc_thread): New function.
3151 (get_goacc_thread_device): New function.
3152 (lookup_goacc_asyncqueue): New function.
3153 (get_goacc_asyncqueue): New function.
3154 (acc_async_test): Adjust code to use new async design.
3155 (acc_async_test_all): Likewise.
3156 (acc_wait): Likewise.
3157 (acc_wait_async): Likewise.
3158 (acc_wait_all): Likewise.
3159 (acc_wait_all_async): Likewise.
3160 (goacc_async_free): New function.
3161 (goacc_init_asyncqueues): Likewise.
3162 (goacc_fini_asyncqueues): Likewise.
3163 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
3164 design.
3165 (acc_set_cuda_stream): Likewise.
3166 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
3167 (host_openacc_register_async_cleanup): Remove.
3168 (host_openacc_async_exec): New function.
3169 (host_openacc_async_test): Adjust parameters.
3170 (host_openacc_async_test_all): Remove.
3171 (host_openacc_async_wait): Remove.
3172 (host_openacc_async_wait_async): Remove.
3173 (host_openacc_async_wait_all): Remove.
3174 (host_openacc_async_wait_all_async): Remove.
3175 (host_openacc_async_set_async): Remove.
3176 (host_openacc_async_synchronize): New function.
3177 (host_openacc_async_serialize): New function.
3178 (host_openacc_async_host2dev): New function.
3179 (host_openacc_async_dev2host): New function.
3180 (host_openacc_async_queue_callback): New function.
3181 (host_openacc_async_construct): New function.
3182 (host_openacc_async_destruct): New function.
3183 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 3184 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
3185 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
3186 (goacc_attach_host_thread_to_device): Remove old async code usage.
3187 * oacc-int.h (goacc_init_asyncqueues): New declaration.
3188 (goacc_fini_asyncqueues): Likewise.
3189 (goacc_async_copyout_unmap_vars): Likewise.
3190 (goacc_async_free): Likewise.
3191 (get_goacc_asyncqueue): Likewise.
3192 (lookup_goacc_asyncqueue): Likewise.
3193 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
3194 design.
3195 (present_create_copy): Adjust code to use new async design.
3196 (delete_copyout): Likewise.
3197 (update_dev_host): Likewise.
3198 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
3199 async design.
3200 (gomp_acc_remove_pointer): Adjust code to use new async design.
3201 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
3202 design.
3203 (GOACC_enter_exit_data): Likewise.
3204 (goacc_wait): Likewise.
3205 (GOACC_update): Likewise.
3206 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
3207 when called, warn as obsolete in comment.
3208 * target.c (goacc_device_copy_async): New function.
3209 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
3210 add goacc_device_copy_async case.
3211 (gomp_copy_dev2host): Likewise.
3212 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
3213 (gomp_map_pointer): Likewise.
3214 (gomp_map_fields_existing): Likewise.
3215 (gomp_map_vars_internal): New always_inline function, renamed from
3216 gomp_map_vars.
3217 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
3218 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
3219 passing goacc_asyncqueue argument.
3220 (gomp_unmap_tgt): Remove static, add attribute_hidden.
3221 (gomp_unref_tgt): New function.
3222 (gomp_unmap_vars_internal): New always_inline function, renamed from
3223 gomp_unmap_vars.
3224 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
3225 (gomp_unmap_vars_async): Implement by calling
3226 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
3227 (gomp_fini_device): New function.
3228 (gomp_exit_data): Adjust gomp_copy_dev2host call.
3229 (gomp_load_plugin_for_device): Remove old interface, adjust to load
3230 new async interface.
3231 (gomp_target_fini): Adjust code to call gomp_fini_device.
3232
3233 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
3234 (struct ptx_stream): Remove.
3235 (struct nvptx_thread): Remove current_stream field.
3236 (cuda_map_create): Remove.
3237 (cuda_map_destroy): Remove.
3238 (map_init): Remove.
3239 (map_fini): Remove.
3240 (map_pop): Remove.
3241 (map_push): Remove.
3242 (struct goacc_asyncqueue): Define.
3243 (struct nvptx_callback): Define.
3244 (struct ptx_free_block): Define.
3245 (struct ptx_device): Remove null_stream, active_streams, async_streams,
3246 stream_lock, and next fields.
3247 (enum ptx_event_type): Remove.
3248 (struct ptx_event): Remove.
3249 (ptx_event_lock): Remove.
3250 (ptx_events): Remove.
3251 (init_streams_for_device): Remove.
3252 (fini_streams_for_device): Remove.
3253 (select_stream_for_async): Remove.
3254 (nvptx_init): Remove ptx_events and ptx_event_lock references.
3255 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
3256 case.
3257 (nvptx_open_device): Add free_blocks initialization, remove
3258 init_streams_for_device call.
3259 (nvptx_close_device): Remove fini_streams_for_device call, add
3260 free_blocks destruct code.
3261 (event_gc): Remove.
3262 (event_add): Remove.
3263 (nvptx_exec): Adjust parameters and code.
3264 (nvptx_free): Likewise.
3265 (nvptx_host2dev): Remove.
3266 (nvptx_dev2host): Remove.
3267 (nvptx_set_async): Remove.
3268 (nvptx_async_test): Remove.
3269 (nvptx_async_test_all): Remove.
3270 (nvptx_wait): Remove.
3271 (nvptx_wait_async): Remove.
3272 (nvptx_wait_all): Remove.
3273 (nvptx_wait_all_async): Remove.
3274 (nvptx_get_cuda_stream): Remove.
3275 (nvptx_set_cuda_stream): Remove.
3276 (GOMP_OFFLOAD_alloc): Adjust code.
3277 (GOMP_OFFLOAD_free): Likewise.
3278 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3279 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
3280 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3281 (GOMP_OFFLOAD_openacc_async_wait): Remove.
3282 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3283 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3284 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3285 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3286 (cuda_free_argmem): New function.
3287 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
3288 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
3289 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
3290 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
3291 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
3292 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
3293 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
3294 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
3295 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
3296 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
3297 (cuda_callback_wrapper): New function.
3298 (cuda_memcpy_sanity_check): New function.
3299 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
3300 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
3301 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
3302 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
3303
da2d30c1
TS
33042019-05-07 Thomas Schwinge <thomas@codesourcery.com>
3305
3306 PR target/87835
3307 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
3308
2bbbfa4e
TS
33092019-05-06 Thomas Schwinge <thomas@codesourcery.com>
3310
3311 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
3312
bbf1efe1
KB
33132019-03-27 Kevin Buettner <kevinb@redhat.com>
3314
3315 * team.c (gomp_team_start): Initialize pool->threads[0].
3316
1241136c
TS
33172019-02-22 Thomas Schwinge <thomas@codesourcery.com>
3318
b03d721a
TS
3319 * testsuite/libgomp.oacc-c++/c++.exp: Specify
3320 "-foffload=$offload_target".
3321 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3322 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3323 * testsuite/lib/libgomp.exp
3324 (check_effective_target_openacc_nvidia_accel_configured): Remove,
3325 as (conceptually) merged into
3326 check_effective_target_openacc_nvidia_accel_selected. Adjust all
3327 users.
3328
0a0384b4
TS
3329 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
3330 * testsuite/libgomp-test-support.exp.in: Adjust.
3331 * testsuite/lib/libgomp.exp: Likewise. Don't populate
3332 openacc_device_types_s.
3333 (offload_target_to_openacc_device_type): New proc.
3334 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
3335 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3336 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3337 * Makefile.in: Regenerate.
3338 * configure: Likewise.
3339 * testsuite/Makefile.in: Likewise.
3340
ee332b4a
TS
3341 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
3342 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
3343 instead of OFFLOAD_TARGETS.
3344 * target.c (gomp_target_init): Adjust.
3345 * testsuite/libgomp-test-support.exp.in: Likewise.
3346 * testsuite/lib/libgomp.exp: Likewise. Populate
3347 openacc_device_types_s instead of offload_targets_s_openacc.
3348 (check_effective_target_openacc_nvidia_accel_selected)
3349 (check_effective_target_openacc_host_selected): Adjust.
3350 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3351 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3352 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3353 * Makefile.in: Regenerate.
3354 * config.h.in: Likewise.
3355 * configure: Likewise.
3356 * testsuite/Makefile.in: Likewise.
3357
1241136c
TS
3358 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
3359 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
3360 "offloading: supported, but hardware not accessible".
3361 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3362 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3363
19695f4d
CLT
33642019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
3365
3366 PR c/87924
3367 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
3368 goacc_wait().
3369 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
3370 and related adjustment.
3371
8b44f8ec
JJ
33722019-01-30 Jakub Jelinek <jakub@redhat.com>
3373
3374 PR c++/88988
3375 * testsuite/libgomp.c++/pr88988.C: New test.
3376
be3a87e7
JJ
33772019-01-28 Jakub Jelinek <jakub@redhat.com>
3378
3379 PR middle-end/89002
3380 * testsuite/libgomp.c/pr89002.c: New test.
3381
497ef4d7
RB
33822019-01-28 Richard Biener <rguenther@suse.de>
3383
3384 PR testsuite/89064
3385 PR tree-optimization/86865
3386 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
3387
738c56d4
TV
33882019-01-24 Tom de Vries <tdevries@suse.de>
3389
3390 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
3391 once instantiated_devices drops to 0.
3392
4a75460b
TV
33932019-01-23 Tom de Vries <tdevries@suse.de>
3394
3395 PR target/PR88946
3396 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
3397 cuMemFree.
3398 (nvptx_exec): Don't call map_push if mapnum == 0.
3399 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
3400
4fef8e4d
TV
34012019-01-23 Tom de Vries <tdevries@suse.de>
3402
3403 PR target/88941
3404 PR target/88939
3405 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
3406 (map_fini): Remove "assert (!s->map->active)".
3407 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
3408
2ee6cb22
TV
34092019-01-23 Tom de Vries <tdevries@suse.de>
3410
3411 PR target/87835
3412 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
3413 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
3414
d41d952c
TV
34152019-01-15 Tom de Vries <tdevries@suse.de>
3416
3417 PR target/80547
3418 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
3419 New test.
3420
efb56ae8
TV
34212019-01-12 Tom de Vries <tdevries@suse.de>
3422
3423 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
3424 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
3425 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
3426 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
3427
2c2ff168
TV
34282019-01-12 Tom de Vries <tdevries@suse.de>
3429
3430 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
3431
a1057758
TV
34322019-01-12 Tom de Vries <tdevries@suse.de>
3433
3434 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
3435 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
3436 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
3437
56314b77
TV
34382019-01-12 Tom de Vries <tdevries@suse.de>
3439
3440 PR target/85486
3441 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
3442 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
3443
b39e4366
TV
34442019-01-12 Tom de Vries <tdevries@suse.de>
3445
3446 PR target/85381
3447 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
3448 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
3449
2cb7a501
TV
34502019-01-12 Tom de Vries <tdevries@suse.de>
3451
3452 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
3453 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
3454 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
3455
8e77f71e
TV
34562019-01-12 Tom de Vries <tdevries@suse.de>
3457
3458 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
3459 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
3460 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
3461
52d22ece
TV
34622019-01-12 Tom de Vries <tdevries@suse.de>
3463
3464 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
3465 resources diagnostic.
3466
2b9d9e39
TV
34672019-01-12 Tom de Vries <tdevries@suse.de>
3468
3469 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
3470 vector length to be 128.
3471 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
3472 length 2097152 to be reduced to 1024 instead of 32.
3473
4102bda6
TS
34742019-01-11 Thomas Schwinge <thomas@codesourcery.com>
3475 James Norris <jnorris@codesourcery.com>
3476
3477 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
3478 Library Routines", and "Environment Variables".
3479
052aaace
TV
34802019-01-11 Tom de Vries <tdevries@suse.de>
3481
3482 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
3483 num_workers 16.
3484
9390f916
TV
34852019-01-11 Tom de Vries <tdevries@suse.de>
3486
3487 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
3488 -foffload=-w.
3489 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
3490 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
3491 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
3492 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
3493
2c3e7ad2
TV
34942019-01-11 Tom de Vries <tdevries@suse.de>
3495
3496 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
3497 test.
3498
e222497d
NS
34992019-01-10 Nathan Sidwell <nathan@acm.org>
3500 Julian Brown <julian@codesourcery.com>
3501
3502 PR lto/71959
3503 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
3504 * testsuite/libgomp.oacc-c++/pr71959.C: New.
3505
cb87fec3
SH
35062019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
3507
3508 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
3509 and paste code.
3510
30b4d0d0
SH
35112019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
3512
3513 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
3514 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3515 write.
3516
5d0bc70a
TV
35172019-01-09 Tom de Vries <tdevries@suse.de>
3518
3519 PR target/88756
3520 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
3521 #define instead of "const int".
3522 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
3523 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
3524 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
3525 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
3526
2c372e81
TV
35272019-01-09 Tom de Vries <tdevries@suse.de>
3528
3529 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
3530 one worker.
3531
43493c97
TV
35322019-01-07 Tom de Vries <tdevries@suse.de>
3533
3534 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
3535 GOMP_OPENACC_DIM argument.
3536
5c571497
TV
35372019-01-03 Tom de Vries <tdevries@suse.de>
3538
3539 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
3540 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
3541
a5544970
JJ
35422019-01-01 Jakub Jelinek <jakub@redhat.com>
3543
3544 Update copyright years.
3545
3f27508c
JJ
35462019-01-01 Jakub Jelinek <jakub@redhat.com>
3547
3548 * libgomp.texi: Bump @copying's copyright year.
3549
59d5960c
TS
35502018-12-28 Thomas Schwinge <thomas@codesourcery.com>
3551
3552 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
3553 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
3554 (GOACC_declare): Redefine the "device" argument to "flags".
3555
a44c1790
TS
35562018-12-28 Thomas Schwinge <thomas@codesourcery.com>
3557 Cesar Philippidis <cesar@codesourcery.com>
3558
3559 * target.c (struct gomp_coalesce_chunk): New structure.
3560 (struct gomp_coalesce_buf): Update the chunks member to use that
3561 type. Adjust all users.
3562
a152954e
TV
35632018-12-19 Tom de Vries <tdevries@suse.de>
3564
3565 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
3566 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
3567 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
3568
49188cd1
TV
35692018-12-19 Tom de Vries <tdevries@suse.de>
3570
3571 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
3572 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
3573 gcc/testsuite/gcc.dg/goacc.
3574 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
3575
c759830b
TS
35762018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3577 Chung-Lin Tang <cltang@codesourcery.com>
3578
3579 * oacc-mem.c (acc_present_or_create): Remove definition and change
3580 to alias of acc_create.
3581 (acc_present_or_copyin): Remove definition and change to alias of
3582 acc_copyin.
3583 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
3584 of acc_present_or_create.
3585 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
3586 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3587 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3588 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3589 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3590 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3591 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3592 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3593 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3594 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3595 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3596 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3597 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3598 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3599 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3600 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3601
7de562ee
TS
36022018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3603
f847198e
TS
3604 PR libgomp/88495
3605 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3606 "identical parameters".
3607 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3608 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3609
c8ab8aab
TS
3610 PR libgomp/88484
3611 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3612 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3613
1404af62
TS
3614 PR libgomp/88407
3615 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3616 (nvptx_wait_async): Unseen async-argument is a no-op.
3617 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3618 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3619 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3620 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3621 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3622 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3623 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
3624 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3625 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
3626
7de562ee
TS
3627 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3628 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3629
17469af7
CLT
36302018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
3631
3632 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3633 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3634 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3635
18c247cc
TS
36362018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3637
3638 PR libgomp/88370
3639 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3640 (acc_set_cuda_stream): Clarify.
3641 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3642 "async_valid_p".
3643 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3644 acc_async_sync".
3645 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3646 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3647 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3648 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3649
b0aba46c
TV
36502018-12-14 Tom de Vries <tdevries@suse.de>
3651
3652 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3653 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3654 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3655 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3656 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3657
fe0827ee
TV
36582018-12-13 Tom de Vries <tdevries@suse.de>
3659
3660 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3661 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3662 * fortran.c (omp_display_affinity_): ... here.
3663 * libgomp.h (gomp_print_string): Declare.
3664 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
3665 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3666 write.
3667
a51f8c92
JJ
36682018-12-13 Jakub Jelinek <jakub@redhat.com>
3669
3670 PR libgomp/88460
3671 * testsuite/libgomp.c++/for-24.C (results): Include it in
3672 omp declare target region.
3673 (main): Use map (always, tofrom: results) instead of
3674 map (tofrom: results).
3675
a6ef2ac9
JJ
36762018-12-12 Jakub Jelinek <jakub@redhat.com>
3677
7a289b7d
JJ
3678 PR fortran/88463
3679 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3680 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3681
a6ef2ac9
JJ
3682 * testsuite/libgomp.c-c++-common/for-16.c: New test.
3683
9c47a019
AS
36842018-12-12 Andreas Schwab <schwab@suse.de>
3685
3686 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3687 clobbered.
3688
d0cbb206
TK
36892018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
3690
3691 PR fortran/88411
3692 * testsuite/libgomp.fortran/async_io_8.f90: New test.
3693
84ca08d2
TS
36942018-12-09 Thomas Schwinge <thomas@codesourcery.com>
3695 Jakub Jelinek <jakub@redhat.com>
3696
3697 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3698 devicep->host2dev_func.
3699
6997628d
JJ
37002018-12-08 Jakub Jelinek <jakub@redhat.com>
3701
3702 PR libgomp/87995
3703 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3704 tls_runtime effective target.
3705 (t): New threadprivate variable.
3706 (main): Set t in threads which execute iterations of the worksharing
3707 loop. Propagate that to the task after the loop and don't abort
3708 if the current taskgroup hasn't been cancelled.
3709
daa8c1d7
JJ
37102018-12-02 Jakub Jelinek <jakub@redhat.com>
3711
4a82df9a
JJ
3712 * testsuite/libgomp.c/task-reduction-3.c: New test.
3713
daa8c1d7
JJ
3714 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3715
fe570ff8
CP
37162018-11-30 Cesar Philippidis <cesar@codesourcery.com>
3717
3718 PR libgomp/88288
3719 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3720 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3721
c223608f
TS
37222018-11-30 Thomas Schwinge <thomas@codesourcery.com>
3723
3724 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3725
fc60283c
RB
37262018-10-19 Richard Biener <rguenther@suse.de>
3727
3728 PR tree-optimization/88182
3729 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3730
ffcf3b79
JJ
37312018-11-26 Jakub Jelinek <jakub@redhat.com>
3732
3733 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3734 (RUNTEST): Don't define.
3735 (RUNTESTDEFAULTFLAGS): Add.
3736 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3737 (distclean-am): Depend on distclean-DEJAGNU.
3738 (check-am): If -j% option is present in MFLAGS and if
3739 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3740 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3741 * testsuite/Makefile.in: Regenerated.
3742
ef6e6914
RB
37432018-11-26 Richard Biener <rguenther@suse.de>
3744
3745 PR tree-optimization/88182
3746 * testsuite/libgomp.c++/pr88182.C: New testcase.
3747
72d3bb76
JJ
37482018-11-20 Jakub Jelinek <jakub@redhat.com>
3749
3750 PR bootstrap/88106
3751 * config/mingw32/affinity-fmt.c: New file.
3752
207286c3
JJ
37532018-11-09 Jakub Jelinek <jakub@redhat.com>
3754
9666c522
JJ
3755 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3756 (gomp_display_affinity): Use __builtin_choose_expr to handle
3757 properly handle argument having integral, or pointer or some other
3758 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
3759 with uint64_t type instead of %llx and unsigned long long.
3760
207286c3
JJ
3761 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3762 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3763
2033f45b
RO
37642018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3765
3766 * affinity.c: Include <string.h>, <stdio.h>.
3767 (gomp_display_affinity_place): Remove cpusetp.
3768 * teams.c: Include <limits.h>.
3769
28567c40
JJ
37702018-11-08 Jakub Jelinek <jakub@redhat.com>
3771
8991d779
JJ
3772 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3773 in_reduction clause for s[0].
3774
28567c40
JJ
3775 * affinity.c (gomp_display_affinity_place): New function.
3776 * affinity-fmt.c: New file.
3777 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3778 * config/linux/affinity.c (gomp_display_affinity_place): New function.
3779 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3780 Move these functions to ...
3781 * config/nvptx/teams.c: ... here. New file.
3782 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3783 New functions.
3784 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3785 functions.
3786 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3787 and _aligned_malloc.
3788 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3789 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3790 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3791 gomp_affinity_format_len): New variables.
3792 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3793 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
3794 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3795 modifiers. Display (non-default) chunk sizes. Print
3796 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3797 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
3798 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3799 * fortran.c: Include stdio.h and string.h.
3800 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3801 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3802 (omp_set_affinity_format_, omp_get_affinity_format_,
3803 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3804 omp_pause_resource_all_): New functions.
3805 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3806 switch.
3807 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3808 functions to ...
3809 * teams.c: ... here. New file.
3810 * libgomp_g.h: Include gstdint.h.
3811 (GOMP_loop_nonmonotonic_runtime_start,
3812 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3813 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3814 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3815 GOMP_parallel_loop_nonmonotonic_runtime,
3816 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3817 GOMP_loop_ull_nonmonotonic_runtime_start,
3818 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3819 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3820 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3821 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3822 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3823 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3824 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3825 GOMP_teams_reg): Declare.
3826 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3827 gomp_aligned_alloc uses fallback implementation.
3828 (gomp_aligned_alloc, gomp_aligned_free): Declare.
3829 (enum gomp_schedule_type): Add GFS_MONOTONIC.
3830 (struct gomp_doacross_work_share): Add extra field.
3831 (struct gomp_work_share): Add task_reductions field.
3832 (struct gomp_taskgroup): Add workshare and reductions fields.
3833 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3834 (gomp_thread_handle): New typedef.
3835 (gomp_display_affinity_place, gomp_set_affinity_format,
3836 gomp_display_string, gomp_display_affinity,
3837 gomp_display_affinity_thread): Declare.
3838 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3839 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3840 gomp_workshare_task_reduction_register): Declare.
3841 (gomp_team_start): Add taskgroup argument.
3842 (gomp_pause_host): Declare.
3843 (gomp_init_work_share, gomp_work_share_start): Change bool argument
3844 to size_t.
3845 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3846 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3847 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3848 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3849 GOMP_loop_ull_doacross_start,
3850 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3851 GOMP_loop_maybe_nonmonotonic_runtime_next,
3852 GOMP_loop_maybe_nonmonotonic_runtime_start,
3853 GOMP_loop_nonmonotonic_runtime_next,
3854 GOMP_loop_nonmonotonic_runtime_start,
3855 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3856 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3857 GOMP_loop_ull_nonmonotonic_runtime_next,
3858 GOMP_loop_ull_nonmonotonic_runtime_start,
3859 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3860 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3861 GOMP_taskgroup_reduction_register,
3862 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3863 GOMP_teams_reg and GOMP_taskwait_depend.
3864 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3865 omp_{capture,display}_affinity{,_}, and
3866 omp_[gs]et_affinity_format{,_}.
3867 * loop.c: Include string.h.
3868 (GOMP_loop_runtime_next): Add ialias.
3869 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3870 (gomp_loop_static_start, gomp_loop_dynamic_start,
3871 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3872 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3873 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3874 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3875 or gomp_doacross_init callers.
3876 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3877 GOMP_loop_doacross_start): New functions.
3878 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3879 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3880 Mask off GFS_MONOTONIC bit.
3881 (GOMP_loop_maybe_nonmonotonic_runtime_next,
3882 GOMP_loop_maybe_nonmonotonic_runtime_start,
3883 GOMP_loop_nonmonotonic_runtime_next,
3884 GOMP_loop_nonmonotonic_runtime_start,
3885 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3886 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3887 functions.
3888 (gomp_parallel_loop_start): Pass NULL as taskgroup to
3889 gomp_team_start.
3890 * loop_ull.c: Include string.h.
3891 (GOMP_loop_ull_runtime_next): Add ialias.
3892 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3893 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3894 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3895 gomp_loop_ull_ordered_dynamic_start,
3896 gomp_loop_ull_ordered_guided_start,
3897 gomp_loop_ull_doacross_static_start,
3898 gomp_loop_ull_doacross_dynamic_start,
3899 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3900 and gomp_doacross_ull_init callers.
3901 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3902 GOMP_loop_ull_doacross_start): New functions.
3903 (GOMP_loop_ull_runtime_start,
3904 GOMP_loop_ull_ordered_runtime_start,
3905 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3906 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3907 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3908 GOMP_loop_ull_nonmonotonic_runtime_next,
3909 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3910 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3911 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3912 (omp_pause_resource_t, omp_depend_t): New typedefs.
3913 (enum omp_lock_hint_t): Renamed to ...
3914 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
3915 enumerators using numbers and omp_lock_hint_* as their aliases.
3916 (omp_lock_hint_t): New typedef. Rename to ...
3917 (omp_sync_hint_t): ... this.
3918 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3919 omp_sync_hint_t instead of omp_lock_hint_t.
3920 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3921 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3922 Declare.
3923 (omp_target_is_present, omp_target_disassociate_ptr):
3924 Change first argument from void * to const void *.
3925 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3926 from void * to const void *.
3927 (omp_target_associate_ptr): Change first and second arguments from
3928 void * to const void *.
3929 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3930 omp_pause_hard): New parameters.
3931 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3932 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3933 New interfaces.
3934 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3935 omp_pause_hard): New parameters.
3936 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3937 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3938 New externals.
3939 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3940 EXTRA argument. If not needed to prepare array, if extra is 0,
3941 clear ws->doacross, otherwise allocate just doacross structure and
3942 extra payload. If array is needed, allocate also extra payload.
3943 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3944 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3945 doacross == NULL.
3946 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3947 gomp_team_start.
3948 (GOMP_parallel): Likewise. Formatting fix.
3949 (GOMP_parallel_reductions): New function.
3950 (GOMP_cancellation_point): If taskgroup has workshare
3951 flag set, check cancelled of prev taskgroup if any.
3952 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3953 on prev taskgroup if any.
3954 * sections.c: Include string.h.
3955 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3956 (GOMP_sections_start): Adjust gomp_work_share_start caller.
3957 (GOMP_sections2_start): New function.
3958 (GOMP_parallel_sections_start, GOMP_parallel_sections):
3959 Pass NULL as taskgroup to gomp_team_start.
3960 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3961 gomp_work_share_start callers.
3962 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3963 If taskgroup has workshare flag set, check cancelled on prev
3964 taskgroup if any. Guard all cancellation tests with
3965 gomp_cancel_var test.
3966 (omp_target_is_present, omp_target_disassociate_ptr):
3967 Change ptr argument from void * to const void *.
3968 (omp_target_memcpy): Change src argument from void * to const void *.
3969 (omp_target_memcpy_rect): Likewise.
3970 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
3971 instead of char * where needed.
3972 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3973 from void * to const void *.
3974 (omp_pause_resource, omp_pause_resource_all): New functions.
3975 * task.c (gomp_task_handle_depend): Handle new depend array format
3976 in addition to the old. Handle mutexinoutset kinds the same as
3977 inout for now, handle unspecified kinds.
3978 (gomp_create_target_task): If taskgroup has workshare flag set, check
3979 cancelled on prev taskgroup if any. Guard all cancellation tests with
3980 gomp_cancel_var test. Handle new depend array format count in
3981 addition to the old.
3982 (GOMP_task): Likewise. Adjust function comment.
3983 (gomp_task_run_pre): If taskgroup has workshare flag set, check
3984 cancelled on prev taskgroup if any. Guard all cancellation tests with
3985 gomp_cancel_var test.
3986 (GOMP_taskwait_depend): New function.
3987 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
3988 format in addition to the old. Handle mutexinoutset kinds the same as
3989 inout for now, handle unspecified kinds. Fix a function comment typo.
3990 (gomp_taskgroup_init): New function.
3991 (GOMP_taskgroup_start): Use it.
3992 (gomp_reduction_register, gomp_create_artificial_team,
3993 GOMP_taskgroup_reduction_register,
3994 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3995 gomp_parallel_reduction_register,
3996 gomp_workshare_task_reduction_register,
3997 gomp_workshare_taskgroup_start,
3998 GOMP_workshare_task_reduction_unregister): New functions.
3999 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
4000 check cancelled on prev taskgroup if any. Guard all cancellation
4001 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
4002 by calling GOMP_taskgroup_reduction_register.
4003 * team.c (gomp_thread_attr): Remove comment.
4004 (struct gomp_thread_start_data): Add handle field.
4005 (gomp_thread_start): Call pthread_detach.
4006 (gomp_new_team): Adjust gomp_init_work_share caller.
4007 (gomp_free_pool_helper): Call pthread_detach.
4008 (gomp_team_start): Add taskgroup argument, initialize implicit
4009 tasks' taskgroup field to that. Don't call
4010 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
4011 (gomp_team_end): Determine nesting by thr->ts.level != 0
4012 rather than thr->ts.team != NULL.
4013 (gomp_pause_pool_helper, gomp_pause_host): New functions.
4014 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
4015 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
4016 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
4017 if more than 1 allocate also extra payload at the end of array. Never
4018 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
4019 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
4020 return true instead of ws.
4021 * Makefile.in: Regenerated.
4022 * configure: Regenerated.
4023 * config.h.in: Regenerated.
4024 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
4025 in some cases.
4026 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
4027 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
4028 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
4029 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
4030 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
4031 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
4032 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
4033 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
4034 * testsuite/libgomp.c-c++-common/for-10.c: New test.
4035 * testsuite/libgomp.c-c++-common/for-11.c: New test.
4036 * testsuite/libgomp.c-c++-common/for-12.c: New test.
4037 * testsuite/libgomp.c-c++-common/for-13.c: New test.
4038 * testsuite/libgomp.c-c++-common/for-14.c: New test.
4039 * testsuite/libgomp.c-c++-common/for-15.c: New test.
4040 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
4041 define a different N(test), don't define N(f0) to N(f14), but instead
4042 define N(f20) to N(f34) using != comparisons.
4043 * testsuite/libgomp.c-c++-common/for-7.c: New test.
4044 * testsuite/libgomp.c-c++-common/for-8.c: New test.
4045 * testsuite/libgomp.c-c++-common/for-9.c: New test.
4046 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
4047 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
4048 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
4049 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
4050 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
4051 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
4052 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
4053 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
4054 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
4055 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
4056 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
4057 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
4058 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
4059 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
4060 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
4061 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
4062 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
4063 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
4064 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
4065 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
4066 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
4067 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
4068 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
4069 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
4070 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
4071 * testsuite/libgomp.c++/depend-1.C: New test.
4072 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
4073 * testsuite/libgomp.c++/depobj-1.C: New test.
4074 * testsuite/libgomp.c++/for-16.C: New test.
4075 * testsuite/libgomp.c++/for-21.C: New test.
4076 * testsuite/libgomp.c++/for-22.C: New test.
4077 * testsuite/libgomp.c++/for-23.C: New test.
4078 * testsuite/libgomp.c++/for-24.C: New test.
4079 * testsuite/libgomp.c++/for-25.C: New test.
4080 * testsuite/libgomp.c++/for-26.C: New test.
4081 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
4082 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
4083 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
4084 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
4085 * testsuite/libgomp.c++/task-reduction-10.C: New test.
4086 * testsuite/libgomp.c++/task-reduction-11.C: New test.
4087 * testsuite/libgomp.c++/task-reduction-12.C: New test.
4088 * testsuite/libgomp.c++/task-reduction-13.C: New test.
4089 * testsuite/libgomp.c++/task-reduction-14.C: New test.
4090 * testsuite/libgomp.c++/task-reduction-15.C: New test.
4091 * testsuite/libgomp.c++/task-reduction-16.C: New test.
4092 * testsuite/libgomp.c++/task-reduction-17.C: New test.
4093 * testsuite/libgomp.c++/task-reduction-18.C: New test.
4094 * testsuite/libgomp.c++/task-reduction-19.C: New test.
4095 * testsuite/libgomp.c/task-reduction-1.c: New test.
4096 * testsuite/libgomp.c++/task-reduction-1.C: New test.
4097 * testsuite/libgomp.c/task-reduction-2.c: New test.
4098 * testsuite/libgomp.c++/task-reduction-2.C: New test.
4099 * testsuite/libgomp.c++/task-reduction-3.C: New test.
4100 * testsuite/libgomp.c++/task-reduction-4.C: New test.
4101 * testsuite/libgomp.c++/task-reduction-5.C: New test.
4102 * testsuite/libgomp.c++/task-reduction-6.C: New test.
4103 * testsuite/libgomp.c++/task-reduction-7.C: New test.
4104 * testsuite/libgomp.c++/task-reduction-8.C: New test.
4105 * testsuite/libgomp.c++/task-reduction-9.C: New test.
4106 * testsuite/libgomp.c/teams-1.c: New test.
4107 * testsuite/libgomp.c/teams-2.c: New test.
4108 * testsuite/libgomp.c/thread-limit-4.c: New test.
4109 * testsuite/libgomp.c/thread-limit-5.c: New test.
4110 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
4111
58168bbf
CLT
41122018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
4113
4114 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
4115 acc_memcpy_to/from_device functions, now with async parameter.
4116 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
4117 (acc_memcpy_from_device): Likewise.
4118 (acc_memcpy_to_device_async): New API function.
4119 (acc_memcpy_from_device_async): Likewise.
4120 (present_create_copy): Add async parameter and async setting/unsetting.
4121 (acc_create): Adjust present_create_copy call.
4122 (acc_copyin): Likewise.
4123 (acc_present_or_create): Likewise.
4124 (acc_present_or_copyin): Likewise.
4125 (acc_create_async): New API function.
4126 (acc_copyin_async): New API function.
4127 (delete_copyout): Add async parameter and async setting/unsetting.
4128 (acc_delete): Adjust delete_copyout call.
4129 (acc_copyout): Likewise.
4130 (acc_delete_async): New API function.
4131 (acc_copyout_async): Likewise.
4132 (update_dev_host): Add async parameter and async setting/unsetting.
4133 (acc_update_device): Adjust update_dev_host call.
4134 (acc_update_self): Likewise.
4135 (acc_update_device_async): New API function.
4136 (acc_update_self_async): Likewise.
4137 * openacc.h (acc_copyin_async): Declare new API function.
4138 (acc_create_async): Likewise.
4139 (acc_copyout_async): Likewise.
4140 (acc_delete_async): Likewise.
4141 (acc_update_device_async): Likewise.
4142 (acc_update_self_async): Likewise.
4143 (acc_memcpy_to_device_async): Likewise.
4144 (acc_memcpy_from_device_async): Likewise.
4145 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
4146 (acc_copyin_async_64_h): New subroutine.
4147 (acc_copyin_async_array_h): New subroutine.
4148 (acc_create_async_32_h): New subroutine.
4149 (acc_create_async_64_h): New subroutine.
4150 (acc_create_async_array_h): New subroutine.
4151 (acc_copyout_async_32_h): New subroutine.
4152 (acc_copyout_async_64_h): New subroutine.
4153 (acc_copyout_async_array_h): New subroutine.
4154 (acc_delete_async_32_h): New subroutine.
4155 (acc_delete_async_64_h): New subroutine.
4156 (acc_delete_async_array_h): New subroutine.
4157 (acc_update_device_async_32_h): New subroutine.
4158 (acc_update_device_async_64_h): New subroutine.
4159 (acc_update_device_async_array_h): New subroutine.
4160 (acc_update_self_async_32_h): New subroutine.
4161 (acc_update_self_async_64_h): New subroutine.
4162 (acc_update_self_async_array_h): New subroutine.
4163 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
4164 (acc_copyin_async_64_h): New subroutine.
4165 (acc_copyin_async_array_h): New subroutine.
4166 (acc_create_async_32_h): New subroutine.
4167 (acc_create_async_64_h): New subroutine.
4168 (acc_create_async_array_h): New subroutine.
4169 (acc_copyout_async_32_h): New subroutine.
4170 (acc_copyout_async_64_h): New subroutine.
4171 (acc_copyout_async_array_h): New subroutine.
4172 (acc_delete_async_32_h): New subroutine.
4173 (acc_delete_async_64_h): New subroutine.
4174 (acc_delete_async_array_h): New subroutine.
4175 (acc_update_device_async_32_h): New subroutine.
4176 (acc_update_device_async_64_h): New subroutine.
4177 (acc_update_device_async_array_h): New subroutine.
4178 (acc_update_self_async_32_h): New subroutine.
4179 (acc_update_self_async_64_h): New subroutine.
4180 (acc_update_self_async_array_h): New subroutine.
4181 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
4182 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
4183 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
4184 acc_memcpy_to_device_async*, acc_update_device_async*, and
4185 acc_update_self_async* entries.
4186 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
4187 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
4188 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
4189
22e05272
JM
41902018-10-31 Joseph Myers <joseph@codesourcery.com>
4191
4192 PR bootstrap/82856
4193 * Makefile.am: Include multilib.am
4194 (AUTOMAKE_OPTIONS): Add info-in-builddir.
4195 (CLEANFILES): Remove libgomp.info.
4196 * configure.ac: Remove AC_PREREQ.
4197 * testsuite/Makefile.am (RUNTEST): Remove quotes.
4198 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
4199 Regenerate.
4200
87a5ccfb
JM
42012018-10-29 Joseph Myers <joseph@codesourcery.com>
4202 Julian Brown <julian@codesourcery.com>
4203
4204 * testsuite/libgomp.oacc-c++/this.C: New.
4205
2049befd
CP
42062018-09-18 Cesar Philippidis <cesar@codesourcery.com>
4207
4208 * plugin/plugin-nvptx.c (struct cuda_map): New.
4209 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
4210 h_tail with (cuda_map *) map.
4211 (cuda_map_create): New function.
4212 (cuda_map_destroy): New function.
4213 (map_init): Update to use a linked list of cuda_map objects.
4214 (map_fini): Likewise.
4215 (map_pop): Likewise.
4216 (map_push): Likewise. Return CUdeviceptr instead of void.
4217 (init_streams_for_device): Remove stales references to ptx_stream
4218 members.
4219 (select_stream_for_async): Likewise.
4220 (nvptx_exec): Update call to map_init.
4221
8e36332c
CP
42222018-09-09 Cesar Philippidis <cesar@codesourcery.com>
4223 Julian Brown <julian@codesourcery.com>
4224
4225 PR middle-end/86336
4226 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
4227
2b4c9065
NK
42282018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
4229 Thomas Koenig <tkoenig@gcc.gnu.org>
4230
4231 PR fortran/25829
4232 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4233 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4234 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4235 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4236 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4237 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4238 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4239
bd9b3d3d
CP
42402018-08-13 Cesar Philippidis <cesar@codesourcery.com>
4241 Tom de Vries <tdevries@suse.de>
4242
4243 PR target/85590
4244 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
4245 (cuOccupancyMaxPotentialBlockSize): Declare.
4246 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
4247 CUDA_ONE_CALL_MAYBE_NULL.
4248 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
4249 CUoccupancyB2DSize and declare
4250 cuOccupancyMaxPotentialBlockSize.
4251 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
4252 default num_gangs and num_workers when the driver supports it.
4253
8e09a12f
TV
42542018-08-08 Tom de Vries <tdevries@suse.de>
4255
4256 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
4257 CUDA_ONE_CALL_MAYBE_NULL.
4258 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
4259 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
4260 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
4261 are not found.
4262
cedd9bd0
TV
42632018-08-08 Tom de Vries <tdevries@suse.de>
4264
4265 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
4266 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
4267 present.
4268
b113af95
TV
42692018-08-08 Tom de Vries <tdevries@suse.de>
4270
4271 * plugin/plugin-nvptx.c
4272 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
4273 (nvptx_open_device): Use
4274 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
4275
94767dac
TV
42762018-08-08 Tom de Vries <tdevries@suse.de>
4277
4278 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
4279 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
4280
02150de8
TV
42812018-08-07 Tom de Vries <tdevries@suse.de>
4282
4283 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
4284 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
4285 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
4286 corresponding call in CUDA_ONE_CALL. Add def/undef of
4287 CUDA_ONE_CALL_MAYBE_NULL.
4288 (CUDA_CALL_EXISTS): Define.
4289
9e28b107
TV
42902018-08-07 Tom de Vries <tdevries@suse.de>
4291
4292 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
4293 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
4294 corresponding undefs right after.
4295
09940090
TV
42962018-08-04 Tom de Vries <tdevries@suse.de>
4297
4298 * plugin/configfrag.ac: For --without-cuda-driver, set
4299 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
4300 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
4301 * configure: Regenerate.
4302
77e0a97a
TV
43032018-08-02 Tom de Vries <tdevries@suse.de>
4304
4305 PR target/86660
4306 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
4307 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
4308 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4309 Same.
4310 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
4311 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
4312 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
4313
701d080a
CP
43142018-08-01 Cesar Philippidis <cesar@codesourcery.com>
4315 Thomas Schwinge <thomas@codesourcery.com>
4316
4317 * config/nvptx/oacc-parallel.c: Truncate.
4318
094db6be
CP
43192018-08-01 Cesar Philippidis <cesar@codesourcery.com>
4320 James Norris <jnorris@codesourcery.com>
4321
4322 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
4323 (map_init, map_pop): Remove use of struct map.
4324 (map_push): Likewise and change argument list.
094db6be
CP
4325 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
4326
8c6310a2
TV
43272018-08-01 Tom de Vries <tdevries@suse.de>
4328
4329 * plugin/cuda-lib.def: New file. Factor out of ...
4330 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
4331 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
4332 using CUDA_CALLS.
4333
1d4a51cf
AV
43342018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
4335
4336 Revert 'AsyncI/O patch committed'.
4337 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
4338 Thomas Koenig <tkoenig@gcc.gnu.org>
4339
4340 PR fortran/25829
4341 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4342 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4343 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4344 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4345 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4346 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4347 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4348
4cdfee3f
TV
43492018-07-30 Tom de Vries <tdevries@suse.de>
4350
4351 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
4352 (nvptx_exec): Ensure worker and vector default dims don't exceed
4353 targ_fn->max_threads_per_block.
4354
0b210c43
TV
43552018-07-30 Tom de Vries <tdevries@suse.de>
4356
4357 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
4358 (nvptx_open_device): Init default_dims for device.
4359 (nvptx_exec): Use default_dims from device.
4360
5883c5cc
JJ
43612018-07-26 Jakub Jelinek <jakub@redhat.com>
4362
5d36384c
JJ
4363 PR testsuite/86660
4364 * testsuite/libgomp.c++/for-15.C (results): Include it in
4365 omp declare target region.
4366 (main): Use map (always, tofrom: results) instead of
4367 map (tofrom: results).
4368
5883c5cc
JJ
4369 PR middle-end/86660
4370 * testsuite/libgomp.c/pr86660.c: New test.
4371
88a4654d
CP
43722018-07-26 Cesar Philippidis <cesar@codesourcery.com>
4373 Tom de Vries <tdevries@suse.de>
4374
4375 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
4376 sufficient resources to launch a kernel, and give a hint on how to fix
4377 it.
4378
0c6c2f5f
CP
43792018-07-26 Cesar Philippidis <cesar@codesourcery.com>
4380 Tom de Vries <tdevries@suse.de>
4381
4382 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
4383 max_threads_per_block and max_threads_per_multiprocessor fields.
4384 (nvptx_open_device): Initialize new fields.
4385 (nvptx_exec): Use num_sms, and new fields.
4386
6dd58010
TV
43872018-07-26 Tom de Vries <tdevries@suse.de>
4388
4389 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
4390 to correct locations. Remove xfail.
4391
b2eb1779
TV
43922018-07-26 Tom de Vries <tdevries@suse.de>
4393
4394 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
4395 acc_wait. Move acc_async_test calls to correct locations. Remove
4396 xfail.
4397
b1f45884
NK
43982018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
4399 Thomas Koenig <tkoenig@gcc.gnu.org>
4400
4401 PR fortran/25829
4402 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4403 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4404 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4405 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4406 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4407 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4408 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4409
3a106211
JJ
44102018-07-17 Jakub Jelinek <jakub@redhat.com>
4411
a3bccfa1
JJ
4412 PR middle-end/86542
4413 * testsuite/libgomp.c++/pr86542.C: New test.
4414
3a106211
JJ
4415 PR middle-end/86539
4416 * testsuite/libgomp.c++/pr86539.C: New test.
4417
2bae8b2f
JJ
44182018-07-11 Jakub Jelinek <jakub@redhat.com>
4419
4420 PR c++/86443
4421 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
4422 (results): Make sure the variable is not inside declare target region.
4423 (qux): Remove unused function.
4424
0b27c3ed
JJ
44252018-07-10 Jakub Jelinek <jakub@redhat.com>
4426
4427 PR c++/86443
4428 * testsuite/libgomp.c++/for-15.C: New test.
4429
f0391511
JJ
44302018-06-26 Jakub Jelinek <jakub@redhat.com>
4431
4432 PR c++/86291
4433 * testsuite/libgomp.c++/pr86291.C: New test.
4434
1a6d1d24
GP
44352018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
4436
4437 * libgomp.texi (Top): Move www.openmp.org to https.
4438 (Enabling OpenMP): Ditto.
4439 (omp_get_active_level): Ditto.
4440 (omp_get_ancestor_thread_num): Ditto.
4441 (omp_get_cancellation): Ditto.
4442 (omp_get_default_device): Ditto.
4443 (omp_get_dynamic): Ditto.
4444 (omp_get_level): Ditto.
4445 (omp_get_max_active_levels): Ditto.
4446 (omp_get_max_task_priority): Ditto.
4447 (omp_get_max_threads): Ditto.
4448 (omp_get_nested): Ditto.
4449 (omp_get_num_devices): Ditto.
4450 (omp_get_num_procs): Ditto.
4451 (omp_get_num_teams): Ditto.
4452 (omp_get_num_threads): Ditto.
4453 (omp_get_proc_bind): Ditto.
4454 (omp_get_schedule): Ditto.
4455 (omp_get_team_num): Ditto.
4456 (omp_get_team_size): Ditto.
4457 (omp_get_thread_limit): Ditto.
4458 (omp_get_thread_num): Ditto.
4459 (omp_in_parallel): Ditto.
4460 (omp_in_final): Ditto.
4461 (omp_is_initial_device): Ditto.
4462 (omp_set_default_device): Ditto.
4463 (omp_set_dynamic): Ditto.
4464 (omp_set_max_active_levels): Ditto.
4465 (omp_set_nested): Ditto.
4466 (omp_set_num_threads): Ditto.
4467 (omp_set_schedule): Ditto.
4468 (omp_init_lock): Ditto.
4469 (omp_set_lock): Ditto.
4470 (omp_test_lock): Ditto.
4471 (omp_unset_lock): Ditto.
4472 (omp_destroy_lock): Ditto.
4473 (omp_init_nest_lock): Ditto.
4474 (omp_set_nest_lock): Ditto.
4475 (omp_test_nest_lock): Ditto.
4476 (omp_unset_nest_lock): Ditto.
4477 (omp_destroy_nest_lock): Ditto.
4478 (omp_get_wtick): Ditto.
4479 (omp_get_wtime): Ditto.
4480 (OMP_CANCELLATION): Ditto.
4481 (OMP_DISPLAY_ENV): Ditto.
4482 (OMP_DEFAULT_DEVICE): Ditto.
4483 (OMP_DYNAMIC): Ditto.
4484 (OMP_MAX_ACTIVE_LEVELS): Ditto.
4485 (OMP_MAX_TASK_PRIORITY): Ditto.
4486 (OMP_NESTED): Ditto.
4487 (OMP_NUM_THREADS): Ditto.
4488 (OMP_PROC_BIND): Ditto.
4489 (OMP_PLACES): Ditto.
4490 (OMP_STACKSIZE): Ditto.
4491 (OMP_SCHEDULE): Ditto.
4492 (OMP_THREAD_LIMIT): Ditto.
4493 (OMP_WAIT_POLICY): Ditto.
4494
31dd69b7
CP
44952018-06-22 Cesar Philippidis <cesar@codesourcery.com>
4496 James Norris <jnorris@codesourcery.com>
4497 Julian Brown <julian@codesourcery.com>
4498 Thomas Schwinge <thomas@codesourcery.com>
4499 Tom de Vries <tom@codesourcery.com>
4500
4501 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
4502 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
4503 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
4504 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
4505 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4506 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4507 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
4508 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4509 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
4510 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
4511 Likewise.
4512 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4513 Likewise.
4514 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4515 Likewise.
4516 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
4517 Likewise.
4518 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
4519 Likewise.
4520 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4521 Likewise.
4522 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4523 Likewise.
4524 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4525 Likewise.
4526 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4527 Likewise.
4528 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4529 Likewise.
4530 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4531 Likewise.
4532 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4533 Likewise.
4534 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4535 Likewise.
4536 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4537 Likewise.
4538 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4539 Likewise.
4540 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4541 Likewise.
4542 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4543 Likewise.
4544 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4545 Likewise.
4546 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4547 Likewise.
4548 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4549 Likewise.
4550 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4551 Likewise.
4552 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4553 Likewise.
4554 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4555 Likewise.
4556 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4557 Likewise.
4558 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4559 Likewise.
4560 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4561 Likewise.
4562 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4563 Likewise.
4564 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
4565 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
4566 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
4567 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
4568 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
4569 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4570 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4571 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
4572 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4573 Likewise.
4574 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4575 Likewise.
4576 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
4577 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
4578 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
4579 Likewise.
4580 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
4581 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
4582 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4583 Likewise.
4584 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4585 Likewise.
4586 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4587 Likewise.
4588 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4589 Likewise.
4590 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4591 Likewise.
4592 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4593 Likewise.
4594 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4595 Likewise.
4596 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4597 Likewise.
4598 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4599 Likewise.
4600 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4601 Likewise.
4602 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4603 Likewise.
4604 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4605 Likewise.
4606 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4607 Likewise.
4608 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4609 Likewise.
4610 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4611 Likewise.
4612 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4613 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4614 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4615 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4616 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4617 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4618 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4619
829c6349
CLT
46202018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4621 Thomas Schwinge <thomas@codesourcery.com>
4622 Cesar Philippidis <cesar@codesourcery.com>
4623
4624 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4625 (gomp_acc_remove_pointer): Update declaration.
4626 (gomp_acc_declare_allocate): Declare.
4627 (gomp_remove_var): Declare.
4628 * libgomp.map (OACC_2.5): Define.
4629 * oacc-mem.c (acc_map_data): Update refcount.
4630 (acc_unmap_data): Likewise.
4631 (present_create_copy): Likewise.
4632 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4633 (acc_copyin): Likewise.
4634 (FLAG_FINALIZE): Define.
4635 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4636 (acc_delete_finalize): New function.
4637 (acc_delete_finalize_async): New function.
4638 (acc_copyout_finalize): New function.
4639 (acc_copyout_finalize_async): New function.
4640 (gomp_acc_insert_pointer): Update refcounts.
4641 (gomp_acc_remove_pointer): Return if data is not present on the
4642 accelerator.
4643 * oacc-parallel.c (find_pset): Rename to find_pointer.
4644 (find_pointer): Add support for GOMP_MAP_POINTER.
4645 (handle_ftn_pointers): New function.
4646 (GOACC_parallel_keyed): Update refcounts of variables.
4647 (GOACC_enter_exit_data): Add support for finalized data mappings.
4648 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4649 of fortran arrays.
4650 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4651 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4652 for GOMP_MAP_FORCE_FROM.
4653 * openacc.f90 (module openacc_internal): Add
4654 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4655 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4656 acc_copyout_finalize and acc_delete_finalize.
4657 (acc_copyout_finalize_32_h): New subroutine.
4658 (acc_copyout_finalize_64_h): New subroutine.
4659 (acc_copyout_finalize_array_h): New subroutine.
4660 (acc_delete_finalize_32_h): New subroutine.
4661 (acc_delete_finalize_64_h): New subroutine.
4662 (acc_delete_finalize_array_h): New subroutine.
4663 * openacc.h (acc_copyout_finalize): Declare.
4664 (acc_copyout_finalize_async): Declare.
4665 (acc_delete_finalize): Declare.
4666 (acc_delete_finalize_async): Declare.
4667 * openacc_lib.h (acc_copyout_finalize): New interface.
4668 (acc_delete_finalize): New interface.
4669 * target.c (gomp_map_vars): Update dynamic_refcount.
4670 (gomp_remove_var): New function.
4671 (gomp_unmap_vars): Use it.
4672 (gomp_unload_image_from_device): Likewise.
4673 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4674 case to utilize OpenACC 2.5 data clause semantics.
4675 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4677 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4678 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4679 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4680 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4681 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4682 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4683 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4684 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4685 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4686 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4687 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4688 utilize OpenACC 2.5 data clause semantics.
4689 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4690 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4691 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4692 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4693 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4694 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4695 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4696 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4697 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4698
4358400b
JW
46992018-05-21 Janus Weil <janus@gcc.gnu.org>
4700
4701 PR fortran/85841
4702 PR testsuite/85865
4703 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4704 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4705 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4706 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4707 * testsuite/libgomp.fortran/task2.f90: Ditto.
4708 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4709 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4710 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4711 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4712 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4713 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4714 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4715 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4716 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4717
950ad0ba
CP
47182018-05-18 Cesar Philippidis <cesar@codesourcery.com>
4719
4720 PR c++/85782
4721 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4722
f5ad16f1
TV
47232018-05-09 Tom de Vries <tom@codesourcery.com>
4724
4725 PR libgomp/82901
4726 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4727 to GOACC_enter_exit_data.
4728
edbd038a
TV
47292018-05-09 Tom de Vries <tom@codesourcery.com>
4730
4731 PR libgomp/83792
4732 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4733 (async_synchronous_p): New function.
4734 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4735 async_valid_p.
4736 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4737 async_valid_stream_id_p.
4738 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4739 * oacc-parallel.c (GOACC_parallel_keyed): Same.
4740
37d6c719
TV
47412018-05-07 Tom de Vries <tom@codesourcery.com>
4742
4743 PR testsuite/85677
4744 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4745 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4746
63f12215
TV
47472018-05-03 Tom de Vries <tom@codesourcery.com>
4748
4749 PR testsuite/85106
4750 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4751 extra_tool_flags if it contains an -foffload=-fdump-* flag.
4752 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4753 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4754
ec00d3fa
TV
47552018-05-02 Tom de Vries <tom@codesourcery.com>
4756
4757 PR libgomp/85411
4758 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4759 GOMP_OPENACC_DIM ...
4760 * env.c (parse_gomp_openacc_dim): ... here. New function.
4761 (initialize_env): Call parse_gomp_openacc_dim.
4762 (goacc_default_dims): Define.
4763 * libgomp.h (goacc_default_dims): Declare.
4764 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4765 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4766 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4767 GOMP_PLUGIN_acc_default_dim.
4768 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4769 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4770
92243e7c
TV
47712018-05-02 Tom de Vries <tom@codesourcery.com>
4772
4773 PR testsuite/83791
4774 * testsuite/libgomp.c++/udr-9.C: Update.
4775 * testsuite/libgomp.c++/atomic-16.C: Remove.
4776 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4777 * testsuite/libgomp.c++/loop-13.C: Remove.
4778 * testsuite/libgomp.c++/loop-14.C: Remove.
4779 * testsuite/libgomp.c++/loop-15.C: Remove.
4780 * testsuite/libgomp.c++/monotonic-1.C: Remove.
4781 * testsuite/libgomp.c++/monotonic-2.C: Remove.
4782 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4783 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4784 * testsuite/libgomp.c++/ordered-1.C: Remove.
4785 * testsuite/libgomp.c++/pr45784.C: Remove.
4786 * testsuite/libgomp.c++/pr64824.C: Remove.
4787 * testsuite/libgomp.c++/pr64868.C: Remove.
4788 * testsuite/libgomp.c++/pr66199-1.C: Remove.
4789 * testsuite/libgomp.c++/pr66199-2.C: Remove.
4790 * testsuite/libgomp.c++/pr66199-3.C: Remove.
4791 * testsuite/libgomp.c++/pr66199-4.C: Remove.
4792 * testsuite/libgomp.c++/pr66199-5.C: Remove.
4793 * testsuite/libgomp.c++/pr66199-6.C: Remove.
4794 * testsuite/libgomp.c++/pr66199-7.C: Remove.
4795 * testsuite/libgomp.c++/pr66199-8.C: Remove.
4796 * testsuite/libgomp.c++/pr66199-9.C: Remove.
4797 * testsuite/libgomp.c++/pr69389.C: Remove.
4798 * testsuite/libgomp.c++/simd10.C: Remove.
4799 * testsuite/libgomp.c++/simd11.C: Remove.
4800 * testsuite/libgomp.c++/simd12.C: Remove.
4801 * testsuite/libgomp.c++/simd13.C: Remove.
4802 * testsuite/libgomp.c++/target-1.C: Remove.
4803 * testsuite/libgomp.c++/target-3.C: Remove.
4804 * testsuite/libgomp.c++/target-4.C: Remove.
4805 * testsuite/libgomp.c++/target-5.C: Remove.
4806 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4807 * testsuite/libgomp.c++/taskloop-1.C: Remove.
4808 * testsuite/libgomp.c++/taskloop-2.C: Remove.
4809 * testsuite/libgomp.c++/taskloop-3.C: Remove.
4810 * testsuite/libgomp.c++/taskloop-4.C: Remove.
4811 * testsuite/libgomp.c++/udr-9.C: Remove.
4812 * testsuite/libgomp.c++/for-10.C: Remove.
4813 * testsuite/libgomp.c++/for-11.C: Remove.
4814 * testsuite/libgomp.c++/for-12.C: Remove.
4815 * testsuite/libgomp.c++/for-13.C: Remove.
4816 * testsuite/libgomp.c++/for-14.C: Remove.
4817 * testsuite/libgomp.c++/for-9.C: Remove.
4818 * testsuite/libgomp.c/atomic-18.c: Move ...
4819 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4820 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4821 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4822 * testsuite/libgomp.c/loop-13.c: Move ...
4823 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4824 * testsuite/libgomp.c/loop-14.c: Move ...
4825 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4826 * testsuite/libgomp.c/loop-15.c: Remove.
4827 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4828 * testsuite/libgomp.c/monotonic-1.c: Move ...
4829 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4830 * testsuite/libgomp.c/monotonic-2.c: Move ...
4831 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4832 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4833 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4834 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4835 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4836 * testsuite/libgomp.c/ordered-4.c: Move ...
4837 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4838 * testsuite/libgomp.c/pr45784.c: Move ...
4839 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4840 * testsuite/libgomp.c/pr64824.c: Move ...
4841 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4842 * testsuite/libgomp.c/pr64868.c: Move ...
4843 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4844 * testsuite/libgomp.c/pr66199-1.c: Move ...
4845 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4846 * testsuite/libgomp.c/pr66199-2.c: Move ...
4847 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4848 * testsuite/libgomp.c/pr66199-3.c: Move ...
4849 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4850 * testsuite/libgomp.c/pr66199-4.c: Move ...
4851 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4852 * testsuite/libgomp.c/pr66199-5.c: Move ...
4853 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4854 * testsuite/libgomp.c/pr66199-6.c: Move ...
4855 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4856 * testsuite/libgomp.c/pr66199-7.c: Move ...
4857 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4858 * testsuite/libgomp.c/pr66199-8.c: Move ...
4859 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4860 * testsuite/libgomp.c/pr66199-9.c: Move ...
4861 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4862 * testsuite/libgomp.c/pr69389.c: Move ...
4863 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4864 * testsuite/libgomp.c/simd-14.c: Move ...
4865 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4866 * testsuite/libgomp.c/simd-15.c: Move ...
4867 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4868 * testsuite/libgomp.c/simd-16.c: Move ...
4869 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4870 * testsuite/libgomp.c/simd-17.c: Move ...
4871 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4872 * testsuite/libgomp.c/target-1.c: Move ...
4873 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4874 * testsuite/libgomp.c/target-10.c: Move ...
4875 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4876 * testsuite/libgomp.c/target-13.c: Move ...
4877 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4878 * testsuite/libgomp.c/target-2.c: Move ...
4879 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4880 * testsuite/libgomp.c/taskgroup-1.c: Move ...
4881 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4882 * testsuite/libgomp.c/taskloop-1.c: Move ...
4883 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4884 * testsuite/libgomp.c/taskloop-2.c: Move ...
4885 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4886 * testsuite/libgomp.c/taskloop-3.c: Move ...
4887 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4888 * testsuite/libgomp.c/taskloop-4.c: Move ...
4889 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4890 * testsuite/libgomp.c/udr-1.c: Move ...
4891 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4892 * testsuite/libgomp.c/for-1.c: Move ...
4893 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4894 * testsuite/libgomp.c/for-1.h: Move ...
4895 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4896 * testsuite/libgomp.c/for-2.c: Move ...
4897 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4898 * testsuite/libgomp.c/for-2.h: Move ...
4899 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4900 * testsuite/libgomp.c/for-3.c: Move ...
4901 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4902 * testsuite/libgomp.c/for-4.c: Move ...
4903 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4904 * testsuite/libgomp.c/for-5.c: Move ...
4905 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4906 * testsuite/libgomp.c/for-6.c: Move ...
4907 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4908
1f62d637
TV
49092018-05-02 Tom de Vries <tom@codesourcery.com>
4910
4911 PR libgomp/82428
4912 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4913 __builtin_goacc_parlevel_{id,size}.
4914 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4915 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4916 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4917 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4918 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4919 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4920 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4921 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4922 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4923 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4924 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4925 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4926 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4927 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4928 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4929 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4930 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4931 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4932 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4933 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4934 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4935 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4936 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4937
9220b511
TV
49382018-05-02 Tom de Vries <tom@codesourcery.com>
4939
4940 PR testsuite/85106
4941 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4942
6c3c13c1
TV
49432018-05-02 Tom de Vries <tom@codesourcery.com>
4944
4945 PR testsuite/85106
4946 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4947
8d70b61e
JB
49482018-04-29 Julian Brown <julian@codesourcery.com>
4949 Tom de Vries <tom@codesourcery.com>
4950
4951 PR testsuite/85527
4952 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4953 arbitrary order for iterations of atomic subtract check.
4954
4a57a4b6
TV
49552018-04-28 Tom de Vries <tom@codesourcery.com>
4956
4957 PR testsuite/85527
4958 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4959 atomic capture results obtained in parallel loop to an array, instead of
4960 to a scalar.
4961
df36a3d3
TV
49622018-04-26 Tom de Vries <tom@codesourcery.com>
4963
4964 PR libgomp/84020
4965 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4966 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4967 (process_GOMP_NVPTX_JIT): New function.
4968 (link_ptx): Use process_GOMP_NVPTX_JIT.
4969
d160ae78
RB
49702018-04-26 Richard Biener <rguenther@suse.de>
4971 Tom de Vries <tom@codesourcery.com>
4972
4973 PR lto/85422
4974 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4975
ca9dc642
TV
49762018-04-26 Tom de Vries <tom@codesourcery.com>
4977
4978 PR target/85519
4979 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4980 recursion depth from 25 to 23.
4981 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4982
7b47ecf2
L
49832018-04-24 H.J. Lu <hongjiu.lu@intel.com>
4984
4985 * configure: Regenerated.
4986
e91eba31
NS
49872018-04-20 Nathan Sidwell <nathan@codesourcery.com>
4988 Tom de Vries <tom@codesourcery.com>
4989
4990 PR target/85445
4991 * testsuite/libgomp.oacc-c++/ref-1.C: New.
4992
6e0d40b6
TS
49932018-04-19 Thomas Schwinge <thomas@codesourcery.com>
4994
4995 PR libgomp/85463
4996 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4997 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4998 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4999 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
5000 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
5001 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
5002
5003 PR libfortran/85166
5004 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
5005 abort".
5006 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5007
a0e1df88
JJ
50082018-04-19 Jakub Jelinek <jakub@redhat.com>
5009
5010 * configure: Regenerated.
5011
001ddaa8
DM
50122018-04-18 David Malcolm <dmalcolm@redhat.com>
5013
5014 PR jit/85384
5015 * configure: Regenerate.
5016
05e0af43
CP
50172018-04-16 Cesar Philippidis <cesar@codesourcery.com>
5018 Tom de Vries <tom@codesourcery.com>
5019
5020 PR middle-end/84955
5021 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5022 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5023
bc436e10
TK
50242018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
5025
5026 PR fortran/83064
5027 PR testsuite/85346
5028 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
5029 test from gfortran.dg to here.
5030
ffb164c7
JJ
50312018-04-12 Cesar Philippidis <cesar@codesourcery.com>
5032
5033 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
5034 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
5035
50362018-04-12 Cesar Philippidis <cesar@codesourcery.com>
5037
5038 PR middle-end/84955
5039 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5040 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5041
2ba16fd2
TV
50422018-04-05 Tom de Vries <tom@codesourcery.com>
5043
5044 PR target/85204
5045 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
5046
46dbeb40
TV
50472018-03-26 Tom de Vries <tom@codesourcery.com>
5048
5049 PR tree-optimization/85063
5050 * testsuite/libgomp.c/switch-conversion-2.c: New test.
5051 * testsuite/libgomp.c/switch-conversion.c: New test.
5052 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
5053 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
5054
bfc24e32
TK
50552018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
5056
5057 PR fortran/84381
5058 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
5059 call abort by STOP n.
5060 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
5061 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
5062 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
5063 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
5064 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
5065 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
5066 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
5067 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
5068 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
5069 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
5070 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
5071 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
5072 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
5073 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
5074 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
5075 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
5076 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
5077 * testsuite/libgomp.fortran/associate1.f90: Likewise.
5078 * testsuite/libgomp.fortran/associate2.f90: Likewise.
5079 * testsuite/libgomp.fortran/associate3.f90: Likewise.
5080 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
5081 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
5082 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
5083 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
5084 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
5085 * testsuite/libgomp.fortran/character1.f90: Likewise.
5086 * testsuite/libgomp.fortran/character2.f90: Likewise.
5087 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
5088 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
5089 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
5090 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
5091 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
5092 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
5093 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
5094 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
5095 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
5096 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
5097 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
5098 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
5099 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
5100 * testsuite/libgomp.fortran/do1.f90: Likewise.
5101 * testsuite/libgomp.fortran/do2.f90: Likewise.
5102 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
5103 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
5104 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
5105 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
5106 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
5107 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
5108 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5109 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
5110 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
5111 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
5112 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
5113 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
5114 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5115 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
5116 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
5117 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
5118 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
5119 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
5120 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
5121 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
5122 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
5123 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
5124 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
5125 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
5126 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
5127 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
5128 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
5129 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5130 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
5131 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
5132 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
5133 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
5134 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
5135 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5136 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5137 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
5138 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
5139 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
5140 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
5141 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
5142 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
5143 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
5144 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
5145 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
5146 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5147 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
5148 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
5149 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
5150 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
5151 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5152 * testsuite/libgomp.fortran/lib2.f: Likewise.
5153 * testsuite/libgomp.fortran/lib3.f: Likewise.
5154 * testsuite/libgomp.fortran/lib4.f90: Likewise.
5155 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
5156 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
5157 * testsuite/libgomp.fortran/nested1.f90: Likewise.
5158 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
5159 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
5160 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
5161 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
5162 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
5163 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
5164 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
5165 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
5166 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
5167 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
5168 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
5169 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
5170 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
5171 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
5172 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
5173 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
5174 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
5175 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
5176 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
5177 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5178 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
5179 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
5180 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
5181 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
5182 * testsuite/libgomp.fortran/pr25162.f: Likewise.
5183 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
5184 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
5185 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
5186 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
5187 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
5188 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
5189 * testsuite/libgomp.fortran/pr28390.f: Likewise.
5190 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
5191 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
5192 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
5193 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
5194 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
5195 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
5196 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
5197 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
5198 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
5199 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
5200 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
5201 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
5202 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
5203 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
5204 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
5205 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
5206 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
5207 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
5208 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
5209 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
5210 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
5211 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
5212 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
5213 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
5214 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
5215 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
5216 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
5217 * testsuite/libgomp.fortran/reference1.f90: Likewise.
5218 * testsuite/libgomp.fortran/reference2.f90: Likewise.
5219 * testsuite/libgomp.fortran/retval1.f90: Likewise.
5220 * testsuite/libgomp.fortran/retval2.f90: Likewise.
5221 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
5222 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
5223 * testsuite/libgomp.fortran/simd1.f90: Likewise.
5224 * testsuite/libgomp.fortran/simd2.f90: Likewise.
5225 * testsuite/libgomp.fortran/simd3.f90: Likewise.
5226 * testsuite/libgomp.fortran/simd4.f90: Likewise.
5227 * testsuite/libgomp.fortran/simd5.f90: Likewise.
5228 * testsuite/libgomp.fortran/simd6.f90: Likewise.
5229 * testsuite/libgomp.fortran/simd7.f90: Likewise.
5230 * testsuite/libgomp.fortran/stack.f90: Likewise.
5231 * testsuite/libgomp.fortran/strassen.f90: Likewise.
5232 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
5233 * testsuite/libgomp.fortran/tabs2.f: Likewise.
5234 * testsuite/libgomp.fortran/target1.f90: Likewise.
5235 * testsuite/libgomp.fortran/target2.f90: Likewise.
5236 * testsuite/libgomp.fortran/target3.f90: Likewise.
5237 * testsuite/libgomp.fortran/target4.f90: Likewise.
5238 * testsuite/libgomp.fortran/target5.f90: Likewise.
5239 * testsuite/libgomp.fortran/target6.f90: Likewise.
5240 * testsuite/libgomp.fortran/target7.f90: Likewise.
5241 * testsuite/libgomp.fortran/target8.f90: Likewise.
5242 * testsuite/libgomp.fortran/task1.f90: Likewise.
5243 * testsuite/libgomp.fortran/task2.f90: Likewise.
5244 * testsuite/libgomp.fortran/task3.f90: Likewise.
5245 * testsuite/libgomp.fortran/task4.f90: Likewise.
5246 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
5247 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
5248 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
5249 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
5250 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
5251 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
5252 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
5253 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
5254 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
5255 * testsuite/libgomp.fortran/udr1.f90: Likewise.
5256 * testsuite/libgomp.fortran/udr10.f90: Likewise.
5257 * testsuite/libgomp.fortran/udr11.f90: Likewise.
5258 * testsuite/libgomp.fortran/udr12.f90: Likewise.
5259 * testsuite/libgomp.fortran/udr13.f90: Likewise.
5260 * testsuite/libgomp.fortran/udr14.f90: Likewise.
5261 * testsuite/libgomp.fortran/udr15.f90: Likewise.
5262 * testsuite/libgomp.fortran/udr2.f90: Likewise.
5263 * testsuite/libgomp.fortran/udr3.f90: Likewise.
5264 * testsuite/libgomp.fortran/udr4.f90: Likewise.
5265 * testsuite/libgomp.fortran/udr5.f90: Likewise.
5266 * testsuite/libgomp.fortran/udr6.f90: Likewise.
5267 * testsuite/libgomp.fortran/udr7.f90: Likewise.
5268 * testsuite/libgomp.fortran/udr8.f90: Likewise.
5269 * testsuite/libgomp.fortran/udr9.f90: Likewise.
5270 * testsuite/libgomp.fortran/vla1.f90: Likewise.
5271 * testsuite/libgomp.fortran/vla2.f90: Likewise.
5272 * testsuite/libgomp.fortran/vla3.f90: Likewise.
5273 * testsuite/libgomp.fortran/vla4.f90: Likewise.
5274 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5275 * testsuite/libgomp.fortran/vla6.f90: Likewise.
5276 * testsuite/libgomp.fortran/vla7.f90: Likewise.
5277 * testsuite/libgomp.fortran/vla8.f90: Likewise.
5278 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
5279 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
5280 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5281 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5282 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5283 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5284 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5285 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5286 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5287 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5288 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5289 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
5290 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5291 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
5292 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5293 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
5294 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5295 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
5296 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
5297 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
5298 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
5299 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
5300 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
5301 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
5302 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
5303 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5304 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5305 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
5306 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5307 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
5308 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5309 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5310 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5311 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5312 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5313 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5314 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5315 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5316 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
5317 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5318 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
5319 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5320 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
5321 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
5322 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
5323 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
5324 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5325 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5326 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
5327 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5328 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
5329 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
5330 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
5331 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5332 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
5333 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5334 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
5335 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5336 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5337 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
5338 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5339 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5340 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5341 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5342 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
5343 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5344 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5345 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5346 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5347 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
5348 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
5349 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
5350 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
5351 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5352 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5353 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
5354 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5355 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5356 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5357 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5358 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5359 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5360 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5361 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
5362 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
5363 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
5364 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
5365 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
5366 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
5367 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5368 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
5369 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
5370 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
5371 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
5372
79cf14ae
RB
53732018-03-20 Richard Biener <rguenther@suse.de>
5374
5375 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
5376 parallelizable loop.
5377
14e335ed
IT
53782018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
5379
5380 PR target/84148
5381 * configure: Regenerate.
5382
83d9be55
JJ
53832018-02-16 Jakub Jelinek <jakub@redhat.com>
5384
5385 PR fortran/84418
5386 * libgomp.fortran/pr84418-1.f90: New test.
5387 * libgomp.fortran/pr84418-2.f90: New test.
5388
d1fe6124
JJ
53892018-02-14 Jakub Jelinek <jakub@redhat.com>
5390
5391 PR fortran/84313
5392 * testsuite/libgomp.fortran/threadprivate4.f90: Add
5393 -std=f2003 -fall-intrinsics into dg-additional-options.
5394
3d224921
MJ
53952018-02-08 Martin Jambor <mjambor@suse.cz>
5396
5397 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
5398 clonable.
5399
c7c30edd
MJ
54002018-02-08 Martin Jambor <mjambor@suse.cz>
5401
5402 * testsuite/libgomp.hsa.c/staticvar.c: New test.
5403
f320fdfd
RO
54042018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5405
5406 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
5407 [__cplusplus]: Declare extern "C".
5408
c31bc4ac
TV
54092018-02-07 Tom de Vries <tom@codesourcery.com>
5410
5411 PR libgomp/84217
5412 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
5413
99ae7ce5
CS
54142018-01-29 Christoph Spiel <cspiel@freenet.de>
5415 Jakub Jelinek <jakub@redhat.com>
5416
5417 PR libgomp/84096
5418 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
5419 instead of omp_lock_t.
5420
e77a1236
TV
54212018-01-25 Tom de Vries <tom@codesourcery.com>
5422
5423 PR target/84028
5424 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
5425
3dede32b
TV
54262018-01-24 Tom de Vries <tom@codesourcery.com>
5427
5428 PR target/83589
5429 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
5430
be606483
TV
54312018-01-24 Tom de Vries <tom@codesourcery.com>
5432
5433 PR target/81352
5434 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
5435
8c8e9a6b
TV
54362018-01-19 Tom de Vries <tom@codesourcery.com>
5437 Cesar Philippidis <cesar@codesourcery.com>
5438
5439 PR target/83920
5440 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
5441 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
5442
65e6aea3
JJ
54432018-01-03 Jakub Jelinek <jakub@redhat.com>
5444
85ec4feb
JJ
5445 Update copyright years.
5446
65e6aea3
JJ
5447 * libgomp.texi: Bump @copying's copyright year.
5448
60bf575c
TV
54492017-12-30 Tom de Vries <tom@codesourcery.com>
5450
5451 PR libgomp/83046
5452 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
5453 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
5454
7ec16b79
TV
54552017-12-27 Tom de Vries <tom@codesourcery.com>
5456
5457 PR c++/83046
5458 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
5459 (test_nonstatic): Fix return type to workaround PR83046.
5460
ac550b9a
JJ
54612017-12-05 Jakub Jelinek <jakub@redhat.com>
5462
5463 PR testsuite/83281
5464 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
5465 j suffix instead of i.
5466 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
5467 Likewise.
5468
ebdc83f0
CP
54692017-12-01 Cesar Philippidis <cesar@codesourcery.com>
5470
5471 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
5472 call to acc_wait (1).
5473
3b3e6283
JJ
54742017-11-24 Jakub Jelinek <jakub@redhat.com>
5475
5476 PR fortran/81304
5477 * testsuite/libgomp.fortran/pr81304.f90: New test.
5478
3b575376
JJ
54792017-11-23 Jakub Jelinek <jakub@redhat.com>
5480
5481 PR fortran/81841
5482 * libgomp.fortran/pr81841.f90: New test.
5483
b13547d8
JJ
54842017-11-22 Jakub Jelinek <jakub@redhat.com>
5485
5486 PR libgomp/83106
5487 * target.c (gomp_target_init): Compute lengths just once and
5488 use them in both malloc size and subsequent copying.
5489
efe33ced
IT
54902017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
5491
5492 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
5493 * acinclude.m4: Add cet.m4.
5494 * configure: Regenerate.
5495 * Makefile.in: Likewise.
5496 * testsuite/Makefile.in: Likewise.
5497
a7cf2612
TV
54982017-11-15 Tom de Vries <tom@codesourcery.com>
5499
5500 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
5501 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
5502 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
5503 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
5504 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
5505 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
5506
dde76623
TV
55072017-11-14 Tom de Vries <tom@codesourcery.com>
5508
5509 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
5510 non-nvidia devices.
5511
4dbeb716
JJ
55122017-11-07 Jakub Jelinek <jakub@redhat.com>
5513
5514 PR c++/82835
5515 * testsuite/libgomp.c++/pr82835.C: New test.
5516
454f8b2b
ML
55172017-11-06 Martin Liska <mliska@suse.cz>
5518
5519 * testsuite/libgomp.c++/loop-2.C: Return a value
5520 for functions with non-void return type, or change type to void,
5521 or add -Wno-return-type for test.
5522 * testsuite/libgomp.c++/loop-4.C: Likewise.
5523 * testsuite/libgomp.c++/parallel-1.C: Likewise.
5524 * testsuite/libgomp.c++/shared-1.C: Likewise.
5525 * testsuite/libgomp.c++/single-1.C: Likewise.
5526 * testsuite/libgomp.c++/single-2.C: Likewise.
5527
12e9c8ce
TV
55282017-10-31 Tom de Vries <tom@codesourcery.com>
5529
5530 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
5531 "do {} while (false)".
5532 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
5533 after HSA_DEBUG call.
5534
7324369a
JJ
55352017-10-28 Jakub Jelinek <jakub@redhat.com>
5536
5537 * target.c (struct gomp_coalesce_buf): New type.
5538 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
5539 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
5540 (gomp_copy_host2dev): Add CBUF argument, if copying into
5541 the cached ranges, memcpy into buffer instead of copying
5542 into device.
5543 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
5544 Add CBUF argument, pass it through to other calls.
5545 (gomp_map_vars): Aggregate copies from host to device if small enough
5546 and with small enough gaps in between into memcpy into a buffer and
5547 fewer host to device copies from the buffer.
5548 (gomp_update): Adjust gomp_copy_host2dev caller.
5549
933ab0e6
TS
55502017-10-17 Thomas Schwinge <thomas@codesourcery.com>
5551
5552 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
5553 run" directive.
5554 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5555 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5556 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5557 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5558
92d5d01a
TV
55592017-10-16 Tom de Vries <tom@codesourcery.com>
5560
5561 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
5562 openacc_nvidia_accel_selected.
5563 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
5564 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
5565 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
5566 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
5567 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
5568 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
5569 openacc_nvidia_accel_selected. Skip for shared memory device.
5570 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
5571 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
5572
191411e4
MJ
55732017-10-09 Martin Jambor <mjambor@suse.cz>
5574
5575 PR hsa/82416
5576 * testsuite/libgomp.hsa.c/pr82416.c: New test.
5577
e923330e
TV
55782017-10-07 Tom de Vries <tom@codesourcery.com>
5579
5580 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
5581 Remove acc_device_nvidia references.
5582 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
5583 Same.
5584
8fe3ed4c
TV
55852017-10-05 Tom de Vries <tom@codesourcery.com>
5586
5587 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
5588 vector_length(32) clause from acc parallel directive.
5589 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
5590
26596ee5
TV
55912017-10-04 Tom de Vries <tom@codesourcery.com>
5592
5593 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
5594 (main): Reduce sum of arr elements. Assert that hres is exactly
5595 representable in 32-bit floating point.
5596 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
5597 (main): Reduce sum of arr elements. Assert that hres and hmres are
5598 exactly representable in 32-bit floating point.
5599 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
5600
5c561fa9
TV
56012017-09-28 Tom de Vries <tom@codesourcery.com>
5602
5603 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5604 setting.
5605 * testsuite/libgomp.c++/pr69393.C: Same.
5606 * testsuite/libgomp.c++/taskloop-1.C: Same.
5607 * testsuite/libgomp.c++/taskloop-3.C: Same.
5608 * testsuite/libgomp.c++/taskloop-4.C: Same.
5609 * testsuite/libgomp.c/for-4.c: Same.
5610 * testsuite/libgomp.c/pr66199-3.c: Same.
5611 * testsuite/libgomp.c/pr66199-4.c: Same.
5612 * testsuite/libgomp.c/pr66199-6.c: Same.
5613 * testsuite/libgomp.c/taskloop-1.c: Same.
5614 * testsuite/libgomp.c/taskloop-3.c: Same.
5615 * testsuite/libgomp.c/taskloop-4.c: Same.
5616 * testsuite/libgomp.fortran/aligned1.f03: Same.
5617 * testsuite/libgomp.fortran/condinc1.f: Same.
5618 * testsuite/libgomp.fortran/condinc3.f90: Same.
5619 * testsuite/libgomp.fortran/crayptr1.f90: Same.
5620 * testsuite/libgomp.fortran/crayptr2.f90: Same.
5621 * testsuite/libgomp.fortran/crayptr3.f90: Same.
5622 * testsuite/libgomp.fortran/omp_cond1.f: Same.
5623 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5624 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5625 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5626 * testsuite/libgomp.fortran/recursion1.f90: Same.
5627 * testsuite/libgomp.fortran/target2.f90: Same.
5628 * testsuite/libgomp.fortran/target5.f90: Same.
5629 * testsuite/libgomp.fortran/task3.f90: Same.
5630
7d6206fe
TV
56312017-09-28 Tom de Vries <tom@codesourcery.com>
5632
5633 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5634 vector_length(32) clause from acc parallel directive.
5635 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5636
84c8627c
TV
56372017-09-27 Tom de Vries <tom@codesourcery.com>
5638
5639 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5640 Remove acc_device_nvidia references.
5641
ebc6a85e
TV
56422017-09-16 Tom de Vries <tom@codesourcery.com>
5643
5644 PR c/81875
5645 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5646
82419efb
TV
56472017-09-14 Tom de Vries <tom@codesourcery.com>
5648
5649 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5650 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5651 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5652 * testsuite/libgomp.c/c.exp: Include test-cases from
5653 libgomp.c-c++-common.
5654 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
5655 files.
5656
8b586510
JJ
56572017-09-14 Jakub Jelinek <jakub@redhat.com>
5658
5659 PR c++/81314
5660 * testsuite/libgomp.c++/pr81314.C: New test.
5661
9651fbaf
GP
56622017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
5663
5664 * libgomp.texi (Top): www.openacc.org now uses https.
5665 (Enabling OpenACC): Ditto.
5666 (acc_get_num_devices): Ditto.
5667 (acc_set_device_type): Ditto.
5668 (acc_get_device_type): Ditto.
5669 (acc_set_device_num): Ditto.
5670 (acc_get_device_num): Ditto.
5671 (acc_async_test): Ditto.
5672 (acc_async_test_all): Ditto.
5673 (acc_wait): Ditto.
5674 (acc_wait_all): Ditto.
5675 (acc_wait_all_async): Ditto.
5676 (acc_wait_async): Ditto.
5677 (acc_init): Ditto.
5678 (acc_shutdown): Ditto.
5679 (acc_on_device): Ditto.
5680 (acc_malloc): Ditto.
5681 (acc_free): Ditto.
5682 (acc_copyin): Ditto.
5683 (acc_present_or_copyin): Ditto.
5684 (acc_create): Ditto.
5685 (acc_present_or_create): Ditto.
5686 (acc_copyout): Ditto.
5687 (acc_delete): Ditto.
5688 (acc_update_device): Ditto.
5689 (acc_update_self): Ditto.
5690 (acc_map_data): Ditto.
5691 (acc_unmap_data): Ditto.
5692 (acc_deviceptr): Ditto.
5693 (acc_hostptr): Ditto.
5694 (acc_is_present): Ditto.
5695 (acc_memcpy_to_device): Ditto.
5696 (acc_memcpy_from_device): Ditto.
5697 (acc_get_current_cuda_device): Ditto.
5698 (acc_get_current_cuda_context): Ditto.
5699 (acc_get_cuda_stream): Ditto.
5700 (acc_set_cuda_stream): Ditto.
5701 (ACC_DEVICE_TYPE): Ditto.
5702 (ACC_DEVICE_NUM): Ditto.
5703 (OpenACC Library Interoperability): Ditto.
5704
50aa16c3
JJ
57052017-08-09 Jakub Jelinek <jakub@redhat.com>
5706
5707 PR c/81687
5708 * testsuite/libgomp.c/pr81687-1.c: New test.
5709 * testsuite/libgomp.c/pr81687-2.c: New test.
5710
56b5041c
JJ
57112017-08-07 Jakub Jelinek <jakub@redhat.com>
5712
5713 PR c/69389
5714 * testsuite/libgomp.c/pr69389.c: New test.
5715 * testsuite/libgomp.c++/pr69389.C: New test.
5716
f4c222c0
TV
57172017-08-07 Tom de Vries <tom@codesourcery.com>
5718
5719 PR middle-end/78266
5720 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5721 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5722
a40ff0ae
JJ
57232017-07-27 Jakub Jelinek <jakub@redhat.com>
5724
5725 PR c/45784
5726 * testsuite/libgomp.c/pr45784.c: New test.
5727 * testsuite/libgomp.c++/pr45784.C: New test.
5728
3717fbe3
TV
57292017-07-19 Tom de Vries <tom@codesourcery.com>
5730
5731 * testsuite/libgomp.oacc-c/vec.c: New test.
5732
9607b014
TV
57332017-07-03 Tom de Vries <tom@codesourcery.com>
5734
5735 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5736
dfb15f6b
TV
57372017-06-27 Tom de Vries <tom@codesourcery.com>
5738
5739 * plugin/plugin-nvptx.c (notify_var): New function.
5740 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5741
22f1a037
TV
57422017-06-27 Tom de Vries <tom@codesourcery.com>
5743
5744 * env.c (parse_unsigned_long_1): Factor out of ...
5745 (parse_unsigned_long): ... here.
5746 (parse_int_1): Factor out of ...
5747 (parse_int): ... here.
5748 (parse_int_secure): New function.
5749 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5750 * secure_getenv.h: Factor out of ...
5751 * plugin/plugin-hsa.c: ... here.
5752 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5753
d54d1fc3
JJ
57542017-06-21 Jakub Jelinek <jakub@redhat.com>
5755
5756 PR c++/81130
5757 * testsuite/libgomp.c++/pr81130.C: New test.
5758
4f4b0ab8
RO
57592017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5760
5761 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5762 default args.
5763 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5764 dg-xfail-run-if default args.
5765
40ffd95f
BE
57662017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5767
5768 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5769 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5770
01275e1e
JJ
57712017-05-30 Jakub Jelinek <jakub@redhat.com>
5772
5773 PR libgomp/80822
5774 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5775 (gomp_affinity_init_level): Use it. Always analyze the core and thread
5776 sibling lists, depending on level just pick up what CPUs to put
5777 together into a place vs. whether add multiple ordered places.
5778
78672bd8
TS
57792017-05-24 Thomas Schwinge <thomas@codesourcery.com>
5780
7ce64403
TS
5781 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5782 * libgomp.map (OACC_2.0.1): Add these.
5783 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5784 for "acc_wait", and "acc_wait_all", respectively.
5785 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5786 for "acc_wait", and "acc_wait_all", respectively.
5787 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5788 * libgomp.texi (acc_wait, acc_wait_all): Update.
5789 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5790 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5791 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5792
318686c2
TS
5793 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5794 acc_present_or_copyin and acc_present_or_create procedures,
5795 respectively.
5796 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5797 generally different variants of OpenACC Runtime Library functions.
5798 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5799
a6745534
TS
5800 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5801 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5802
9b94fbc7
TS
5803 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5804 of preprocessor definitions.
5805 * libgomp.h (strong_alias): Guard by "#ifdef
5806 HAVE_ATTRIBUTE_ALIAS".
5807 * oacc-mem.c: Provide "acc_pcreate" as alias for
5808 "acc_present_or_create", and "acc_pcopyin" as alias for
5809 "acc_present_or_copyin".
5810 * libgomp.map: New version "OACC_2.0.1".
5811 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5812 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5813 its content into...
5814 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5815 Extend testing.
5816
78672bd8
TS
5817 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5818 when disabling nvptx offloading.
5819
0c36d0d5
TS
58202017-05-23 Thomas Schwinge <thomas@codesourcery.com>
5821
fd71a9a2
TS
5822 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5823 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5824 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5825
0c36d0d5
TS
5826 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5827 * testsuite/lib/libgomp.exp
5828 (check_effective_target_openacc_nvidia_accel_configured): New
5829 proc.
5830 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5831 (check_effective_target_c++): New procs.
5832 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5833 (check_effective_target_c++): Likewise.
5834
c24783c4
JJ
58352017-05-22 Jakub Jelinek <jakub@redhat.com>
5836
655e5265
JJ
5837 PR middle-end/80809
5838 * testsuite/libgomp.c/pr80809-2.c: New test.
5839 * testsuite/libgomp.c/pr80809-3.c: New test.
5840
e9e2ef9f
JJ
5841 PR middle-end/80809
5842 * testsuite/libgomp.c/pr80809-1.c: New test.
5843
c24783c4
JJ
5844 PR middle-end/80853
5845 * testsuite/libgomp.c/pr80853.c: New test.
5846
0da2f96a
TS
58472017-05-19 Thomas Schwinge <thomas@codesourcery.com>
5848
7fd549d2
TS
5849 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5850 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5851 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5852 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5853 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5854
0da2f96a
TS
5855 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5856 Debug output for failure.
5857
62ffe920
RO
58582017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5859
5860 * testsuite/lib/libgomp.exp: Load scanlang.exp.
5861
f49215b1
JJ
58622017-04-27 Jakub Jelinek <jakub@redhat.com>
5863
5864 PR bootstrap/80531
5865 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5866 bootstrap compare failures.
5867
2260d19d
AM
58682017-04-20 Alexander Monakov <amonakov@ispras.ru>
5869
5870 * testsuite/libgomp.c/target-36.c: New testcase.
5871
19929ba9
JJ
58722017-04-13 Jakub Jelinek <jakub@redhat.com>
5873
5874 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5875 instead of char.
5876
fbc698e0
JJ
58772017-04-11 Jakub Jelinek <jakub@redhat.com>
5878
5879 PR libgomp/80394
5880 * testsuite/libgomp.c/pr80394.c: New test.
5881
c4060df4
JJ
58822017-04-04 Jakub Jelinek <jakub@redhat.com>
5883
5884 PR libgomp/79876
5885 * config/posix/thread-stacksize.h: New file.
5886 * config/darwin/thread-stacksize.h: New file.
5887 * config/nvptx/thread-stacksize.h: New file.
5888 * env.c: Include thread-stacksize.h.
5889 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5890 instead of 0. Call pthread_attr_setstacksize even if
5891 GOMP_DEFAULT_STACKSIZE is non-zero.
5892
e02d868a
JJ
58932017-03-30 Jakub Jelinek <jakub@redhat.com>
5894
5895 * env.c (initialize_env): Initialize stacksize to 0.
5896
7ba8651e
CP
58972017-03-22 Cesar Philippidis <cesar@codesourcery.com>
5898
5899 PR c++/80029
5900 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5901
eebc5e2d
JJ
59022017-03-08 Jakub Jelinek <jakub@redhat.com>
5903
5904 PR c/79940
5905 * testsuite/libgomp.c/pr79940.c: New test.
5906
1eb08f52
RO
59072017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5908
5909 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5910 targets.
5911 Add __float128 options.
5912
b0f78ff3
JDA
59132017-02-11 John David Anglin <danglin@gcc.gnu.org>
5914
5915 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5916 hppa*-*-* dg-skip-if directive.
5917
1bbe0d8f
JJ
59182017-02-09 Jakub Jelinek <jakub@redhat.com>
5919
5920 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5921 dg-skip-if directive into a comment.
5922
02889d23
CLT
59232017-02-09 Nathan Sidwell <nathan@codesourcery.com>
5924 Chung-Lin Tang <cltang@codesourcery.com>
5925
5926 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5927 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5928 add additional case.
5929 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5930 "openacc_nvidia_accel_selected".
5931 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5932 Add num_workers(8) clause.
5933
5896a41d
JDA
59342017-02-08 John David Anglin <danglin@gcc.gnu.org>
5935
5936 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5937 hppa*-*-*.
5938 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5939 include complex.h on hppa*-*-hpux*.
5940 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5941
345a8c17
TS
59422017-02-02 Thomas Schwinge <thomas@codesourcery.com>
5943
e70ab10d
TS
5944 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5945
345a8c17
TS
5946 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5947 GOMP_OFFLOAD_openacc_exec. Adjust all users.
5948 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5949 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
5950 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5951 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
5952 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5953 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
5954 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5955 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
5956
dced339c
TS
59572017-01-31 Thomas Schwinge <thomas@codesourcery.com>
5958
5959 * libgomp-plugin.h: #include <stdbool.h>.
5960 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5961 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5962 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5963 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5964 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5965 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5966 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5967 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5968 (GOMP_OFFLOAD_openacc_register_async_cleanup)
5969 (GOMP_OFFLOAD_openacc_async_test)
5970 (GOMP_OFFLOAD_openacc_async_test_all)
5971 (GOMP_OFFLOAD_openacc_async_wait)
5972 (GOMP_OFFLOAD_openacc_async_wait_async)
5973 (GOMP_OFFLOAD_openacc_async_wait_all)
5974 (GOMP_OFFLOAD_openacc_async_wait_all_async)
5975 (GOMP_OFFLOAD_openacc_async_set_async)
5976 (GOMP_OFFLOAD_openacc_create_thread_data)
5977 (GOMP_OFFLOAD_openacc_destroy_thread_data)
5978 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5979 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5980 (GOMP_OFFLOAD_openacc_get_cuda_stream)
5981 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5982 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5983 these.
5984 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5985 (GOMP_OFFLOAD_unload_image): Fix argument types.
5986
23749904
JJ
59872017-01-26 Jakub Jelinek <jakub@redhat.com>
5988
c1cadde1
JJ
5989 * testsuite/lib/libgomp.exp
5990 (check_effective_target_hsa_offloading_selected_nocache): Fix up
5991 check_compile invocation. Fix up removal of executable. Drop
5992 bogus "2>&1" argument.
5993
23749904
JJ
5994 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5995 directive.
5996
59972017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
5998 Martin Jambor <mjambor@suse.cz>
5999
6000 * plugin/hsa.h: Moved to top level include.
6001 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
6002
73aa401e
JJ
60032017-01-21 Jakub Jelinek <jakub@redhat.com>
6004
6005 PR other/79046
6006 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
6007 of cat to get version from BASE-VER file.
6008 * testsuite/Makefile.in: Regenerated.
6009
b32e85fa
JJ
60102017-01-19 Jakub Jelinek <jakub@redhat.com>
6011
6012 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
6013 for _WIN64.
6014
3c36aa6b
JJ
60152017-01-17 Jakub Jelinek <jakub@redhat.com>
6016
d190d5c0
JJ
6017 * plugin/hsa.h: Add GCC runtime library exception.
6018 * plugin/hsa_ext_finalize.h: Likewise.
6019
2393d337
JJ
6020 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
6021 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
6022 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
6023 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
6024 plugin/include/cuda as include dir and -ldl instead of -lcuda as
6025 library to link ptx plugin against.
6026 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
6027 (CUDA_CALLS): Define.
6028 (cuda_lib, cuda_lib_inited): New variables.
6029 (init_cuda_lib): New function.
6030 (CUDA_CALL_PREFIX): Define.
6031 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
6032 (CUDA_CALL): Use FN instead of (FN).
6033 (CUDA_CALL_NOCHECK): Define.
6034 (cuda_error, fini_streams_for_device, select_stream_for_async,
6035 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
6036 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
6037 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
6038 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
6039 CUDA_CALL_NOCHECK.
6040 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
6041 CUDA_CALL_NOCHECK.
6042 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
6043 Use CUDA_CALL_NOCHECK.
6044 * plugin/cuda/cuda.h: New file.
6045 * config.h.in: Regenerated.
6046 * configure: Regenerated.
6047
3c36aa6b
JJ
6048 PR other/79046
6049 * configure.ac: Add GCC_BASE_VER.
6050 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
6051 get version from BASE-VER file.
6052 * testsuite/Makefile.in: Regenerated.
6053 * configure: Regenerated.
6054 * Makefile.in: Regenerated.
6055
c508bc2d
FXC
60562017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6057
6058 PR libgomp/60670
6059 * Makefile.am: Make fincludedir multilib-aware.
6060 * Makefile.in: Regenerate.
6061
c1a9c369
JJ
60622017-01-01 Jakub Jelinek <jakub@redhat.com>
6063
cbe34bb5
JJ
6064 Update copyright years.
6065
c1a9c369
JJ
6066 * libgomp.texi: Bump @copying's copyright year.
6067
e7a7f4be
SH
60682016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
6069
6070 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
6071 pthread_spinlock_t instead of gomp_mutex_t lock.
6072 (gomp_get_thread_pool): Likewise.
6073 (gomp_release_thread_pool): Likewise.
6074 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
6075 Likewise.
6076
d313d52c
SH
60772016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
6078
6079 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
6080 thread pool in case nthreads == 1.
6081
630e3c3a
AM
60822016-11-30 Alexander Monakov <amonakov@ispras.ru>
6083
6084 * config/nvptx/env.c: Delete.
6085 * icv.c: Move definitions of ICV variables back ...
6086 * env.c: ...here. Do not compile environment-related functionality if
6087 LIBGOMP_OFFLOADED_ONLY is set.
6088
9e38af5c
AM
60892016-11-30 Alexander Monakov <amonakov@ispras.ru>
6090
6091 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
6092 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
6093 * configure: Regenerate.
6094 * config.h.in: Likewise.
6095
f96b7f1f
AM
60962016-11-30 Alexander Monakov <amonakov@ispras.ru>
6097
6098 * Makefile.in: Regenerate with automake-1.11.6.
6099 * aclocal.m4: Likewise.
6100 * configure: Likewise.
6101 * testsuite/Makefile.in: Likewise.
6102
6a6951b1
AM
61032016-11-28 Alexander Monakov <amonakov@ispras.ru>
6104
6105 * config/nvptx/critical.c: Delete to use generic implementation.
6106
c7ac071f
JH
61072016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
6108
6109 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
6110 ../../affinity.c as fallback.
6111 * config/nvptx/affinity.c: Delete to use fallback implementation.
6112
6103184e 61132016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 6114 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
6115 Dmitry Melnik <dm@ispras.ru>
6116
6117 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
6118 * Makefile.in. Regenerate.
6119 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
6120 (LIBGOMP_USE_PTHREADS): ...here; new define.
6121 * configure: Regenerate.
6122 * config.h.in: Likewise.
6123 * config/posix/affinity.c: Move to...
6124 * affinity.c: ...here (new file). Guard use of Pthreads-specific
6125 interface by LIBGOMP_USE_PTHREADS.
6126 * critical.c: Split out GOMP_atomic_{start,end} into...
6127 * atomic.c: ...here (new file).
6128 * env.c: Split out ICV definitions into...
6129 * icv.c: ...here (new file) and...
6130 * icv-device.c: ...here. New file.
6131 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
6132 (gomp_destroy_lock_30): Ditto.
6133 (gomp_set_lock_30): Ditto.
6134 (gomp_unset_lock_30): Ditto.
6135 (gomp_test_lock_30): Ditto.
6136 (gomp_init_nest_lock_30): Ditto.
6137 (gomp_destroy_nest_lock_30): Ditto.
6138 (gomp_set_nest_lock_30): Ditto.
6139 (gomp_unset_nest_lock_30): Ditto.
6140 (gomp_test_nest_lock_30): Ditto.
6141 * lock.c: New.
6142 * config/nvptx/lock.c: New.
6143 * config/nvptx/bar.c: New.
6144 * config/nvptx/bar.h: New.
6145 * config/nvptx/doacross.h: New.
6146 * config/nvptx/error.c: New.
6147 * config/nvptx/icv-device.c: New.
6148 * config/nvptx/mutex.h: New.
6149 * config/nvptx/pool.h: New.
6150 * config/nvptx/proc.c: New.
6151 * config/nvptx/ptrlock.h: New.
6152 * config/nvptx/sem.h: New.
6153 * config/nvptx/simple-bar.h: New.
6154 * config/nvptx/target.c: New.
6155 * config/nvptx/task.c: New.
6156 * config/nvptx/team.c: New.
6157 * config/nvptx/time.c: New.
6158 * config/posix/simple-bar.h: New.
6159 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
6160 (gomp_num_teams_var): Declare.
6161 (struct gomp_thread_pool): Change threads_dock member to
6162 gomp_simple_barrier_t.
6163 [__nvptx__] (gomp_thread): New implementation.
6164 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
6165 (gomp_thread_destructor): Ditto.
6166 (gomp_init_thread_affinity): Ditto.
6167 * team.c: Guard uses of Pthreads-specific interfaces by
6168 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
6169 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
6170 * config/nvptx/alloc.c: Delete.
6171 * config/nvptx/barrier.c: Ditto.
6172 * config/nvptx/fortran.c: Ditto.
6173 * config/nvptx/iter.c: Ditto.
6174 * config/nvptx/iter_ull.c: Ditto.
6175 * config/nvptx/loop.c: Ditto.
6176 * config/nvptx/loop_ull.c: Ditto.
6177 * config/nvptx/ordered.c: Ditto.
6178 * config/nvptx/parallel.c: Ditto.
6179 * config/nvptx/priority_queue.c: Ditto.
6180 * config/nvptx/sections.c: Ditto.
6181 * config/nvptx/single.c: Ditto.
6182 * config/nvptx/splay-tree.c: Ditto.
6183 * config/nvptx/work.c: Ditto.
6184 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
6185 -foffload=-lgfortran in addition to -lgfortran.
6186 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
6187 * plugin/plugin-nvptx.c: Include <limits.h>.
6188 (struct targ_fn_descriptor): Add new fields.
6189 (struct ptx_device): Ditto. Set them...
6190 (nvptx_open_device): ...here.
6191 (nvptx_adjust_launch_bounds): New.
6192 (nvptx_host2dev): Allow NULL 'nvthd'.
6193 (nvptx_dev2host): Ditto.
6194 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
6195 (link_ptx): Adjust log sizes.
6196 (nvptx_host2dev): Allow NULL 'nvthd'.
6197 (nvptx_dev2host): Ditto.
6198 (nvptx_set_clocktick): New. Use it...
6199 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
6200 fields.
6201 (GOMP_OFFLOAD_dev2dev): New.
6202 (nvptx_adjust_launch_bounds): New.
6203 (nvptx_stacks_size): New.
6204 (nvptx_stacks_alloc): New.
6205 (nvptx_stacks_free): New.
6206 (GOMP_OFFLOAD_run): New.
6207 (GOMP_OFFLOAD_async_run): New (stub).
6208
56b1c60e
MJ
62092016-11-23 Martin Jambor <mjambor@suse.cz>
6210
6211 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
6212 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6213 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6214
b8d89b03 62152016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 6216 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
6217
6218 * plugin/hsa.h: New file.
6219 * plugin/hsa_ext_finalize.h: New file.
6220 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
6221 header file unistd.h, and functions secure_getenv, __secure_getenv,
6222 getuid, geteuid, getgid and getegid.
6223 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
6224 -D_GNU_SOURCE.
6225 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
6226 Handle various cases of secure_getenv presence, add an implementation
6227 when we can test effective UID and GID.
6228 (struct hsa_runtime_fn_info): New structure.
6229 (hsa_runtime_fn_info hsa_fns): New variable.
6230 (hsa_runtime_lib): Likewise.
6231 (support_cpu_devices): Likewise.
6232 (init_enviroment_variables): Load newly introduced ENV
6233 variables.
6234 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
6235 (hsa_fatal): Likewise.
6236 (DLSYM_FN): New macro.
6237 (init_hsa_runtime_functions): New function.
6238 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
6239 structure. Depending on environment, also allow CPU devices.
6240 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
6241 (get_kernarg_memory_region): Likewise.
6242 (GOMP_OFFLOAD_init_device): Likewise.
6243 (destroy_hsa_program): Likewise.
6244 (init_basic_kernel_info): New function.
6245 (GOMP_OFFLOAD_load_image): Use it.
6246 (create_and_finalize_hsa_program): Call hsa run-time functions via
6247 hsa_fns structure.
6248 (create_single_kernel_dispatch): Likewise.
6249 (release_kernel_dispatch): Likewise.
6250 (init_single_kernel): Likewise.
6251 (parse_target_attributes): Allow up multiple HSA grid dimensions.
6252 (get_group_size): New function.
6253 (run_kernel): Likewise.
6254 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
6255 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
6256 structure.
6257 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
6258 * testsuite/libgomp-test-support.exp.in: Likewise.
6259 * Makefile.in: Regenerated.
6260 * aclocal.m4: Likewise.
6261 * config.h.in: Likewise.
6262 * configure: Likewise.
6263 * testsuite/Makefile.in: Likewise.
6264
18d2ada8 62652016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 6266 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
6267
6268 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
6269 mapping clauses to target constructs.
6270 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
6271
84c1b9d3
MK
62722016-11-15 Matthias Klose <doko@ubuntu.com>
6273
6274 * configure: Regenerate.
6275
b4c3a85b
JJ
62762016-11-10 Jakub Jelinek <jakub@redhat.com>
6277
8ebd1b31
JJ
6278 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
6279 * omp_lib.h.in (openmp_version): Likewise.
6280 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
6281 of 201307.
6282 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6283
b4c3a85b
JJ
6284 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
6285 (fib_wrapper): Add map(from: x) clause.
6286 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
6287 (e_53_2): Likewise.
6288 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
6289 (accum): Add map(tmp) clause.
6290 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
6291 (accum): Add map(tofrom: tmp) clause.
6292 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
6293 (gramSchmidt): Likewise.
6294 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
6295 map(tofrom: sum) clause.
6296 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
6297 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
6298 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
6299 only allowed on the loop iterator.
6300 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
6301 * testsuite/libgomp.fortran/taskloop2.f90: New test.
6302 * testsuite/libgomp.fortran/taskloop4.f90: New test.
6303 * testsuite/libgomp.fortran/doacross1.f90: New test.
6304 * testsuite/libgomp.fortran/doacross3.f90: New test.
6305 * testsuite/libgomp.fortran/taskloop1.f90: New test.
6306 * testsuite/libgomp.fortran/taskloop3.f90: New test.
6307 * testsuite/libgomp.fortran/doacross2.f90: New test.
6308 * testsuite/libgomp.c/doacross-1.c (main): Add missing
6309 #pragma omp atomic read.
6310 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6311 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
6312
6668eb45
CP
63132016-11-02 Cesar Philippidis <cesar@codesourcery.com>
6314 Nathan Sidwell <nathan@acm.org>
6315
6316 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
6317 to determine default geometry.
6318 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
6319 dimension.
6320
f10e37a1
JJ
63212016-11-01 Jakub Jelinek <jakub@redhat.com>
6322
6323 * hashtab.h: Use standard GPLv3 with runtime exception
6324 boilerplate.
6325
015c7760
AH
63262016-10-27 Aldy Hernandez <aldyh@redhat.com>
6327
6328 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
6329 size when allocating new thread.
6330
20a1e5b8
MP
63312016-09-14 Marek Polacek <polacek@redhat.com>
6332
6333 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
6334
1cad9284
JJ
63352016-08-19 Jakub Jelinek <jakub@redhat.com>
6336
6337 PR fortran/71014
6338 * testsuite/libgomp.fortran/pr71014.f90: New test.
6339
2c71d454
CLT
63402016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
6341
6342 PR middle-end/70895
6343 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
6344 firstprivate clauses.
6345 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
6346 copy clauses.
6347 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6348 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
6349 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
6350 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6351 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6352 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6353 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6354 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6355 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6356 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6357 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6358 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
6359
7c713714
CLT
63602016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
6361
6362 PR fortran/70598
6363 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
6364
5c934396
JJ
63652016-08-08 Jakub Jelinek <jakub@redhat.com>
6366
6367 PR c++/58706
6368 * testsuite/libgomp.c++/pr58706.C: New test.
6369
9ef64248
TS
63702016-08-04 Thomas Schwinge <thomas@codesourcery.com>
6371
bbc79c0e
TS
6372 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
6373 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
6374 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6375 Likewise.
6376 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
6377 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
6378 Likewise.
6379 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
6380
9ef64248
TS
6381 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
6382 test, and don't hardcode -O0.
6383
c1311c86
NS
63842016-08-03 Nathan Sidwell <nathan@codesourcery.com>
6385
6386 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
6387
b1c9c068
CP
63882016-07-15 Cesar Philippidis <cesar@codesourcery.com>
6389
6390 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
6391 test.
6392
b4410f63
L
63932016-07-03 H.J. Lu <hongjiu.lu@intel.com>
6394
6395 PR middle-end/71734
6396 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
6397 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
6398
a8dbab92
JJ
63992016-07-01 Jakub Jelinek <jakub@redhat.com>
6400
6401 PR fortran/71717
6402 * testsuite/libgomp.fortran/associate3.f90: New test.
6403
9b6a8d0f
JJ
64042016-06-17 Jakub Jelinek <jakub@redhat.com>
6405
6406 * testsuite/libgomp.c++/target-21.C: New test.
6407
283635f9
JJ
64082016-06-16 Jakub Jelinek <jakub@redhat.com>
6409
6410 * testsuite/libgomp.c++/target-20.C: New test.
6411
27d6ba88
TS
64122016-06-10 Thomas Schwinge <thomas@codesourcery.com>
6413 Cesar Philippidis <cesar@codesourcery.com>
6414
6415 PR middle-end/71373
6416 * libgomp.oacc-c/nested-function-1.c: New file.
6417 * libgomp.oacc-c/nested-function-2.c: Likewise.
6418 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
6419 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
6420 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
6421
4b1ffdb1
TS
64222016-06-10 Thomas Schwinge <thomas@codesourcery.com>
6423
6424 PR c/71381
6425 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
6426 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
6427 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
6428
d821b794
CLT
64292016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
6430
6431 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
6432 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
6433
3616a8c5
CP
64342016-06-01 Cesar Philippidis <cesar@codesourcery.com>
6435
6436 PR c/70688
5eed9a88 6437 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 6438
7211a097
JJ
64392016-05-26 Jakub Jelinek <jakub@redhat.com>
6440
6441 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
6442 instead of invalid schedule(static, 0).
6443 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6444
b4557008
CLT
64452016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
6446
6447 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
6448 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
6449 parameter, use to set async stream around call to gomp_unmap_vars,
6450 call gomp_unmap_vars() with 'do_copyfrom' set to true.
6451 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
6452 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
6453 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
6454 (event_add): Add int parameter, initialize 'val' field when
6455 adding new ptx_event struct.
6456 (nvptx_evec): Adjust event_add() call arguments.
6457 (nvptx_host2dev): Likewise.
6458 (nvptx_dev2host): Likewise.
6459 (nvptx_wait_async): Likewise.
6460 (nvptx_wait_all_async): Likewise.
6461 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
6462 pass to event_add() call.
6463 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
6464 parameter.
6465 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
6466 call openacc.register_async_cleanup_func() hook.
6467 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
6468 * target.c (gomp_copy_from_async): Delete function.
6469 (gomp_map_vars): Remove async_refcount.
6470 (gomp_unmap_vars): Likewise.
6471 (gomp_load_image_to_device): Likewise.
6472 (omp_target_associate_ptr): Likewise.
6473 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
6474 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
6475 (gomp_copy_from_async): Remove.
6476
6ce13072
CLT
64772016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
6478
6479 * target.c (gomp_device_copy): New function.
6480 (gomp_copy_host2dev): Likewise.
6481 (gomp_copy_dev2host): Likewise.
6482 (gomp_free_device_memory): Likewise.
6483 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
6484 (gomp_map_pointer): Likewise.
6485 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
6486 NULL value from alloc_func plugin hook.
6487 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
6488 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
6489 (gomp_unmap_vars): Likewise.
6490 (gomp_update): Adjust to call gomp_copy_dev2host and
6491 gomp_copy_host2dev functions.
6492 (gomp_unload_image_from_device): Handle false value from
6493 unload_image_func plugin hook.
6494 (gomp_init_device): Handle false value from init_device_func
6495 plugin hook.
6496 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
6497 (omp_target_free): Adjust to call gomp_free_device_memory.
6498 (omp_target_memcpy): Handle return values from host2dev_func,
6499 dev2host_func, and dev2dev_func plugin hooks.
6500 (omp_target_memcpy_rect_worker): Likewise.
6501 (gomp_target_fini): Handle false value from fini_device_func
6502 plugin hook.
6503 * libgomp.h (struct gomp_device_descr): Adjust return type of
6504 init_device_func, fini_device_func, unload_image_func, free_func,
6505 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
6506 * oacc-init.c (acc_shutdown_1): Handle false value from
6507 fini_device_func plugin hook.
6508 * oacc-host.c (host_init_device): Change return type to bool.
6509 (host_fini_device): Likewise.
6510 (host_unload_image): Likewise.
6511 (host_free): Likewise.
6512 (host_dev2host): Likewise.
6513 (host_host2dev): Likewise.
6514 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
6515 (acc_memcpy_to_device): Likewise.
6516 (acc_memcpy_from_device): Likewise.
6517 (delete_copyout): Add libfnname parameter, handle free_func
6518 hook fatal error case.
6519 (acc_delete): Adjust delete_copyout call.
6520 (acc_copyout): Likewise.
6521 (update_dev_host): Move gomp_mutex_unlock to after
6522 host2dev/dev2host hook calls.
6523
6524 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
6525 to 'hsa_error_msg', for clarity.
6526 (hsa_fatal): Likewise.
6527 (hsa_error): New function.
6528 (init_hsa_context): Change return type to bool, adjust to return
6529 false on error.
6530 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
6531 return value.
6532 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
6533 return false on error.
6534 (get_agent_info): Adjust to return NULL on error.
6535 (destroy_hsa_program): Change return type to bool, adjust to
6536 return false on error.
6537 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
6538 (destroy_module): Change return type to bool, adjust to
6539 return false on error.
6540 (GOMP_OFFLOAD_unload_image): Likewise.
6541 (GOMP_OFFLOAD_fini_device): Likewise.
6542 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
6543 (GOMP_OFFLOAD_free): Change to return false when called.
6544 (GOMP_OFFLOAD_dev2host): Likewise.
6545 (GOMP_OFFLOAD_host2dev): Likewise.
6546 (GOMP_OFFLOAD_dev2dev): Likewise.
6547
6548 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
6549 (CUDA_CALL): Likewise.
6550 (CUDA_CALL_ASSERT): Likewise.
6551 (map_init): Change return type to bool, use CUDA_CALL* macros.
6552 (map_fini): Likewise.
6553 (init_streams_for_device): Change return type to bool, adjust
6554 call to map_init.
6555 (fini_streams_for_device): Change return type to bool, adjust
6556 call to map_fini.
6557 (select_stream_for_async): Release stream_lock before calls to
6558 GOMP_PLUGIN_fatal, adjust call to map_init.
6559 (nvptx_init): Use CUDA_CALL* macros.
6560 (nvptx_attach_host_thread_to_device): Change return type to bool,
6561 use CUDA_CALL* macros.
6562 (nvptx_open_device): Use CUDA_CALL* macros.
6563 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
6564 macros.
6565 (nvptx_get_num_devices): Use CUDA_CALL* macros.
6566 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
6567 (nvptx_exec): Use CUDA_CALL* macros.
6568 (nvptx_alloc): Use CUDA_CALL* macros.
6569 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
6570 (nvptx_host2dev): Likewise.
6571 (nvptx_dev2host): Likewise.
6572 (nvptx_wait): Use CUDA_CALL* macros.
6573 (nvptx_wait_async): Likewise.
6574 (nvptx_wait_all): Likewise.
6575 (nvptx_wait_all_async): Likewise.
6576 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
6577 use CUDA_CALL* macros, adjust call to map_fini.
6578 (GOMP_OFFLOAD_init_device): Change return type to bool,
6579 adjust code accordingly.
6580 (GOMP_OFFLOAD_fini_device): Likewise.
6581 (GOMP_OFFLOAD_load_image): Adjust calls to
6582 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
6583 use CUDA_CALL* macros.
6584 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
6585 return code.
6586 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
6587 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
6588 handle error return.
6589 (GOMP_OFFLOAD_dev2host): Likewise.
6590 (GOMP_OFFLOAD_host2dev): Likewise.
6591 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
6592 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
6593
e46c7770
CP
65942016-05-24 Cesar Philippidis <cesar@codesourcery.com>
6595
6596 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
6597 (acc_free): Likewise.
6598 (acc_memcpy_to_device): Likewise.
6599 (acc_memcpy_from_device): Likewise.
6600 (acc_deviceptr): Likewise.
6601 (acc_hostptr): Likewise.
6602 (acc_is_present): Likewise.
6603 (acc_map_data): Likewise.
6604 (acc_unmap_data): Likewise.
6605 (present_create_copy): Likewise.
6606 (delete_copyout): Likewise.
6607 (update_dev_host): Likewise.
6608 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6609 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6610 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6611 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6612 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6613 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6614 it only runs on nvptx targets.
6615 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6616 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6617 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6618 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6619 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6620 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6621 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6622 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6623 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6624 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6625 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6626 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6627 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6628 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6629 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6630 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6631 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6632 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6633 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6634 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6635 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6636 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6637 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6638
a5057543
MJ
66392016-05-23 Martin Jambor <mjambor@suse.cz>
6640
6641 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6642
e37288a6
CLT
66432016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
6644
6645 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6646 to gomp_init_targets_once.
6647 (acc_set_device_type): Remove !cached_base_dev condition on call to
6648 gomp_init_targets_once, move call to before acc_device_lock acquire,
6649 to avoid deadlock.
6650 (acc_get_device_num): Remove !cached_base_dev condition on call to
6651 gomp_init_targets_once.
6652 (acc_set_device_num): Likewise.
6653
51d9ed48
MJ
66542016-05-16 Martin Jambor <mjambor@suse.cz>
6655
92a285c1 6656 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 6657
5b37e866
NS
66582016-05-02 Nathan Sidwell <nathan@codesourcery.com>
6659
6660 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6661 expected partitioning.
6662
e7ff0319
CP
66632016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6664
6665 PR middle-end/70626
6666 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6667 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6668 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6669
c2bd3b69
AM
66702016-04-21 Alexander Monakov <amonakov@ispras.ru>
6671
6672 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6673 non-fatal.
6674
84311083
JJ
66752016-04-19 Jakub Jelinek <jakub@redhat.com>
6676
6677 PR middle-end/70680
6678 * testsuite/libgomp.c/pr70680-1.c: New test.
6679 * testsuite/libgomp.c/pr70680-2.c: New test.
6680
aadc043f
CP
66812016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6682
6683 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6684 pass parameter variables to subroutines.
6685
e387fc64
CP
66862016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6687
6688 PR middle-end/70643
6689 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6690
10c3c424
CP
66912016-04-13 Cesar Philippidis <cesar@codesourcery.com>
6692
6693 PR testsuite/68242
6694 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6695 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6696
27f9add3
TS
66972016-04-12 Thomas Schwinge <thomas@codesourcery.com>
6698
58d32aeb
TS
6699 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6700 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6701 GOACC_declare prototype.
6702
d97633ef
TS
6703 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6704 Merge this file, and...
6705 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6706 ... this file, and...
6707 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6708 ... this file, and...
6709 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6710 ... this file, and...
6711 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6712 ... this file, and...
6713 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6714 ... this file, and...
6715 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6716 ... this file, and...
6717 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6718 ... this file, and...
6719 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6720 ... this file, and...
6721 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6722 ... this file, and...
6723 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6724 ... this file, and...
6725 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6726 ... this file, and...
6727 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6728 ... this file into...
6729 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6730 file.
6731
27f9add3
TS
6732 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6733 Make failure observable.
6734
21f3a236
JJ
67352016-04-12 Jakub Jelinek <jakub@redhat.com>
6736
6737 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6738 field.
6739 * target.c (gomp_target_fallback_firstprivate,
6740 gomp_target_unshare_firstprivate): Removed.
6741 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6742 before waiting for dependencies.
6743 (gomp_target_task_fn): Don't copy firstprivate vars here.
6744 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6745 firstprivate_copies here.
6746 (gomp_create_target_task): Don't initialize firstprivate_copies field.
6747 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6748 explicit/implicit firstprivate.
6749
c42cfb5c
CP
67502016-04-08 Cesar Philippidis <cesar@codesourcery.com>
6751
6752 PR lto/70289
6753 PR ipa/70348
6754 PR tree-optimization/70373
6755 PR middle-end/70533
6756 PR middle-end/70534
6757 PR middle-end/70535
6758 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6759 test.
6760 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6761 test.
6762 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6763 test.
6764 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6765 test.
6766 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6767 test.
6768 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6769 test.
6770 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6771 test.
6772 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6773 test.
6774 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6775 test.
6776 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6777 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6778 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6779 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6780 test.
6781 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6782 test.
6783 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6784 test.
6785 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6786 test.
6787 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6788 coverage.
6789 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6790 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6791 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6792 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6793 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6794 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6795 coverage.
6796 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6797 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6798 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6799 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6800 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6801 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6802 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6803 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6804 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6805 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6806 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6807 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6808 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6809 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6810 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6811
2620c80d
TS
68122016-03-30 Thomas Schwinge <thomas@codesourcery.com>
6813 James Norris <jnorris@codesourcery.com>
6814 Nathan Sidwell <nathan@codesourcery.com>
6815 Julian Brown <julian@codesourcery.com>
6816 Cesar Philippidis <cesar@codesourcery.com>
6817 Chung-Lin Tang <cltang@codesourcery.com>
6818 Tom de Vries <tom@codesourcery.com>
6819
6820 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6821 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6822 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6823 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6824 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6825 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6826 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6827 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6828 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6829 XFAIL.
6830 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6831 Incorporate...
6832 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6833 file.
6834 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6835 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6836 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6837 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6838 Likewise.
6839 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6840 Likewise.
6841 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6842 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6843 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6844 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6845 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6846 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6847 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6848 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6849 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6850 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6851 Likewise.
6852 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6853 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6854 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6855 file...
6856 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6857 file into...
6858 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6859 file. Update.
6860 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6861 file.
6862 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6863 Likewise.
6864 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6865 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6866 ... this new file. Update.
6867 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6868 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6869 ... this new file. Update.
6870 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6871 file. Incorporate...
6872 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6873 file, and...
6874 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6875 file, and...
6876 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6877 file.
6878 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6879
ce83104b
TS
68802016-03-29 Thomas Schwinge <thomas@codesourcery.com>
6881
6882 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6883 set-torture-options.
6884
6e0df3b7
TS
68852016-03-24 Thomas Schwinge <thomas@codesourcery.com>
6886
6887 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6888 gcc-dg-runtest.
6889 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6890 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6891 -fno-builtin-acc_on_device instead of -O0.
6892 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6893 -O0.
6894 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6895 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6896 Likewise.
6897 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6898 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6899 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6900 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6901 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6902 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6903 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6904 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6905 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6906 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6907 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6908 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6909 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6910 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6911 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6912 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6913 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6914 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6915 Don't specify -O2.
6916 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6917 Likewise.
6918 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6919 Likewise.
6920
f9c8babb
ML
69212016-03-24 Martin Liska <mliska@suse.cz>
6922
6923 * plugin/plugin-hsa.c (packet_store_release): New function
6924 that is taken from the HSA runtime manual.
6925 (GOMP_OFFLOAD_run): Use the function.
6926
04833609
JJ
69272016-03-23 Jakub Jelinek <jakub@redhat.com>
6928
6929 PR c++/70376
6930 * testsuite/libgomp.c++/pr70376.C: New test.
6931
d79ee524
TV
69322016-03-23 Tom de Vries <tom@codesourcery.com>
6933
6934 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6935 initialization of lresult and lvresult.
6936 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6937
b6d1f2b5
JN
69382016-03-23 James Norris <jnorris@codesourcery.com>
6939 Daichi Fukuoka <dc-fukuoka@sgi.com>
6940
6941 PR libgomp/69414
6942 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6943 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6944 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6945 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6946
7397fce2
ML
69472016-03-23 Martin Liska <mliska@suse.cz>
6948
6949 PR hsa/70337
6950 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6951 argument just in case a dispatched kernel uses that argument.
6952
ee2e7d51
TS
69532016-03-16 Thomas Schwinge <thomas@codesourcery.com>
6954
6955 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6956 -ftree-parallelize-loops/-fopenacc changes.
6957 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6958 Likewise.
6959 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6960 Likewise.
6961 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6962 Likewise.
6963 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6964 Likewise.
6965 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6966 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6967
be9f7143
TS
69682016-03-13 Thomas Schwinge <thomas@codesourcery.com>
6969
6970 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6971 always_ld_library_path the path to libgcc_s.
6972
f6c1032d
CP
69732016-03-10 Cesar Philippidis <cesar@codesourcery.com>
6974
6975 PR testsuite/70009
6976 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6977
5a6452e6
TV
69782016-03-09 Tom de Vries <tom@codesourcery.com>
6979
6980 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6981 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6982 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6983 Same.
6984 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6985 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6986 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6987 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6988
96a71bd5
MJ
69892016-03-07 Martin Jambor <mjambor@suse.cz>
6990
6991 * testsuite/lib/libgomp.exp
6992 (check_effective_target_hsa_offloading_selected_nocache): New.
6993 (check_effective_target_hsa_offloading_selected): Likewise.
6994 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6995 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6996 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6997 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6998 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6999 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7000 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7001 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7002 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7003 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7004 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7005 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7006 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7007 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7008 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7009 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7010 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7011
02e0b5b2
MJ
70122016-03-07 Martin Jambor <mjambor@suse.cz>
7013
7014 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
7015 non-shared memory accelerators.
7016 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
7017 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
7018 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
7019 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
7020 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7021 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7022 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7023 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7024 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7025
45548f30
MJ
70262016-03-07 Martin Jambor <mjambor@suse.cz>
7027
7028 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
7029 ALWAYS_CFLAGS.
7030
da3d46cb
JJ
70312016-03-02 Jakub Jelinek <jakub@redhat.com>
7032
7033 PR libgomp/69555
7034 * testsuite/libgomp.c++/pr69555-1.C: New test.
7035 * testsuite/libgomp.c++/pr69555-2.C: New test.
7036
622174b2
KM
70372016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
7038 Martin Jambor <mjambor@suse.cz>
7039
7040 * testsuite/lib/libgomp.exp
7041 (check_effective_target_offload_device_shared_as): New proc.
7042 * testsuite/libgomp.c++/declare_target-1.C: New test.
7043
e6861a99
IV
70442016-02-25 Ilya Verbin <ilya.verbin@intel.com>
7045
7046 PR driver/68463
7047 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
7048
f99c3557
TS
70492016-02-23 Thomas Schwinge <thomas@codesourcery.com>
7050
7051 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
7052 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
7053 dims.
7054 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
7055 -ftree-parallelize-loops/-fopenacc changes.
7056 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
7057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
7058 Likewise.
7059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
7060 Likewise.
7061 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
7062 Likewise.
7063 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
7064 Likewise.
7065 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
7066 Likewise.
7067 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
7068 Likewise.
7069 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
7070 Likewise.
7071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
7072 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
7073 Likewise.
7074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
7075 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
7076 Likewise.
7077 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
7078 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
7079 Likewise.
7080
d5ace3b5
CP
70812016-02-22 Cesar Philippidis <cesar@codesourcery.com>
7082
7083 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
7084
f3609a89
JJ
70852016-02-19 Jakub Jelinek <jakub@redhat.com>
7086
7087 PR driver/69805
7088 * testsuite/libgomp.c/pr69805.c: New test.
7089
2175df99
TV
70902016-02-16 Tom de Vries <tom@codesourcery.com>
7091
7092 PR lto/67709
7093 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
7094
17b6426c
TV
70952016-02-09 Tom de Vries <tom@codesourcery.com>
7096
7097 PR tree-optimization/69599
7098 * testsuite/libgomp.c/omp-nested-3.c: New test.
7099 * testsuite/libgomp.c/pr46032-2.c: New test.
7100 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
7101 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
7102
34df756c
TV
71032016-02-09 Tom de Vries <tom@codesourcery.com>
7104
7105 PR lto/69707
7106 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
7107
5854ee30
AM
71082016-02-02 Alexander Monakov <amonakov@ispras.ru>
7109
7110 * testsuite/libgomp.c/target-31.c: Fix testcase.
7111
e70b6ad7
AM
71122016-02-02 Alexander Monakov <amonakov@ispras.ru>
7113
7114 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
7115 clause.
7116 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
7117 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
7118 reduction and map clauses.
7119 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7120
bd78a45f
JN
71212016-02-02 James Norris <jnorris@codesourcery.com>
7122
7123 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
7124
41d809d3
TS
71252016-02-02 Thomas Schwinge <thomas@codesourcery.com>
7126
18f60146
TS
7127 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
7128 * oacc-parallel.c (GOACC_host_data): Remove function definition.
7129
1a06f5e6
TS
7130 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
7131 cases.
7132
033ff3d1
TS
7133 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
7134 variables.
7135 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
7136 (hsa_kmt_lib): Set variables.
7137 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
7138 always_ld_library_path.
7139 * Makefile.in: Regenerate.
7140 * configure: Likewise.
7141 * testsuite/Makefile.in: Likewise.
7142
4a88d9b7
TS
7143 * plugin/configfrag.ac (offload_additional_options)
7144 (offload_additional_lib_paths): Don't amend for hsa offloading.
7145 * configure: Regenerate.
7146
41d809d3
TS
7147 * plugin/configfrag.ac: Don't configure for offloading target if
7148 we don't build the corresponding plugin.
7149 * configure: Regenerate.
7150
b6adbb9f
NS
71512016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7152
7153 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
7154 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
7155
8dfdb419
TV
71562016-01-26 Tom de Vries <tom@codesourcery.com>
7157
7158 PR tree-optimization/69110
7159 * testsuite/libgomp.c/pr69110.c: New test.
7160
02ef53f2
RB
71612016-01-25 Richard Biener <rguenther@suse.de>
7162
7163 PR lto/69393
7164 * testsuite/libgomp.c++/pr69393.C: New testcase.
7165
eb4048f2
IV
71662016-01-22 Ilya Verbin <ilya.verbin@intel.com>
7167
7168 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
7169 function wasn't mapped to the device with non-shared memory.
7170
b235cdd5
IV
71712016-01-20 Ilya Verbin <ilya.verbin@intel.com>
7172
7173 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
7174
b2b40051
MJ
71752016-01-19 Martin Jambor <mjambor@suse.cz>
7176 Martin Liska <mliska@suse.cz>
7177
7178 * plugin/Makefrag.am: Add HSA plugin requirements.
7179 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
7180 (HSA_RUNTIME_LIB): Likewise.
7181 (HSA_RUNTIME_CPPFLAGS): Likewise.
7182 (HSA_RUNTIME_INCLUDE): New substitution.
7183 (HSA_RUNTIME_LIB): Likewise.
7184 (HSA_RUNTIME_LDFLAGS): Likewise.
7185 (hsa-runtime): New configure option.
7186 (hsa-runtime-include): Likewise.
7187 (hsa-runtime-lib): Likewise.
7188 (PLUGIN_HSA): New substitution variable.
7189 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
7190 configure options.
7191 (PLUGIN_HSA_CPPFLAGS): Likewise.
7192 (PLUGIN_HSA_LDFLAGS): Likewise.
7193 (PLUGIN_HSA_LIBS): Likewise.
7194 Check that we have access to HSA run-time.
7195 * libgomp-plugin.h (offload_target_type): New element
7196 OFFLOAD_TARGET_TYPE_HSA.
7197 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
7198 args.
7199 (bool gomp_create_target_task): Updated.
7200 (gomp_device_descr): Extra parameter of run_func and async_run_func,
7201 new field can_run_func.
7202 * libgomp_g.h (GOMP_target_ext): Update prototype.
7203 * oacc-host.c (host_run): Added a new parameter args.
7204 * target.c (calculate_firstprivate_requirements): New function.
7205 (copy_firstprivate_data): Likewise.
7206 (gomp_target_fallback_firstprivate): Use them.
7207 (gomp_target_unshare_firstprivate): New function.
7208 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
7209 devices.
7210 (GOMP_target): Do host fallback for all shared memory devices. Do not
7211 pass any args to plugins.
7212 (GOMP_target_ext): Introduce device-specific argument parameter args.
7213 Allow host fallback if device shares memory. Do not remap data if
7214 device has shared memory.
7215 (gomp_target_task_fn): Likewise. Also treat shared memory devices
7216 like host fallback for mappings.
7217 (GOMP_target_data): Treat shared memory devices like host fallback.
7218 (GOMP_target_data_ext): Likewise.
7219 (GOMP_target_update): Likewise.
7220 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
7221 gomp_create_target_task.
7222 (GOMP_target_enter_exit_data): Likewise.
7223 (omp_target_alloc): Treat shared memory devices like host fallback.
7224 (omp_target_free): Likewise.
7225 (omp_target_is_present): Likewise.
7226 (omp_target_memcpy): Likewise.
7227 (omp_target_memcpy_rect): Likewise.
7228 (omp_target_associate_ptr): Likewise.
7229 (gomp_load_plugin_for_device): Also load can_run.
7230 * task.c (GOMP_PLUGIN_target_task_completion): Free
7231 firstprivate_copies.
7232 (gomp_create_target_task): Accept new argument args and store it to
7233 ttask.
7234 * plugin/plugin-hsa.c: New file.
7235
5d7804a9
TV
72362016-01-18 Tom de Vries <tom@codesourcery.com>
7237
7238 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
7239 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
7240 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
7241 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
7242 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
7243 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
7244 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
7245 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
7246 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
7247 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
7248 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7249 Same.
7250 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7251 Same.
7252 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
7253 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
7254 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
7255 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
7256 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
7257 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
7258 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
7259 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7260 Same.
7261 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
7262
cb11f3cf
JJ
72632016-01-15 Jakub Jelinek <jakub@redhat.com>
7264
7265 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
7266
33a126a6
CP
72672016-01-15 Cesar Philippidis <cesar@codesourcery.com>
7268
7269 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
7270
cdf6119d
JN
72712016-01-12 James Norris <jnorris@codesourcery.com>
7272
7273 * libgomp.texi: Updates for OpenACC.
7274
0d58938e
AM
72752016-01-11 Alexander Monakov <amonakov@ispras.ru>
7276
7277 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
7278
95918b49
L
72792016-01-07 H.J. Lu <hongjiu.lu@intel.com>
7280
7281 PR fortran/66680
7282 * testsuite/libgomp.fortran/pr66680.f90: New test.
7283
8fc708b7
JJ
72842016-01-07 Jakub Jelinek <jakub@redhat.com>
7285
7286 PR middle-end/68960
7287 * testsuite/libgomp.c/pr68960.c: New test.
7288
e9b596c1
NS
72892016-01-06 Nathan Sidwell <nathan@acm.org>
7290
1a14faf2 7291 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
7292 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
7293
21fa2a29
JJ
72942016-01-04 Jakub Jelinek <jakub@redhat.com>
7295
818ab71a
JJ
7296 Update copyright years.
7297
21fa2a29
JJ
7298 * libgomp.texi: Bump @copying's copyright year.
7299
9310efbc
NS
73002015-12-31 Nathan Sidwell <nathan@acm.org>
7301
7302 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
7303 dg-additional-options syntax.
7304 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
7305 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
7306 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
7307 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7308 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
7309 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
7310 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
7311 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
7312 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
7313 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
7314 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7315 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
7316 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
7317 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
7318 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
7319 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
7320 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7321 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7322
4a38b02b
IV
73232015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7324
7325 * libgomp.h (REFCOUNT_LINK): Define.
7326 (struct splay_tree_key_s): Add link_key.
7327 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
7328 Replace target address of the pointer with target address of newly
7329 mapped object in the splay tree. Set link pointer on target to the
7330 device address of the mapped object.
7331 (gomp_unmap_vars): Restore target address of the pointer in the splay
7332 tree for REFCOUNT_LINK objects after unmapping.
7333 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
7334 declare target link" objects.
7335 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
7336 "omp declare target link" objects, which were mapped for the image.
7337 (gomp_exit_data): Restore target address of the pointer in the splay
7338 tree for REFCOUNT_LINK objects after unmapping.
7339 * testsuite/libgomp.c/target-link-1.c: New file.
7340
d84ffc0a
IV
73412015-12-14 Ilya Verbin <ilya.verbin@intel.com>
7342
7343 * libgomp.h (gomp_device_state): New enum.
7344 (struct gomp_device_descr): Replace is_initialized with state.
7345 (gomp_fini_device): Remove declaration.
7346 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
7347 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
7348 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
7349 (acc_set_device_type): Use state instead of is_initialized.
7350 (acc_set_device_num): Likewise.
7351 * target.c (resolve_device): Use state instead of is_initialized.
7352 Do not initialize finalized device.
7353 (gomp_map_vars): Do nothing if device is finalized.
7354 (gomp_unmap_vars): Likewise.
7355 (gomp_update): Likewise.
7356 (GOMP_offload_register_ver): Use state instead of is_initialized.
7357 (GOMP_offload_unregister_ver): Likewise.
7358 (gomp_init_device): Likewise.
7359 (gomp_unload_device): Likewise.
7360 (gomp_fini_device): Remove.
7361 (gomp_get_target_fn_addr): Do nothing if device is finalized.
7362 (GOMP_target): Go to host fallback if device is finalized.
7363 (GOMP_target_ext): Likewise.
7364 (gomp_exit_data): Do nothing if device is finalized.
7365 (gomp_target_task_fn): Go to host fallback if device is finalized.
7366 (gomp_target_fini): New static function.
7367 (gomp_target_init): Use state instead of is_initialized.
7368 Call gomp_target_fini at exit.
7369
76680678
TV
73702015-12-09 Tom de Vries <tom@codesourcery.com>
7371
7372 PR tree-optimization/68716
7373 * testsuite/libgomp.c/omp-nested-2.c: New test.
7374
ff7a55bf
TS
73752015-12-02 Thomas Schwinge <thomas@codesourcery.com>
7376
7377 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
7378 target openacc_nvidia_accel_selected.
7379 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
7380 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
7381 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
7382 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
7383
37d5ad46
JB
73842015-12-01 Julian Brown <julian@codesourcery.com>
7385 James Norris <James_Norris@mentor.com>
7386
7387 * oacc-parallel.c (GOACC_host_data): New function.
7388 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
7389 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
7390 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
7391 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
7392 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
7393 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
7394 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
7395
db941d7e
CP
73962015-11-30 James Norris <jnorris@codesourcery.com>
7397 Cesar Philippidis <cesar@codesourcery.com>
7398
7399 libgomp/
7400 * libgomp.oacc-fortran/routine-5.f90: New test.
7401 * libgomp.oacc-fortran/routine-7.f90: New test.
7402 * libgomp.oacc-fortran/routine-9.f90: New test.
7403
e0ca27c5
TV
74042015-11-30 Tom de Vries <tom@codesourcery.com>
7405
7406 PR tree-optimization/46032
7407 * testsuite/libgomp.c/pr46032.c: New test.
7408
aec17bfe
JJ
74092015-11-27 Jakub Jelinek <jakub@redhat.com>
7410
8e4e4719
JJ
7411 PR libgomp/68579
7412 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
7413 (gomp_create_target_task): Call it before freeing
7414 GOMP_TARGET_TASK_DATA tasks.
7415
aec17bfe
JJ
7416 PR c/63326
7417 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
7418 in between case label and OpenMP standalone directives.
7419 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
7420
6cfe90e6
DE
74212015-11-26 David Edelsohn <dje.gcc@gmail.com>
7422
7423 * configure: Regenerate.
7424
0e65fd7d
JJ
74252015-11-26 Jakub Jelinek <jakub@redhat.com>
7426
7427 * testsuite/libgomp.c/target-35.c: New test.
7428
dc7a8b4b
JN
74292015-11-22 James Norris <jnorris@codesourcery.com>
7430 Cesar Philippidis <cesar@codesourcery.com>
7431
7432 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
7433 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7434 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7435 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7436 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7437
48a78aee
JJ
74382015-11-20 Jakub Jelinek <jakub@redhat.com>
7439
7440 PR middle-end/68221
7441 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
7442 * testsuite/libgomp.c/reduction-12.c: Likewise.
7443 * testsuite/libgomp.c++/reduction-11.C: Likewise.
7444 * testsuite/libgomp.c++/reduction-12.C: Likewise.
7445
2d256816
NS
74462015-11-19 Nathan Sidwell <nathan@codesourcery.com>
7447
7448 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
7449 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
7450 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
7451 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
7452 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
7453 and fix.
7454 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7455 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7456
33f47f42
NS
74572015-11-18 Nathan Sidwell <nathan@codesourcery.com>
7458
7459 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
7460 worker & gang cases.
7461 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7462
3d7bfee0
CP
74632015-11-17 Cesar Philippidis <cesar@codesourcery.com>
7464
7465 * config/nvptx/priority_queue.c: New file.
7466
00b9bd52
JJ
74672015-11-14 Jakub Jelinek <jakub@redhat.com>
7468
7469 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
7470 sections.
7471
e4606348
JJ
74722015-11-14 Jakub Jelinek <jakub@redhat.com>
7473 Aldy Hernandez <aldyh@redhat.com>
7474 Ilya Verbin <ilya.verbin@intel.com>
7475
7476 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
7477 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
7478 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
7479 iterators or IV by chunk size.
7480 * parallel.c (gomp_resolve_num_threads): Don't assume that
7481 if thr->ts.team is non-NULL, then pool must be non-NULL.
7482 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
7483 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
7484 GOMP_PLUGIN_target_task_completion.
7485 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
7486 * Makefile.in: Regenerate.
7487 * libgomp.h: Shuffle prototypes and forward definitions around so
7488 priority queues can be defined.
7489 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
7490 (enum gomp_target_task_state): New enum.
7491 (struct gomp_target_task): Add state, tgt, task and team fields.
7492 (gomp_create_target_task): Change return type to bool, add
7493 state argument.
7494 (gomp_target_task_fn): Change return type to bool.
7495 (struct gomp_device_descr): Add async_run_func.
7496 (struct gomp_task): Remove children, next_child, prev_child,
7497 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
7498 Add pnode field.
7499 (struct gomp_taskgroup): Remove children.
7500 Add taskgroup_queue.
7501 (struct gomp_team): Change task_queue type to a priority queue.
7502 (splay_compare): Define inline.
7503 (priority_queue_offset): New.
7504 (priority_node_to_task): New.
7505 (task_to_priority_node): New.
7506 * oacc-mem.c: Do not include splay-tree.h.
7507 * priority_queue.c: New file.
7508 * priority_queue.h: New file.
7509 * splay-tree.c: Do not include splay-tree.h.
7510 (splay_tree_foreach_internal): New.
7511 (splay_tree_foreach): New.
7512 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
7513 (splay_tree_callback): Define typedef.
7514 * target.c (splay_compare): Move to libgomp.h.
7515 (GOMP_target): Don't adjust *thr in any way around running offloaded
7516 task.
7517 (GOMP_target_ext): Likewise. Handle target nowait.
7518 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
7519 return value from gomp_create_target_task, if false, fallthrough
7520 as if no dependencies exist.
7521 (gomp_target_task_fn): Change return type to bool, return true
7522 if the task should have another part scheduled later. Handle
7523 target nowait.
7524 (gomp_load_plugin_for_device): Initialize async_run.
7525 * task.c (gomp_init_task): Initialize children_queue.
7526 (gomp_clear_parent_in_list): New.
7527 (gomp_clear_parent_in_tree): New.
7528 (gomp_clear_parent): Handle priorities.
7529 (GOMP_task): Likewise.
7530 (priority_queue_move_task_first,
7531 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
7532 New functions.
7533 (gomp_create_target_task): Use priority queues. Change return type
7534 to bool, add state argument, return false if for async
7535 {{enter,exit} data,update} constructs no dependencies need to be
7536 waited for, handle target nowait. Set task->fn to NULL instead of
7537 gomp_target_task_fn.
7538 (verify_children_queue): Remove.
7539 (priority_list_upgrade_task): New.
7540 (priority_queue_upgrade_task): New.
7541 (verify_task_queue): Remove.
7542 (priority_list_downgrade_task): New.
7543 (priority_queue_downgrade_task): New.
7544 (gomp_task_run_pre): Use priority queues.
7545 Abstract code out to priority_queue_downgrade_task.
7546 (gomp_task_run_post_handle_dependers): Use priority queues.
7547 (gomp_task_run_post_remove_parent): Likewise.
7548 (gomp_task_run_post_remove_taskgroup): Likewise.
7549 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
7550 tasks specially.
7551 (GOMP_taskwait): Likewise.
7552 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
7553 priority-queue_upgrade_task.
7554 (GOMP_taskgroup_start): Use priority queues.
7555 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
7556 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
7557 barrier.
7558 * taskloop.c (GOMP_taskloop): Handle priorities.
7559 * team.c (gomp_new_team): Call priority_queue_init.
7560 (free_team): Call priority_queue_free.
7561 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
7562 team created for target nowait in implicit parallel region.
7563 (gomp_team_start): For nested check, test thr->ts.level instead of
7564 thr->ts.team != NULL.
7565 * testsuite/libgomp.c/doacross-3.c: New test.
7566 * testsuite/libgomp.c/ordered-5.c: New test.
7567 * testsuite/libgomp.c/priority.c: New test.
7568 * testsuite/libgomp.c/target-31.c: New test.
7569 * testsuite/libgomp.c/target-32.c: New test.
7570 * testsuite/libgomp.c/target-33.c: New test.
7571 * testsuite/libgomp.c/target-34.c: New test.
7572
1d1ab74f
NS
75732015-11-13 Nathan Sidwell <nathan@codesourcery.com>
7574
c5a64cfe
NS
7575 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
7576
1d1ab74f
NS
7577 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
7578 loop is sequential.
7579
dd3c1b14
NS
75802015-11-13 Nathan Sidwell <nathan@codesourcery.com>
7581
7582 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
7583 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
7584
6e232ba4
JN
75852015-11-12 James Norris <jnorris@codesourcery.com>
7586 Joseph Myers <joseph@codesourcery.com>
7587
7588 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
7589 * oacc-parallel.c (GOACC_declare): New function.
7590 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
7591 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
7592 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
7593 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
7594 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
7595
fffeedeb
NS
75962015-11-12 Nathan Sidwell <nathan@codesourcery.com>
7597
7598 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
7599
182190f2
NS
76002015-11-1 Nathan Sidwell <nathan@codesourcery.com>
7601
7602 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7603 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7604
36fa0f5f
NS
76052015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7606
d350c40c
NS
7607 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7608 inadvertent commit.
7609
76102015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7611
36fa0f5f
NS
7612 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7613 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7614 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7615 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7616 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7617
66a5f0b4
TS
76182015-11-06 Thomas Schwinge <thomas@codesourcery.com>
7619
7620 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7621 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7622
e01d41e5
JJ
76232015-11-05 Jakub Jelinek <jakub@redhat.com>
7624 Ilya Verbin <ilya.verbin@intel.com>
7625
7626 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7627 GOMP_loop_nonmonotonic_dynamic_start,
7628 GOMP_loop_nonmonotonic_guided_next,
7629 GOMP_loop_nonmonotonic_guided_start,
7630 GOMP_loop_ull_nonmonotonic_dynamic_next,
7631 GOMP_loop_ull_nonmonotonic_dynamic_start,
7632 GOMP_loop_ull_nonmonotonic_guided_next,
7633 GOMP_loop_ull_nonmonotonic_guided_start,
7634 GOMP_parallel_loop_nonmonotonic_dynamic,
7635 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7636 (GOMP_target_41): Renamed to ...
7637 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7638 arguments.
7639 (GOMP_target_data_41): Renamed to ...
7640 (GOMP_target_data_ext): ... this.
7641 (GOMP_target_update_41): Renamed to ...
7642 (GOMP_target_update_ext): ... this.
7643 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7644 GOMP_target_data_ext and GOMP_target_update_ext instead of
7645 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7646 Export GOMP_loop_nonmonotonic_dynamic_next,
7647 GOMP_loop_nonmonotonic_dynamic_start,
7648 GOMP_loop_nonmonotonic_guided_next,
7649 GOMP_loop_nonmonotonic_guided_start,
7650 GOMP_loop_ull_nonmonotonic_dynamic_next,
7651 GOMP_loop_ull_nonmonotonic_dynamic_start,
7652 GOMP_loop_ull_nonmonotonic_guided_next,
7653 GOMP_loop_ull_nonmonotonic_guided_start,
7654 GOMP_parallel_loop_nonmonotonic_dynamic and
7655 GOMP_parallel_loop_nonmonotonic_guided.
7656 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7657 GOMP_parallel_loop_nonmonotonic_guided,
7658 GOMP_loop_nonmonotonic_dynamic_start,
7659 GOMP_loop_nonmonotonic_guided_start,
7660 GOMP_loop_nonmonotonic_dynamic_next,
7661 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7662 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7663 GOMP_loop_ull_nonmonotonic_guided_start,
7664 GOMP_loop_ull_nonmonotonic_dynamic_next,
7665 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7666 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7667 functions.
7668 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
7669 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7670 Use gomp_map_val function.
7671 (gomp_target_fallback_firstprivate): New static function.
7672 (GOMP_target_41): Renamed to ...
7673 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7674 arguments. Move firstprivate fallback handling into a new
7675 function.
7676 (GOMP_target_data_41): Renamed to ...
7677 (GOMP_target_data_ext): ... this.
7678 (GOMP_target_update_41): Renamed to ...
7679 (GOMP_target_update_ext): ... this.
7680 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7681 gomp_map_0len_lookup instead of gomp_map_lookup.
7682 (omp_target_is_present): Use gomp_map_0len_lookup instead of
7683 gomp_map_lookup.
7684 * testsuite/libgomp.c/target-28.c: Likewise.
7685 * testsuite/libgomp.c/monotonic-1.c: New test.
7686 * testsuite/libgomp.c/monotonic-2.c: New test.
7687 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7688 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7689 * testsuite/libgomp.c/pr66199-5.c: New test.
7690 * testsuite/libgomp.c/pr66199-6.c: New test.
7691 * testsuite/libgomp.c/pr66199-7.c: New test.
7692 * testsuite/libgomp.c/pr66199-8.c: New test.
7693 * testsuite/libgomp.c/pr66199-9.c: New test.
7694 * testsuite/libgomp.c/reduction-11.c: New test.
7695 * testsuite/libgomp.c/reduction-12.c: New test.
7696 * testsuite/libgomp.c/reduction-13.c: New test.
7697 * testsuite/libgomp.c/reduction-14.c: New test.
7698 * testsuite/libgomp.c/reduction-15.c: New test.
7699 * testsuite/libgomp.c/target-12.c (main): Adjust for
7700 omp_target_is_present change for one-past-last element.
7701 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7702 the same var is both mapped and privatized.
7703 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7704 handling of zero-length array sections.
7705 * testsuite/libgomp.c/target-28.c: New test.
7706 * testsuite/libgomp.c/target-29.c: New test.
7707 * testsuite/libgomp.c/target-30.c: New test.
7708 * testsuite/libgomp.c/target-teams-1.c: New test.
7709 * testsuite/libgomp.c++/member-6.C: New test.
7710 * testsuite/libgomp.c++/member-7.C: New test.
7711 * testsuite/libgomp.c++/monotonic-1.C: New test.
7712 * testsuite/libgomp.c++/monotonic-2.C: New test.
7713 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7714 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7715 * testsuite/libgomp.c++/pr66199-3.C: New test.
7716 * testsuite/libgomp.c++/pr66199-4.C: New test.
7717 * testsuite/libgomp.c++/pr66199-5.C: New test.
7718 * testsuite/libgomp.c++/pr66199-6.C: New test.
7719 * testsuite/libgomp.c++/pr66199-7.C: New test.
7720 * testsuite/libgomp.c++/pr66199-8.C: New test.
7721 * testsuite/libgomp.c++/pr66199-9.C: New test.
7722 * testsuite/libgomp.c++/reduction-11.C: New test.
7723 * testsuite/libgomp.c++/reduction-12.C: New test.
7724 * testsuite/libgomp.c++/target-13.C: New test.
7725 * testsuite/libgomp.c++/target-14.C: New test.
7726 * testsuite/libgomp.c++/target-15.C: New test.
7727 * testsuite/libgomp.c++/target-16.C: New test.
7728 * testsuite/libgomp.c++/target-17.C: New test.
7729 * testsuite/libgomp.c++/target-18.C: New test.
7730 * testsuite/libgomp.c++/target-19.C: New test.
7731
ccc8282b
NS
77322015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7733
7734 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7735 and reduction copy.
7736 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7737 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7738 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7739 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7740 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7741 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7742 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7743 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7744 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7745 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7746 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7747 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7748 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7749 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7750
5d6823a2
NS
77512015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7752
7753 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7754 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7755 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7756 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7757 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7758 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7759 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7760 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7761
5c06742f
NS
77622015-11-03 Nathan Sidwell <nathan@codesourcery.com>
7763
7764 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7765 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7766 (GOMP_OFFLOAD_openacc_parallel): Likewise.
7767 * oacc-host.c (host_openacc_exec): Likewise.
7768 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7769
4bf9e5a8
TS
77702015-11-03 Julian Brown <julian@codesourcery.com>
7771 Thomas Schwinge <thomas@codesourcery.com>
7772
7773 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7774 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7775 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7776 Likewise.
7777 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7778 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7779
77802015-11-03 James Norris <jnorris@codesourcery.com>
7781
7782 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7783 file.
7784 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7785 Likewise.
7786 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7787 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7788 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7789 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7790 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7791
a0e701d8
NS
77922015-10-29 Nathan Sidwell <nathan@codesourcery.com>
7793
7794 * openacc.h (enum acc_device_t): Reformat. Ensure layout
7795 compatibility.
7796 (enum acc_async_t): Reformat.
7797 (acc_on_device): Declare compatible with builtin and provide C++
7798 wrapper.
7799 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7800
41e977ac
TS
78012015-10-29 Thomas Schwinge <thomas@codesourcery.com>
7802 Cesar Philippidis <cesar@codesourcery.com>
7803
7804 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7805 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7806 ... this. Add a description of the test at the top of the file.
7807 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7808 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7809 ... this. Add a description of the test at the top of the file.
7810
e3091406
NS
78112015-10-28 Nathan Sidwell <nathan@codesourcery.com>
7812
7813 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7814 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7815 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7816 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7817 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7818 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7819
a1c1908b
NS
78202015-10-27 Nathan Sidwell <nathan@codesourcery.com>
7821
7822 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7823 dimensions.
7824
b3962a4a
TS
78252015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7826
7827 PR testsuite/68063
7828 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7829
88bae6f4
TS
78302015-10-27 James Norris <jnorris@codesourcery.com>
7831
7832 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7833 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7834
8baa7864
TS
78352015-10-26 Thomas Schwinge <thomas@codesourcery.com>
7836
bdeb752c
TS
7837 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7838 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7839
ecd4fd43
TS
7840 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7841 acc_device_nvidia usage.
7842 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7843 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7844 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7845
aa8b7d30
TS
7846 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7847 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7848
7c8f138d
TS
7849 PR libgomp/66518
7850 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7851
8baa7864
TS
7852 PR libgomp/65437
7853 PR libgomp/66518
7854 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7855 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7856
88ebcde5
TV
78572015-10-23 Tom de Vries <tom@codesourcery.com>
7858
7859 PR testsuite/68063
7860 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7861
9ef83c04
NS
78622015-10-20 Nathan Sidwell <nathan@codesourcery.com>
7863
7864 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7865 vector_length.
7866 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7867
3837c6d6
IV
78682015-10-14 Ilya Verbin <ilya.verbin@intel.com>
7869 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
7870
7871 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7872 to 0 when mapnum is 0.
7873
ac8a1965
SH
78742015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
7875
7876 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7877 Cast to int from int32_t.
7878
d9a6bd32
JJ
78792015-10-13 Jakub Jelinek <jakub@redhat.com>
7880 Aldy Hernandez <aldyh@redhat.com>
7881 Ilya Verbin <ilya.verbin@intel.com>
7882
7883 * config/linux/affinity.c (omp_get_place_num_procs,
7884 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7885 * config/linux/doacross.h: New file.
7886 * config/posix/affinity.c (omp_get_place_num_procs,
7887 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7888 * config/posix/doacross.h: New file.
7889 * env.c: Include gomp-constants.h.
7890 (struct gomp_task_icv): Rename run_sched_modifier to
7891 run_sched_chunk_size.
7892 (gomp_max_task_priority_var): New variable.
7893 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7894 (handle_omp_display_env): Change _OPENMP value from 201307 to
7895 201511. Print OMP_MAX_TASK_PRIORITY.
7896 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7897 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7898 chunk_size and run_sched_modifier to run_sched_chunk_size.
7899 (omp_get_max_task_priority, omp_get_initial_device,
7900 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7901 omp_get_partition_place_nums): New functions.
7902 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7903 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7904 to chunk_size.
7905 (omp_get_num_places_, omp_get_place_num_procs_,
7906 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7907 omp_get_place_proc_ids_8_, omp_get_place_num_,
7908 omp_get_partition_num_places_, omp_get_partition_place_nums_,
7909 omp_get_partition_place_nums_8_, omp_get_initial_device_,
7910 omp_get_max_task_priority_): New functions.
7911 * libgomp_g.h (GOMP_loop_doacross_static_start,
7912 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7913 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7914 GOMP_loop_ull_doacross_dynamic_start,
7915 GOMP_loop_ull_doacross_guided_start,
7916 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7917 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7918 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7919 GOMP_target_data_41, GOMP_target_update_41,
7920 GOMP_target_enter_exit_data): New prototypes.
7921 (GOMP_task): Add prototype argument.
7922 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7923 (struct gomp_doacross_work_share): New type.
7924 (struct gomp_work_share): Add doacross field.
7925 (struct gomp_task_icv): Rename run_sched_modifier to
7926 run_sched_chunk_size.
7927 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7928 GOMP_TASK_UNDEFERRED. Add comments.
7929 (struct gomp_task_depend_entry): Add comments.
7930 (struct gomp_task): Likewise.
7931 (struct gomp_taskgroup): Likewise.
7932 (struct gomp_target_task): New type.
7933 (struct gomp_team): Add comment.
7934 (gomp_get_place_proc_ids_8, gomp_doacross_init,
7935 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7936 gomp_create_target_task, gomp_target_task_fn): New prototypes.
7937 (struct target_var_desc): New type.
7938 (struct target_mem_desc): Adjust comment. Use struct
7939 target_var_desc instead of splay_tree_key for list.
7940 (REFCOUNT_INFINITY): Define.
7941 (struct splay_tree_key_s): Remove copy_from field.
7942 (struct gomp_device_descr): Add dev2dev_func field.
7943 (enum gomp_map_vars_kind): New enum.
7944 (gomp_map_vars): Add one argument.
7945 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7946 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7947 omp_get_place_num_procs, omp_get_place_num_procs_,
7948 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7949 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7950 omp_get_place_num_, omp_get_partition_num_places,
7951 omp_get_partition_num_places_, omp_get_partition_place_nums,
7952 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7953 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7954 omp_target_free, omp_target_is_present, omp_target_memcpy,
7955 omp_target_memcpy_rect, omp_target_associate_ptr and
7956 omp_target_disassociate_ptr.
7957 (GOMP_4.0.2): Renamed to ...
7958 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
7959 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7960 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7961 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7962 GOMP_loop_doacross_static_start, GOMP_doacross_post,
7963 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7964 GOMP_loop_ull_doacross_guided_start,
7965 GOMP_loop_ull_doacross_runtime_start,
7966 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7967 GOMP_doacross_ull_wait.
7968 * libgomp.texi: Document omp_get_max_task_priority.
7969 Rename modifier argument to chunk_size for omp_set_schedule and
7970 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
7971 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7972 to run_sched_chunk_size renaming.
7973 (GOMP_loop_ordered_runtime_start): Likewise.
7974 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7975 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7976 GOMP_parallel_loop_runtime_start): New functions.
7977 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7978 to run_sched_chunk_size renaming.
7979 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7980 GOMP_loop_doacross_guided_start): New functions or aliases.
7981 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7982 run_sched_modifier to run_sched_chunk_size renaming.
7983 (GOMP_loop_ull_ordered_runtime_start): Likewise.
7984 (gomp_loop_ull_doacross_static_start,
7985 gomp_loop_ull_doacross_dynamic_start,
7986 gomp_loop_ull_doacross_guided_start,
7987 GOMP_loop_ull_doacross_runtime_start): New functions.
7988 (GOMP_loop_ull_doacross_static_start,
7989 GOMP_loop_ull_doacross_dynamic_start,
7990 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7991 * oacc-mem.c (acc_map_data, present_create_copy,
7992 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7993 to gomp_map_vars.
7994 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7995 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7996 instead of false to gomp_map_vars.
7997 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
7998 * omp.h.in (omp_lock_hint_t): New type.
7999 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8000 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8001 omp_get_place_num, omp_get_partition_num_places,
8002 omp_get_partition_place_nums, omp_get_initial_device,
8003 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
8004 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
8005 omp_target_associate_ptr, omp_target_disassociate_ptr): New
8006 prototypes.
8007 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
8008 (omp_lock_hint_none, omp_lock_hint_uncontended,
8009 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8010 omp_lock_hint_speculative): New parameters.
8011 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8012 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8013 omp_get_place_num, omp_get_partition_num_places,
8014 omp_get_partition_place_nums, omp_get_initial_device,
8015 omp_get_max_task_priority): New interfaces.
8016 (omp_set_schedule, omp_get_schedule): Rename modifier argument
8017 to chunk_size.
8018 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
8019 (omp_lock_hint_none, omp_lock_hint_uncontended,
8020 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8021 omp_lock_hint_speculative): New parameters.
8022 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8023 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8024 omp_get_place_num, omp_get_partition_num_places,
8025 omp_get_partition_place_nums, omp_get_initial_device,
8026 omp_get_max_task_priority): New functions and subroutines.
8027 * ordered.c: Include stdarg.h and string.h.
8028 (MAX_COLLAPSED_BITS): Define.
8029 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
8030 gomp_doacross_ull_init, GOMP_doacross_ull_post,
8031 GOMP_doacross_ull_wait): New functions.
8032 * target.c: Include errno.h.
8033 (resolve_device): If device is not initialized, call
8034 gomp_init_device on it.
8035 (gomp_map_lookup): New function.
8036 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
8037 Don't bump refcount if REFCOUNT_INFINITY. Handle
8038 GOMP_MAP_ALWAYS_TO_P.
8039 (get_kind): Rename is_openacc argument to short_mapkind.
8040 (gomp_map_pointer): Use gomp_map_lookup.
8041 (gomp_map_fields_existing): New function.
8042 (gomp_map_vars): Rename is_openacc argument to short_mapkind
8043 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
8044 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
8045 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
8046 Adjust for tgt->list changed type and copy_from living in there.
8047 (gomp_copy_from_async): Adjust for tgt->list changed type and
8048 copy_from living in there.
8049 (gomp_unmap_vars): Likewise.
8050 (gomp_update): Likewise. Rename is_openacc argument to
8051 short_mapkind. Don't fail if object is not mapped.
8052 (gomp_load_image_to_device): Initialize refcount to
8053 REFCOUNT_INFINITY.
8054 (gomp_target_fallback): New function.
8055 (gomp_get_target_fn_addr): Likewise.
8056 (GOMP_target): Adjust gomp_map_vars caller, use
8057 gomp_get_target_fn_addr and gomp_target_fallback.
8058 (GOMP_target_41): New function.
8059 (gomp_target_data_fallback): New function.
8060 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
8061 (GOMP_target_data_41): New function.
8062 (GOMP_target_update): Adjust gomp_update caller.
8063 (GOMP_target_update_41): New function.
8064 (gomp_exit_data, GOMP_target_enter_exit_data,
8065 gomp_target_task_fn, omp_target_alloc, omp_target_free,
8066 omp_target_is_present, omp_target_memcpy,
8067 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
8068 omp_target_associate_ptr, omp_target_disassociate_ptr,
8069 gomp_load_plugin_for_device): New functions.
8070 * task.c: Include gomp-constants.h. Include taskloop.c
8071 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
8072 (gomp_task_handle_depend): New function.
8073 (GOMP_task): Use it. Add priority argument. Use
8074 gomp-constant.h constants instead of hardcoded numbers.
8075 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
8076 (gomp_create_target_task): New function.
8077 (verify_children_queue, verify_taskgroup_queue,
8078 verify_task_queue): New functions.
8079 (gomp_task_run_pre): Call verify_*_queue functions.
8080 If an upcoming tied task is about to leave the sibling or
8081 taskgroup queues in an invalid state, adjust appropriately.
8082 Remove taskgroup argument. Add comments.
8083 (gomp_task_run_post_handle_dependers): Add comments.
8084 (gomp_task_run_post_remove_parent): Likewise.
8085 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
8086 (GOMP_taskwait): Likewise. Add comments.
8087 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
8088 problem such that the first non parent_depends_on task does not
8089 end up at the end of the children queue.
8090 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
8091 GOMP_TASK_UNDEFERRED.
8092 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
8093 * taskloop.c: New file.
8094 * testsuite/lib/libgomp.exp
8095 (check_effective_target_offload_device_nonshared_as): New proc.
8096 * testsuite/libgomp.c/affinity-2.c: New test.
8097 * testsuite/libgomp.c/doacross-1.c: New test.
8098 * testsuite/libgomp.c/doacross-2.c: New test.
8099 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
8100 Add map clause to target.
8101 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
8102 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
8103 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
8104 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
8105 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
8106 Likewise.
8107 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
8108 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
8109 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
8110 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
8111 not defined. Use those where needed.
8112 * testsuite/libgomp.c/for-4.c: New test.
8113 * testsuite/libgomp.c/for-5.c: New test.
8114 * testsuite/libgomp.c/for-6.c: New test.
8115 * testsuite/libgomp.c/linear-1.c: New test.
8116 * testsuite/libgomp.c/ordered-4.c: New test.
8117 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
8118 only allowed on the loop iterator.
8119 * testsuite/libgomp.c/pr66199-3.c: New test.
8120 * testsuite/libgomp.c/pr66199-4.c: New test.
8121 * testsuite/libgomp.c/reduction-7.c: New test.
8122 * testsuite/libgomp.c/reduction-8.c: New test.
8123 * testsuite/libgomp.c/reduction-9.c: New test.
8124 * testsuite/libgomp.c/reduction-10.c: New test.
8125 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
8126 map(tofrom:s).
8127 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
8128 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
8129 * testsuite/libgomp.c/target-11.c: New test.
8130 * testsuite/libgomp.c/target-12.c: New test.
8131 * testsuite/libgomp.c/target-13.c: New test.
8132 * testsuite/libgomp.c/target-14.c: New test.
8133 * testsuite/libgomp.c/target-15.c: New test.
8134 * testsuite/libgomp.c/target-16.c: New test.
8135 * testsuite/libgomp.c/target-17.c: New test.
8136 * testsuite/libgomp.c/target-18.c: New test.
8137 * testsuite/libgomp.c/target-19.c: New test.
8138 * testsuite/libgomp.c/target-20.c: New test.
8139 * testsuite/libgomp.c/target-21.c: New test.
8140 * testsuite/libgomp.c/target-22.c: New test.
8141 * testsuite/libgomp.c/target-23.c: New test.
8142 * testsuite/libgomp.c/target-24.c: New test.
8143 * testsuite/libgomp.c/target-25.c: New test.
8144 * testsuite/libgomp.c/target-26.c: New test.
8145 * testsuite/libgomp.c/target-27.c: New test.
8146 * testsuite/libgomp.c/taskloop-1.c: New test.
8147 * testsuite/libgomp.c/taskloop-2.c: New test.
8148 * testsuite/libgomp.c/taskloop-3.c: New test.
8149 * testsuite/libgomp.c/taskloop-4.c: New test.
8150 * testsuite/libgomp.c++/ctor-13.C: New test.
8151 * testsuite/libgomp.c++/doacross-1.C: New test.
8152 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
8153 Replace offload_device with offload_device_nonshared_as.
8154 * testsuite/libgomp.c++/for-12.C: New test.
8155 * testsuite/libgomp.c++/for-13.C: New test.
8156 * testsuite/libgomp.c++/for-14.C: New test.
8157 * testsuite/libgomp.c++/linear-1.C: New test.
8158 * testsuite/libgomp.c++/member-1.C: New test.
8159 * testsuite/libgomp.c++/member-2.C: New test.
8160 * testsuite/libgomp.c++/member-3.C: New test.
8161 * testsuite/libgomp.c++/member-4.C: New test.
8162 * testsuite/libgomp.c++/member-5.C: New test.
8163 * testsuite/libgomp.c++/ordered-1.C: New test.
8164 * testsuite/libgomp.c++/reduction-5.C: New test.
8165 * testsuite/libgomp.c++/reduction-6.C: New test.
8166 * testsuite/libgomp.c++/reduction-7.C: New test.
8167 * testsuite/libgomp.c++/reduction-8.C: New test.
8168 * testsuite/libgomp.c++/reduction-9.C: New test.
8169 * testsuite/libgomp.c++/reduction-10.C: New test.
8170 * testsuite/libgomp.c++/reference-1.C: New test.
8171 * testsuite/libgomp.c++/simd14.C: New test.
8172 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
8173 * testsuite/libgomp.c++/target-5.C: New test.
8174 * testsuite/libgomp.c++/target-6.C: New test.
8175 * testsuite/libgomp.c++/target-7.C: New test.
8176 * testsuite/libgomp.c++/target-8.C: New test.
8177 * testsuite/libgomp.c++/target-9.C: New test.
8178 * testsuite/libgomp.c++/target-10.C: New test.
8179 * testsuite/libgomp.c++/target-11.C: New test.
8180 * testsuite/libgomp.c++/target-12.C: New test.
8181 * testsuite/libgomp.c++/taskloop-1.C: New test.
8182 * testsuite/libgomp.c++/taskloop-2.C: New test.
8183 * testsuite/libgomp.c++/taskloop-3.C: New test.
8184 * testsuite/libgomp.c++/taskloop-4.C: New test.
8185 * testsuite/libgomp.c++/taskloop-5.C: New test.
8186 * testsuite/libgomp.c++/taskloop-6.C: New test.
8187 * testsuite/libgomp.c++/taskloop-7.C: New test.
8188 * testsuite/libgomp.c++/taskloop-8.C: New test.
8189 * testsuite/libgomp.c++/taskloop-9.C: New test.
8190 * testsuite/libgomp.fortran/affinity1.f90: New test.
8191 * testsuite/libgomp.fortran/affinity2.f90: New test.
8192
1f600fea
TV
81932015-10-13 Tom de Vries <tom@codesourcery.com>
8194
8195 PR tree-optimization/67476
8196 * testsuite/libgomp.c/autopar-3.c: New test.
8197 * testsuite/libgomp.c/autopar-4.c: New test.
8198 * testsuite/libgomp.c/autopar-5.c: New test.
8199 * testsuite/libgomp.c/autopar-6.c: New test.
8200 * testsuite/libgomp.c/autopar-7.c: New test.
8201 * testsuite/libgomp.c/autopar-8.c: New test.
8202
058a654b
JN
82032015-10-12 James Norris <jnorris@codesourcery.com>
8204
8205 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
8206 initializer.
8207
9e531d37
DM
82082015-10-09 David Malcolm <dmalcolm@redhat.com>
8209
8210 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
8211 using load_gcc_lib.
8212
113020dc
TS
82132015-10-02 Thomas Schwinge <thomas@codesourcery.com>
8214
8215 * oacc-ptx.h: Remove file, moving its content into...
8216 * config/nvptx/fortran.c: ... here...
8217 * config/nvptx/oacc-init.c: ..., here...
8218 * config/nvptx/oacc-parallel.c: ..., and here.
8219 * config/nvptx/openacc.f90: New file.
8220 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
8221 (link_ptx): Don't link in predefined bits of PTX code.
8222
cc3cd79b
NS
82232015-09-30 Nathan Sidwell <nathan@codesourcery.com>
8224 Bernd Schmidt <bernds@codesourcery.com>
8225
8226 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
8227 (struct targ_ptx_obj): New.
8228 (nvptx_tdata): Move earlier, change data format.
8229 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
8230 objects.
8231 (GOMP_OFFLOAD_load_image): Adjust.
8232
4e2a5450
TS
82332015-09-30 Thomas Schwinge <thomas@codesourcery.com>
8234
8235 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
8236 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8237 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8238 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8239 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8240 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8241 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8242 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8243 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8244 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8245 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8246 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8247 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8248 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8249 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8250 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8251 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8252 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8253 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8254 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8255 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8256 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8257 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8258 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8259 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8260 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8261 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8262 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8263 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8264 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8265 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8266 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8267 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8268 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8269 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8270 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8271 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8272 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8273 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8274 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8275 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8276 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8277 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8278 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8279 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8280 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8281 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8282 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8283 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8284 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8285 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8286 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8287 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8288 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8289 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8290 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8291 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8292 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8293 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8294 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8295 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8296 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8297 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8298
164453bb
NS
82992015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8300
8301 * oacc-init.c (acc_on_device): Force optimization level.
8302
a12a0437
NS
83032015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8304
8305 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
8306 (cuda_errlist): Delete.
8307 (cuda_error): Reimplement.
8308
3e32ee19
NS
83092015-09-28 Nathan Sidwell <nathan@codesourcery.com>
8310
8311 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
8312 array.
8313 * libgomp.map (GOACC_parallel_keyed): New.
8314 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
8315 all callers.
8316 (GOACC_parallel_keyed): New interface. Lose geometry arguments
8317 and take keyed varargs list. Adjust call to exec_func.
8318 (GOACC_parallel): Force host fallback.
8319 * libgomp_g.h (GOACC_parallel): Remove.
8320 (GOACC_parallel_keyed): Declare.
8321 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 8322 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
8323 (nvptx_exec): Lose separate geometry args, take array. Process
8324 dynamic dimensions and adjust.
8325 (struct nvptx_tdata): Replace fn_names field with fn_descs.
8326 (GOMP_OFFLOAD_load_image): Adjust for change in function table
8327 data.
8328 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
8329 passing.
8330 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
8331 passing.
8332
6bb4c3e2
CLT
83332015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
8334
8335 PR libgomp/67141
8336 * oacc-int.h (goacc_host_init): Add declaration.
8337 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
8338 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
8339
74032f47 83402015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 8341 Sebastian Pop <s.pop@samsung.com>
74032f47 8342
93d90219 8343 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
8344 match o/p.
8345 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
8346 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
8347 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
8348 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
8349 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
8350
97875f4a
JJ
83512015-09-03 Jakub Jelinek <jakub@redhat.com>
8352
8353 * configure.tgt: Add missing ;; in between nvptx and rtems
8354 snippets.
8355
06441dd5
SH
83562015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8357
8358 * config/posix/pool.h (gomp_adjust_thread_attr): New.
8359 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
8360 (gomp_thread_pool_reservoir): Add priority member.
8361 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
8362 priority.
8363 (parse_thread_pools): Likewise.
8364 * team.c (gomp_team_start): Call configuration provided
8365 gomp_adjust_thread_attr(). Destroy thread attributes if
8366 necessary.
8367 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
8368
66c59f92
SH
83692015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8370
8371 * config/posix/pool.h: New.
8372 * config/rtems/pool.h: Likewise.
8373 * config/rtems/proc.c: Likewise.
8374 * libgomp.h (gomp_thread_destructor): Declare.
8375 * team.c: Include configuration provided "pool.h".
8376 (gomp_get_thread_pool): Define in configuration.
8377 (gomp_team_end): Call configuration defined
8378 gomp_release_thread_pool().
8379
13c41b2e
SH
83802015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8381
8382 * config/rtems/bar.c: New.
8383 * config/rtems/bar.h: Likewise.
8384 * config/rtems/mutex.c: Likewise.
8385 * config/rtems/mutex.h: Likewise.
8386 * config/rtems/sem.c: Likewise.
8387 * config/rtems/sem.h: Likewise.
8388 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
8389 <sys/lock.h> header file.
8390 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
8391 supported by Newlib.
8392 * configure: Regenerate.
8393
7892ec67
SH
83942015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8395
8396 * team.c (gomp_new_thread_pool): Delete and move content to ...
8397 (gomp_get_thread_pool): ... new function. Allocate and
8398 initialize thread pool on demand.
8399 (get_last_team): Use gomp_get_thread_pool().
8400 (gomp_team_start): Delete thread pool initialization.
8401
1b96e9a4
TV
84022015-09-03 Tom de Vries <tom@codesourcery.com>
8403
8404 PR tree-optimization/65637
8405 * testsuite/libgomp.c/autopar-2.c: New test.
8406
3ff2d74e
TV
84072015-08-29 Tom de Vries <tom@codesourcery.com>
8408
8409 PR tree-optimization/46193
8410 * testsuite/libgomp.c/pr46193.c: New test.
8411
2a21ff19
NS
84122015-08-24 Nathan Sidwell <nathan@codesourcery.com>
8413
8414 libgomp/
8415 * libgomp.map: Add 4.0.2 version.
8416 * target.c (offload_image_descr): Add version field.
8417 (gomp_load_image_to_device): Add version argument. Adjust plugin
8418 call. Improve load mismatch diagnostic.
8419 (gomp_unload_image_from_device): Add version argument. Adjust plugin
8420 call.
8421 (GOMP_offload_regster): Make stub function, move bulk to ...
8422 (GOMP_offload_register_ver): ... here. Process version argument.
8423 (GOMP_offload_unregister): Make stub function, move bulk to ...
8424 (GOMP_offload_unregister_ver): ... here. Process version argument.
8425 (gomp_init_device): Process version field.
8426 (gomp_unload_device): Process version field.
8427 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
8428 macros. Check plugin version.
8429 * libgomp.h (gomp_device_descr): Add version function field. Adjust
8430 loader and unloader types.
8431 * oacc-host.c: Include gomp-constants.h.
8432 (host_version): New.
8433 (host_load_image, host_unload_image): Adjust.
8434 (host_dispatch): Add host_version.
8435 * plugin/plugin-nvptx.c: Include gomp-constants.h.
8436 (GOMP_OFFLOAD_version): New.
8437 (GOMP_OFFLOAD_load_image): Add version arg and check it.
8438 (GOMP_OFFLOAD_unload_image): Likewise.
8439 * plugin/plugin-host.c: Include gomp-constants.h.
8440 (GOMP_OFFLOAD_version): New.
8441 (GOMP_OFFLOAD_load_image): Add version arg.
8442 (GOMP_OFFLOAD_unload_image): Likewise.
8443
1358a747
TV
84442015-08-24 Tom de Vries <tom@codesourcery.com>
8445
8446 PR tree-optimization/65468
8447 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
8448
6be5c241
TV
84492015-08-24 Tom de Vries <tom@codesourcery.com>
8450
8451 PR tree-optimization/65468
8452 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
8453
bfe7ac89
JV
84542015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
8455
8456 PR libgomp/66761
8457 PR libgomp/67303
8458 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
8459 (gomp_iter_guided_next): Idem.
8460 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
8461 (gomp_iter_ull_guided_next): Idem.
8462 * config/linux/wait.h (do_spin): Idem.
8463
b97e78b7
TS
84642015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8465
8466 * libgomp-plugin.h (enum offload_target_type): Remove
8467 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
8468 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
8469 * openacc.h (enum acc_device_t): Likewise.
8470 * openacc_lib.h: Likewise.
8471 * oacc-init.c (name_of_acc_device_t): Don't handle it.
8472 (acc_on_device): Just use __builtin_acc_on_device.
8473 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
8474 of acc_on_device builtin.
8475 * plugin/plugin-host.h: Remove file.
8476 * plugin/plugin-host.c: Likewise, but salvage some content into...
8477 * oacc-host.c: ... this file.
8478 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
8479 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
8480 * Makefile.in: Regenerate.
8481 * configure: Likewise.
8482 * testsuite/lib/libgomp.exp
8483 (check_effective_target_openacc_host_nonshm_selected): Remove.
8484 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
8485 ACC_DEVICE_TYPE=host_nonshm.
8486 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8487 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8488 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8489 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8490 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8491 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8492
44a7d18d
TS
84932015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8494 Jakub Jelinek <jakub@redhat.com>
8495
8496 * config/nvptx/affinity.c: New file.
8497 * config/nvptx/alloc.c: Likewise.
8498 * config/nvptx/bar.c: Likewise.
8499 * config/nvptx/barrier.c: Likewise.
8500 * config/nvptx/critical.c: Likewise.
8501 * config/nvptx/env.c: Likewise.
8502 * config/nvptx/error.c: Likewise.
8503 * config/nvptx/fortran.c: Likewise.
8504 * config/nvptx/iter.c: Likewise.
8505 * config/nvptx/iter_ull.c: Likewise.
8506 * config/nvptx/libgomp-plugin.c: Likewise.
8507 * config/nvptx/lock.c: Likewise.
8508 * config/nvptx/loop.c: Likewise.
8509 * config/nvptx/loop_ull.c: Likewise.
8510 * config/nvptx/mutex.c: Likewise.
8511 * config/nvptx/oacc-async.c: Likewise.
8512 * config/nvptx/oacc-cuda.c: Likewise.
8513 * config/nvptx/oacc-host.c: Likewise.
8514 * config/nvptx/oacc-init.c: Likewise.
8515 * config/nvptx/oacc-mem.c: Likewise.
8516 * config/nvptx/oacc-parallel.c: Likewise.
8517 * config/nvptx/oacc-plugin.c: Likewise.
8518 * config/nvptx/omp-lock.h: Likewise.
8519 * config/nvptx/ordered.c: Likewise.
8520 * config/nvptx/parallel.c: Likewise.
8521 * config/nvptx/proc.c: Likewise.
8522 * config/nvptx/ptrlock.c: Likewise.
8523 * config/nvptx/sections.c: Likewise.
8524 * config/nvptx/sem.c: Likewise.
8525 * config/nvptx/single.c: Likewise.
8526 * config/nvptx/splay-tree.c: Likewise.
8527 * config/nvptx/target.c: Likewise.
8528 * config/nvptx/task.c: Likewise.
8529 * config/nvptx/team.c: Likewise.
8530 * config/nvptx/time.c: Likewise.
8531 * config/nvptx/work.c: Likewise.
8532 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
8533 * configure: Regenerate.
8534 * configure.tgt (config_path): Set to "nvptx" for target
8535 nvptx*-*-*.
8536
96a2d174
TS
85372015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8538
8539 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
8540
9ebddeb0
NS
85412015-08-03 Nathan Sidwell <nathan@codesourcery.com>
8542
8543 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
8544 (cuda_errlist): Constify.
8545 (errmsg): Move into ...
8546 (cuda_error): ... here. Make smaller.
8547 (_XSTR, _STR): Delete.
8548 (cuda_synames): Delete.
8549 (verify_device_library): Delete.
8550 (nvptx_init): Don't call it.
8551
12efb1d7
TV
85522015-07-28 Tom de Vries <tom@codesourcery.com>
8553
8554 * testsuite/libgomp.c/uns-outer-4.c: New test.
8555
710ee218
CP
85562015-07-24 Cesar Philippidis <cesar@codesourcery.com>
8557
8558 * testsuite/libgomp.c/pr66714.c: New test.
8559
27c4ac7d
MB
85602015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
8561
8562 PR libgomp/66950
8563 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
8564 (fib_ref): New function.
8565 (fib): Correct corner cases in the recursion.
8566 (main): Replace the non-simd loop with fib_ref call.
8567 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
8568 subroutine.
8569 (fibonacci): Lower the parameter N to 30. Correct accordingly check
8570 for the last array element value. Replace the non-simd loop with
8571 fib_ref call. Remove redundant b_ref array. Remove the comparison
8572 of the last array element with according Fibonacci sequence element.
8573 (fib): Correct corner cases in the recursion.
8574
22be2349
NS
85752015-07-21 Nathan Sidwell <nathan@codesourcery.com>
8576
8577 * target.c (gomp_offload_image_to_device): Rename to ...
8578 (gomp_load_image_to_device): ... here.
8579 (GOMP_offload_register): Adjust call.
8580 (gomp_init_device): Likewise.
8581 (gomp_unload_image_from_device): New. Broken out of ...
8582 (GOMP_offload_unregister): ... here. Call it.
8583 (gomp_unload_device): New.
8584 * libgomp.h (gomp_unload_device): Declare.
8585 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
8586 mem maps.
8587
f3e9a059
NS
85882015-07-20 Nathan Sidwell <nathan@codesourcery.com>
8589
a091118d
NS
8590 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
8591 wait=-specific if.
8592 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
8593 !=0 condition.
8594 (goacc_waits): Move !num_waits handling to ...
8595 (GOACC_wait): ... here, the only caller that might have zero waits.
8596
f3e9a059
NS
8597 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
8598 (struct ptx_image_data): Move earlier, add fns field.
8599 (struct ptx_device): Add images and image_lock fields.
8600 (ptx_images, ptx_image_lock): Delete.
8601 (nvptx_open_device): Initialize images and image_lock fields.
8602 (nvptx_close_device): Destroy image_lock.
8603 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8604 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8605 fields.
8606
afb2d80b
NS
86072015-07-17 Nathan Sidwell <nathan@codesourcery.com>
8608
896c28a7
NS
8609 * target.c (GOMP_offload_register): Use int for device type arg.
8610 (GOMP_offload_unregister): Likewise.
8611
ebe4a560
NS
8612 * target.c (struct_offload_image_descr): Constify host_table.
8613 (gomp_offload_image_to_device): Likewise.
8614 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8615
afb2d80b
NS
8616 * libgomp.h (gomp_device_descr): Constify target data arguments.
8617 * target.c (struct offload_image_descr): Constify target_data.
8618 (gomp_offload_image_to_device): Likewise.
8619 (GOMP_offload_register): Likewise.
93d90219 8620 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
8621 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8622 GOMP_OFFLOAD_unload_image): Constify target data.
8623 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8624 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8625
a4cb876d
NS
86262015-07-16 Nathan Sidwell <nathan@codesourcery.com>
8627
8628 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8629 Workaround driver library const error.
8630 (struct nvptx_tdata, nvptx_tdata_t): New.
8631 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8632 type.
8633
28ef6a27
MB
86342015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
8635
8636 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8637 of EPS parameter from integer to real.
8638 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8639 type of EPS parameter from integer to real.
8640
6dba0113
SH
86412015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
8642
8643 * team.c (get_last_team): New.
8644 (gomp_new_team): Recycle last non-nested team if possible.
8645 (gomp_team_end): Move team work share list free lock destruction
8646 to ...
8647 (free_team): ... here.
8648
4c1cb4da
MB
86492015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
8650
8651 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8652 and ref from int to double. Replaced their comparison with
8653 an inequality of their difference and EPS.
8654 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8655 comparison of pri and a reference number with an inequality of their
8656 difference and EPS.
8657 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8658 the comparison of sum and sum_ref with an inequality of their
8659 difference and EPS.
8660 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8661 the comparison of pri and a reference number with an inequality of
8662 their difference and EPS.
8663
343587dc
MB
86642015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
8665
8666 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8667 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8668 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8669 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8670 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8671 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8672 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8673 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8674 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8675 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8676 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8677 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8678 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8679 variables.
8680 (vec_mult): Likewise. Add #pragma omp taskwait.
8681 (main): Adjust caller.
8682 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8683 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8684 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8685 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8686 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8687 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8688 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8689 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8690 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8691 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8692 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8693 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8694 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8695 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8696 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8697 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8698 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8699 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8700 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8701 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8702 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8703 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8704 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8705 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8706 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8707 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8708 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8709 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8710 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8711 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8712 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8713 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8714 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8715 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8716 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8717 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8718 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8719 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8720 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8721 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8722 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8723 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8724 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8725 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8726 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8727 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8728 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8729 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8730 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8731 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8732 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8733 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8734 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8735 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8736 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8737 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8738 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8739 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8740 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8741 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8742 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8743 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8744 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8745 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8746 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8747 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8748 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8749 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8750 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8751 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8752 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8753 (vec_mult): Add !$omp taskwait.
8754 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8755 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8756 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8757 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8758 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8759 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8760 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8761 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8762 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8763 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8764 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8765 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8766 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8767 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8768 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8769 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8770 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8771 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8772 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8773 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8774 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8775 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8776 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8777 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8778 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8779 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8780 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8781 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8782 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8783 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8784 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8785 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8786 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8787 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8788 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8789 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8790 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8791 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8792 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8793 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8794 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8795 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8796 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8797 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8798 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8799 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8800 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8801 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8802 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8803 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8804 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8805 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8806 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8807 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8808 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8809 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8810 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8811 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8812 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8813 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8814 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8815 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8816 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8817 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8818 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8819 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8820 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8821
9f620bf1
TV
88222015-07-10 Tom de Vries <tom@codesourcery.com>
8823
8824 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8825 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8826
a92defda
TS
88272015-07-08 Thomas Schwinge <thomas@codesourcery.com>
8828
8829 PR libgomp/65099
8830 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8831 in a 64-bit configuration.
8832 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8833 offloading testing if no such device is available.
8834 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8835 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8836
cadb53a5
TV
88372015-07-08 Tom de Vries <tom@codesourcery.com>
8838
8839 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8840 second call to f.
8841 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8842
712cb0bb
TV
88432015-07-07 Tom de Vries <tom@codesourcery.com>
8844
8845 PR tree-optimization/66642
8846 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8847 iteration count case.
8848 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8849 function, factor out of ...
8850 (main): ... here. Test low iteration count case.
8851
e5210c77
SH
88522015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
8853
8854 * libgomp.h (gomp_thread_pool): Comment last_team field.
8855
f70360e7
UB
88562015-07-02 Uros Bizjak <ubizjak@gmail.com>
8857
8858 * testsuite/libgomp.c++/pr66702-1.C: Require
8859 vect_simd_clones effective target.
8860 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8861
b451c271
TV
88622015-06-30 Tom de Vries <tom@codesourcery.com>
8863
8864 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8865 already set. Use DEFAULT_CFLAGS in dg-runtest.
8866 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8867 "-O2".
8868
f8e89d9f
TV
88692015-06-30 Tom de Vries <tom@codesourcery.com>
8870
8871 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8872 already set. Use DEFAULT_CFLAGS in dg-runtest.
8873 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8874 * testsuite/libgomp.c++/pr64824.C: Same.
8875 * testsuite/libgomp.c++/pr64868.C: Same.
8876 * testsuite/libgomp.c++/pr66199-1.C: Same.
8877 * testsuite/libgomp.c++/pr66199-2.C: Same.
8878 * testsuite/libgomp.c++/target-2.C: Same.
8879 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8880 -std=<standard> option.
8881 * testsuite/libgomp.c++/udr-11.C: Same.
8882 * testsuite/libgomp.c++/udr-12.C: Same.
8883 * testsuite/libgomp.c++/udr-13.C: Same.
8884 * testsuite/libgomp.c++/udr-14.C: Same.
8885 * testsuite/libgomp.c++/udr-15.C: Same.
8886 * testsuite/libgomp.c++/udr-16.C: Same.
8887 * testsuite/libgomp.c++/udr-17.C: Same.
8888 * testsuite/libgomp.c++/udr-18.C: Same.
8889 * testsuite/libgomp.c++/udr-19.C: Same.
8890 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8891 * testsuite/libgomp.c++/simd-1.C: Same.
8892 * testsuite/libgomp.c++/simd-2.C: Same.
8893 * testsuite/libgomp.c++/simd-3.C: Same.
8894 * testsuite/libgomp.c++/simd-4.C: Same.
8895 * testsuite/libgomp.c++/simd-5.C: Same.
8896 * testsuite/libgomp.c++/simd-6.C: Same.
8897 * testsuite/libgomp.c++/simd-7.C: Same.
8898 * testsuite/libgomp.c++/simd-8.C: Same.
8899 * testsuite/libgomp.c++/simd-9.C: Same.
8900 * testsuite/libgomp.c++/simd10.C: Same.
8901 * testsuite/libgomp.c++/simd11.C: Same.
8902 * testsuite/libgomp.c++/simd12.C: Same.
8903 * testsuite/libgomp.c++/simd13.C: Same.
8904
3446fe48
JJ
89052015-06-30 Jakub Jelinek <jakub@redhat.com>
8906
8907 PR middle-end/66702
8908 * testsuite/libgomp.c++/pr66702-1.C: New test.
8909 * testsuite/libgomp.c++/pr66702-2.C: New test.
8910
8a36714a
TV
89112015-06-30 Tom de Vries <tom@codesourcery.com>
8912
8913 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8914 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8915 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8916 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8917
4f75d608
TV
89182015-06-30 Tom de Vries <tom@codesourcery.com>
8919
8920 PR tree-optimization/66652
8921 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8922 using restrict pointers.
8923 (main): Add arguments to calls to f.
8924 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8925
6d9d1eeb
AT
89262015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
8927
8928 * configure.ac: Fix check for header <sys/sysctl.h>.
8929 * configure: Regenerate.
8930 * config.h.in: Likewise.
8931
1222f22b
TV
89322015-06-23 Tom de Vries <tom@codesourcery.com>
8933
8934 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8935 abort.
8936 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8937
d7efbbf6
TS
89382015-06-19 Thomas Schwinge <thomas@codesourcery.com>
8939
bfcd036f
TS
8940 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8941 acc_device_nvidia.
8942
d7efbbf6
TS
8943 PR libgomp/66518
8944 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8945 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8946
d7bfc710
TV
89472015-06-15 Tom de Vries <tom@codesourcery.com>
8948
8949 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
8950 dg-additional-options for any remaining options.
8951 * testsuite/libgomp.c/atomic-2.c: Same.
8952 * testsuite/libgomp.c/atomic-4.c: Same.
8953 * testsuite/libgomp.c/atomic-5.c: Same.
8954 * testsuite/libgomp.c/atomic-6.c: Same.
8955 * testsuite/libgomp.c/autopar-1.c: Same.
8956 * testsuite/libgomp.c/copyin-1.c: Same.
8957 * testsuite/libgomp.c/copyin-2.c: Same.
8958 * testsuite/libgomp.c/copyin-3.c: Same.
8959 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8960 * testsuite/libgomp.c/nestedfn-5.c: Same.
8961 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8962 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8963 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8964 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8965 * testsuite/libgomp.c/pr32362-1.c: Same.
8966 * testsuite/libgomp.c/pr32362-2.c: Same.
8967 * testsuite/libgomp.c/pr32362-3.c: Same.
8968 * testsuite/libgomp.c/pr39591-1.c: Same.
8969 * testsuite/libgomp.c/pr39591-2.c: Same.
8970 * testsuite/libgomp.c/pr39591-3.c: Same.
8971 * testsuite/libgomp.c/pr58392.c: Same.
8972 * testsuite/libgomp.c/pr58756.c: Same.
8973 * testsuite/libgomp.c/simd-1.c: Same.
8974 * testsuite/libgomp.c/simd-10.c: Same.
8975 * testsuite/libgomp.c/simd-11.c: Same.
8976 * testsuite/libgomp.c/simd-12.c: Same.
8977 * testsuite/libgomp.c/simd-13.c: Same.
8978 * testsuite/libgomp.c/simd-14.c: Same.
8979 * testsuite/libgomp.c/simd-15.c: Same.
8980 * testsuite/libgomp.c/simd-2.c: Same.
8981 * testsuite/libgomp.c/simd-3.c: Same.
8982 * testsuite/libgomp.c/simd-4.c: Same.
8983 * testsuite/libgomp.c/simd-5.c: Same.
8984 * testsuite/libgomp.c/simd-6.c: Same.
8985 * testsuite/libgomp.c/simd-7.c: Same.
8986 * testsuite/libgomp.c/simd-8.c: Same.
8987 * testsuite/libgomp.c/simd-9.c: Same.
8988
fb5b5352
TV
89892015-06-15 Tom de Vries <tom@codesourcery.com>
8990
8991 * testsuite/libgomp.c/pr35625.c: Fix typo.
8992
ca431bef
TV
89932015-06-15 Tom de Vries <tom@codesourcery.com>
8994
8995 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8996 in dg-options.
8997 * testsuite/libgomp.c/atomic-3.c: Same.
8998 * testsuite/libgomp.c/debug-1.c: Same.
8999 * testsuite/libgomp.c/nqueens-1.c: Same.
9000 * testsuite/libgomp.c/pr26171.c: Same.
9001 * testsuite/libgomp.c/pr48591.c: Same.
9002 * testsuite/libgomp.c/pr64824.c: Same.
9003 * testsuite/libgomp.c/pr64868.c: Same.
9004 * testsuite/libgomp.c/pr66133.c: Same.
9005 * testsuite/libgomp.c/pr66199-1.c: Same.
9006 * testsuite/libgomp.c/pr66199-2.c: Same.
9007 * testsuite/libgomp.c/target-8.c: Same.
9008
0d8a9e20
TV
90092015-06-15 Tom de Vries <tom@codesourcery.com>
9010
9011 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
9012 -std={gnu99,c99}.
9013 * testsuite/libgomp.c/for-1.c: Same.
9014 * testsuite/libgomp.c/for-2.c: Same.
9015 * testsuite/libgomp.c/for-3.c: Same.
9016 * testsuite/libgomp.c/pr35625.c: Same.
9017 * testsuite/libgomp.c/pr39154.c: Same.
9018 * testsuite/libgomp.c/simd-16.c: Same.
9019 * testsuite/libgomp.c/simd-17.c: Same.
9020
a6860be9
TV
90212015-06-13 Tom de Vries <tom@codesourcery.com>
9022
9023 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
9024
ab3306d2
TV
90252015-06-13 Tom de Vries <tom@codesourcery.com>
9026
9027 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
9028 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9029 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
9030 (N): Define.
9031 (main): Use N instead of hardcoded constants.
9032
7c82d827
TV
90332015-06-05 Tom de Vries <tom@codesourcery.com>
9034
9035 merge from gomp4 branch:
9036 2015-05-28 Tom de Vries <tom@codesourcery.com>
9037
9038 PR tree-optimization/65443
9039 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
9040 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
9041 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
9042
c469078d
BRF
90432015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9044
9045 * testsuite/libgomp.graphite/bounds.c: Adjust for
9046 cleanup-tree-dump removal.
9047 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
9048 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9049 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9050 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9051 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9052 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9053 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9054 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9055 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9056 * testsuite/libgomp.graphite/pr41118.c: Likewise.
9057
bb3caa35
UB
90582015-05-28 Uros Bizjak <ubizjak@gmail.com>
9059
9060 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
9061 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
9062 (futex_wake) [!__x86_64__]: Ditto.
9063
9fb5fd44
JB
90642015-05-28 Julian Brown <julian@codesourcery.com>
9065
9066 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
9067 function comment. Only call gomp_fatal if new argument is true.
9068 (acc_dev_num_out_of_range): New function.
9069 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
9070 acc_dev_num_out_of_range as appropriate.
9071 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
9072 (acc_get_device_num, acc_set_device_num): Update calls to
9073 resolve_device.
9fb5fd44
JB
9074 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
9075 output.
9076
32eaed93
JB
90772015-05-28 Julian Brown <julian@codesourcery.com>
9078
9079 PR libgomp/65742
32eaed93
JB
9080 * oacc-init.c (plugin/plugin-host.h): Include.
9081 (acc_on_device): Check whether we're in an offloaded region for
9082 host_nonshm
9083 plugin. Don't use __builtin_acc_on_device.
9084 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
9085 nonshm_exec flag in thread-local data.
9086 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
9087 data for host_nonshm plugin.
9088 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
9089 for host_nonshm plugin.
9090 * plugin/plugin-host.h: New.
9091
ea023bcf
UB
90922015-05-27 Uros Bizjak <ubizjak@gmail.com>
9093
8ed501f1
UB
9094 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
9095
90962015-05-27 Uros Bizjak <ubizjak@gmail.com>
9097
9098 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
9099 Declare as int.
9100 (FUTEX_PRIVATE_FLAG): Remove L suffix.
9101 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
9102 Declare as int.
9103
91042015-05-27 Uros Bizjak <ubizjak@gmail.com>
9105
bb3caa35 9106 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 9107
1716efeb
CLT
91082015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
9109
9110 * target.c (gomp_map_pointer): New function abstracting out
9111 GOMP_MAP_POINTER handling.
9112 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
9113 gomp_map_pointer().
9114
41b37d5e
JJ
91152015-05-19 Jakub Jelinek <jakub@redhat.com>
9116
9117 PR middle-end/66199
9118 * testsuite/libgomp.c/pr66199-1.c: New test.
9119 * testsuite/libgomp.c/pr66199-2.c: New test.
9120 * testsuite/libgomp.c++/pr66199-1.C: New test.
9121 * testsuite/libgomp.c++/pr66199-2.C: New test.
9122 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
9123 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
9124
c8319826
JB
91252015-05-19 Julian Brown <julian@codesourcery.com>
9126
9127 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
9128 on cuInit failure.
9129
b37dddbc
JJ
91302015-05-13 Jakub Jelinek <jakub@redhat.com>
9131
9132 PR middle-end/66133
9133 * testsuite/libgomp.c/pr66133.c: New test.
9134
55fba601
MH
91352015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
9136
9137 * Makefile.in: Regenerated with automake-1.11.6.
9138 * aclocal.m4: Likewise.
9139 * config.h.in: Likewise.
9140 * configure: Likewise.
9141 * testsuite/Makefile.in: Likewise.
9142
1be0899d
JM
91432015-05-08 Jason Merrill <jason@redhat.com>
9144
9145 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
9146 _Complex.
9147
9148 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
9149
d2463960
JB
91502015-05-06 Julian Brown <julian@codesourcery.com>
9151
9152 * oacc-init.c (acc_device_lock): Add explanatory comment.
9153 (resolve_device): Add comment about locking requirement.
9154 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
9155 gomp_init_device and gomp_fini_device calls.
9156 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9157 (acc_get_device_num, acc_set_device_num): Add locking around
9158 resolve_device and gomp_init_device calls.
9159
e38fdba4
JB
91602015-05-06 Julian Brown <julian@codesourcery.com>
9161
9162 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
9163 goacc_thread_lock on error paths.
9164 * oacc-mem.c (lookup_host): Remove locking from function. Note
9165 locking requirement for caller in function comment.
9166 (lookup_dev): Likewise.
9167 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
9168 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
9169 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
9170 Add locking.
9171
ae8ffbbb
TS
91722015-05-05 Thomas Schwinge <thomas@codesourcery.com>
9173
9174 PR testsuite/65205
9175 PR libgomp/65993
9176 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
9177 don't expect "0x" prefix for "%p" format specifier, don't expect
9178 "(nil)" for NULL pointer.
9179 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9180 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9181 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9182 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9183 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9184 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9185 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9186 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9187 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9188 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9189 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9190 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9191 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9192 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9193 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9194 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9195 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9196 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9197 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9198 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9199 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9200 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9201 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9202 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9203 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9204 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9205 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9206 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9207 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
9208 accurately specify what we're looking for.
9209 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9210 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9211 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9212 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9213 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9214
1309f1d2
JN
92152015-04-30 James Norris <jnorris@codesourcery.com>
9216
9217 PR testsuite/65205
9218 * testsuite/lib/libgomp.exp
9219 (check_effective_target_openacc_host_selected)
9220 (check_effective_target_openacc_host_nonshm_selected): New
9221 procedures.
9222 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
9223 dg-shouldfail.
9224 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9225 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9226 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9227 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9228 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9229 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9230 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9231 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9232 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9233 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9234 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9235 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9236 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9237 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9238 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9239 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9240 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9241 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9242 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9243 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9244 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9245 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9246 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9247 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9248 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9249 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9250 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9251 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9252 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9253 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9254 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9255 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9256 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9257 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9258 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9259 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9260 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9261 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9262 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9263 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9264 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9265 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9266 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9267
d93bdab5
JB
92682015-04-08 Julian Brown <julian@codesourcery.com>
9269
9270 * libgomp.h (target_mem_desc: Remove mem_map field.
9271 (acc_dispatch_t): Remove open_device_func, close_device_func,
9272 get_device_num_func, set_device_num_func, target_data members.
9273 Change create_thread_data_func argument to device number instead of
9274 generic pointer.
9275 * oacc-async.c (assert.h): Include.
9276 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
9277 (acc_wait_all, acc_wait_all_async): Use current host thread's
9278 active device, not base_dev.
9279 * oacc-cuda.c (acc_get_current_cuda_device)
9280 (acc_get_current_cuda_context, acc_get_cuda_stream)
9281 (acc_set_cuda_stream): Likewise.
9282 * oacc-host.c (host_dispatch): Don't set open_device_func,
9283 close_device_func, get_device_num_func or set_device_num_func.
9284 * oacc-init.c (base_dev, init_key): Remove.
9285 (cached_base_dev): New.
9286 (name_of_acc_device_t): New.
9287 (acc_init_1): Initialise default-numbered device, not zeroth.
9288 (acc_shutdown_1): Close all devices of a given type.
9289 (goacc_destroy_thread): Don't use base_dev.
9290 (lazy_open, lazy_init, lazy_init_and_open): Remove.
9291 (goacc_attach_host_thread_to_device): New.
9292 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
9293 (acc_get_num_devices): Don't use base_dev.
9294 (acc_set_device_type): Reimplement.
9295 (acc_get_device_type): Don't use base_dev.
9296 (acc_get_device_num): Tweak logic.
9297 (acc_set_device_num): Likewise.
9298 (acc_on_device): Use acc_get_device_type.
9299 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
9300 (goacc_lazy_initialize): Reimplement with acc_init and
9301 goacc_attach_host_thread_to_device.
9302 * oacc-int.h (goacc_thread): Add base_dev field.
9303 (base_dev): Remove extern declaration.
9304 (goacc_attach_host_thread_to_device): Add prototype.
9305 * oacc-mem.c (acc_malloc): Use current thread's device instead of
9306 base_dev.
9307 (acc_free): Likewise.
9308 (acc_memcpy_to_device): Likewise.
9309 (acc_memcpy_from_device): Likewise.
9310 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
9311 goacc_lazy_initialize (throughout).
9312 (GOACC_parallel): Use tgt_offset to locate target functions.
9313 * target.c (gomp_map_vars): Don't set tgt->mem_map.
9314 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
9315 (gomp_load_plugin_for_device): Remove open_device, close_device,
9316 get_device_num, set_device_num openacc hook initialisation. Don't set
9317 openacc.target_data.
9318 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
9319 (GOMP_OFFLOAD_openacc_close_device)
9320 (GOMP_OFFLOAD_openacc_get_device_num)
9321 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
9322 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
9323 to int.
9324 * plugin/plugin-nvptx.c (ptx_inited): Remove.
9325 (instantiated_devices, ptx_dev_lock): New.
9326 (struct ptx_image_data): New.
9327 (ptx_devices, ptx_images, ptx_image_lock): New.
9328 (fini_streams_for_device): Reorder cuStreamDestroy call.
9329 (nvptx_get_num_devices): Remove forward declaration.
9330 (nvptx_init): Change return type to bool.
9331 (nvptx_fini): Remove.
9332 (nvptx_attach_host_thread_to_device): New.
9333 (nvptx_open_device): Return struct ptx_device* instead of void*.
9334 (nvptx_close_device): Change argument type to struct ptx_device*,
9335 return type to void.
9336 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
9337 (kernel_target_data, kernel_host_table): Remove static globals.
9338 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
9339 (GOMP_OFFLOAD_init_device): Reimplement.
9340 (GOMP_OFFLOAD_fini_device): Likewise.
9341 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
9342 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
9343 (GOMP_OFFLOAD_host2dev): Use ORD argument.
9344 (GOMP_OFFLOAD_openacc_open_device)
9345 (GOMP_OFFLOAD_openacc_close_device)
9346 (GOMP_OFFLOAD_openacc_set_device_num)
9347 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
9348 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
9349 (device number).
9350
9351 testsuite/
9352 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
9353
a51df54e
IV
93542015-04-06 Ilya Verbin <ilya.verbin@intel.com>
9355
9356 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
9357 * libgomp.h (struct gomp_memory_mapping): Remove.
9358 (struct target_mem_desc): Change type of mem_map from
9359 gomp_memory_mapping * to splay_tree_s *.
9360 (struct gomp_device_descr): Remove register_image_func, get_table_func.
9361 Add load_image_func, unload_image_func.
9362 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
9363 Remove offload_regions_registered.
9364 (gomp_init_tables): Remove.
9365 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9366 to splay_tree_s *.
9367 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
9368 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
9369 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
9370 offload_regions_registered.
9371 Initialize load_image_func, unload_image_func, mem_map.root.
9372 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
9373 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
9374 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
9375 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
9376 gomp_memory_mapping *. Use dev's lock and splay_tree.
9377 (lookup_dev): Use dev's lock.
9378 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
9379 (acc_is_present): Likewise.
9380 (acc_map_data): Likewise.
9381 (acc_unmap_data): Likewise. Use dev's lock.
9382 (present_create_copy): Likewise.
9383 (delete_copyout): Pass dev to lookup_host instead of mem_map.
9384 (update_dev_host): Likewise.
9385 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
9386 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
9387 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
9388 (GOMP_OFFLOAD_get_table): Remove
9389 (GOMP_OFFLOAD_load_image): New function.
9390 (GOMP_OFFLOAD_unload_image): New function.
9391 * target.c (register_lock): New mutex for offload image registration.
9392 (num_devices): Do not guard with PLUGIN_SUPPORT.
9393 (gomp_realloc_unlock): New static function.
9394 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
9395 before gomp_fatal.
9396 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
9397 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
9398 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
9399 mem_map's.
9400 (gomp_unmap_vars): Likewise.
9401 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
9402 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
9403 (gomp_offload_image_to_device): New static function.
9404 (GOMP_offload_register): Add mutex lock.
9405 Call gomp_offload_image_to_device for all initialized devices.
9406 Replace gomp_realloc with gomp_realloc_unlock.
9407 (GOMP_offload_unregister): New function.
9408 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
9409 get_table_func from the plugin with calls to init_device_func and
9410 gomp_offload_image_to_device.
9411 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9412 to splay_tree_s *.
9413 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
9414 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
9415 (GOMP_target_data): Do not call gomp_init_tables.
9416 (GOMP_target_update): Likewise. Remove argument from gomp_update.
9417 (gomp_load_plugin_for_device): Replace register_image and get_table
9418 with load_image and unload_image in DLSYM ().
9419 (gomp_register_images_for_device): Remove function.
9420 (gomp_target_init): Do not initialize current_device.mem_map.*,
9421 current_device.offload_regions_registered.
9422 Remove call to gomp_register_images_for_device.
9423 Do not free offload_images and num_offload_images.
9424
6c384511
JJ
94252015-03-30 Jakub Jelinek <jakub@redhat.com>
9426
9427 PR fortran/65597
9428 * testsuite/libgomp.fortran/pr65597.f90: New test.
9429
3e8165a5
TV
94302015-03-27 Tom de Vries <tom@codesourcery.com>
9431
9432 PR testsuite/65594
9433 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
9434 (init, check): New function.
9435 (foo): Change return type to void.
9436 (main): Call init and check.
9437
4d688c9a
TV
94382015-03-27 Tom de Vries <tom@codesourcery.com>
9439
9440 PR testsuite/65594
9441 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
9442 (foo): Use M for non-inner loops to scale down test-case.
9443
01c0b3b0
KT
94442015-03-25 Kai Tietz <ktietz@redhat.com>
9445
9446 PR libgomp/64972
9447 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
9448 (GOACC_data_start): Likewise.
9449 * target.c (gomp_map_vars): Likewise.
9450
844d9a76
JDA
94512015-03-21 John David Anglin <danglin@gcc.gnu.org>
9452
9453 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
9454 hppa*-*-hpux*.
9455
9b65e171
JJ
94562015-03-19 Jakub Jelinek <jakub@redhat.com>
9457
9458 * testsuite/libgomp.c/target-10.c: New test.
9459 * testsuite/libgomp.c++/target-4.C: New test.
9460
db397e2e
IV
94612015-03-13 Ilya Verbin <ilya.verbin@intel.com>
9462
9463 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
9464 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
9465
cd93945d
SH
94662015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
9467
9468 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
9469 * configure.ac (*-*-rtems*): Assume Pthread is supported.
9470 (pthread.h): Check for this header file.
9471 * configure: Regenerate.
9472
05deba9f
TV
94732015-02-25 Tom de Vries <tom@codesourcery.com>
9474
9475 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
9476 (check_reduction_op, check_reduction_macro, max, min):
9477 Declare.
9478 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
9479 function.
9480 (main): Use new functions.
9481
196904d8
IT
94822015-02-18 Ilya Tocar <ilya.tocar@intel.com>
9483
9484 * target.c (gomp_load_plugin_for_device): Use const char * instead of
9485 char * for variables holding dlerror return values.
9486 (DLSYM_OPT): Ditto.
9487
a2818955
TS
94882015-02-17 Thomas Schwinge <thomas@codesourcery.com>
9489
9490 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
9491
26f93312
TS
94922015-02-17 Thomas Schwinge <thomas@codesourcery.com>
9493 Cesar Philippidis <cesar@codesourcery.com>
9494
9495 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
9496 GOACC_ctaid, and GOACC_nctaid routines.
9497
fa01ffcc
JJ
94982015-02-11 Jakub Jelinek <jakub@redhat.com>
9499
9500 PR c/64824
9501 * testsuite/libgomp.c/atomic-18.c: New test.
9502 * testsuite/libgomp.c++/atomic-16.C: New test.
9503
4886ec8e
JJ
95042015-02-04 Jakub Jelinek <jakub@redhat.com>
9505
9506 PR c/64824
9507 PR c/64868
9508 * testsuite/libgomp.c/pr64824.c: New test.
9509 * testsuite/libgomp.c/pr64868.c: New test.
9510 * testsuite/libgomp.c++/pr64824.C: New test.
9511 * testsuite/libgomp.c++/pr64868.C: New test.
9512
02d3e45e
DE
95132015-02-01 David Edelsohn <dje.gcc@gmail.com>
9514
9515 PR libgomp/64635
9516 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
9517 Link with -lpthread.
9518 * config/aix/plugin-suffix.h: Delete.
9519
b5f7a6ca
JH
95202015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
9521
9522 PR libgomp/64635
9523 * configure.tgt (*-*-aix*): Use config_path "aix posix".
9524 (*-*-darwin*): Use config_path "bsd darwin posix".
9525 (*-*-hpux*): Use config_path "hpux posix".
9526 * target.c: Add include of plugin-suffix.h and use
9527 SONAME_SUFFIX macro.
9528 * config/aix/plugin-suffix.h: New file.
9529 * config/darwin/plugin-suffix.h: New file.
9530 * config/hpux/plugin-suffix.h: New file.
9531 * config/posix/plugin-suffix.h: New file.
9532
b8910447
JJ
95332015-01-23 Jakub Jelinek <jakub@redhat.com>
9534
9535 PR middle-end/64734
9536 * libgomp.c/pr64734.c: New test.
9537
a0c88d06
TV
95382015-01-23 Tom de Vries <tom@codesourcery.com>
9539
9540 PR libgomp/64672
9541 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
9542
1506ae0e
TV
95432015-01-23 Tom de Vries <tom@codesourcery.com>
9544
9545 PR libgomp/64707
9546 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
9547 dg-options.
9548
128b26dc
TS
95492015-01-19 Thomas Schwinge <thomas@codesourcery.com>
9550
bed62c21 9551 PR libgomp/64625
128b26dc
TS
9552 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
9553 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
9554 formal parameter. Update all users.
9555 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
9556 Document unused formal parameter.
9557
6e36114c
TS
95582015-01-16 Thomas Schwinge <thomas@codesourcery.com>
9559
9560 * oacc-parallel.c: Don't include <alloca.h>.
9561 (GOACC_parallel): Use gomp_alloca instead of alloca.
9562
973e9808
GP
95632015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
9564
9565 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
9566
41dbbb37
TS
95672015-01-15 Thomas Schwinge <thomas@codesourcery.com>
9568 James Norris <jnorris@codesourcery.com>
9569 Tom de Vries <tom@codesourcery.com>
9570 Julian Brown <julian@codesourcery.com>
9571 Cesar Philippidis <cesar@codesourcery.com>
9572 Nathan Sidwell <nathan@codesourcery.com>
9573 Tobias Burnus <burnus@net-b.de>
9574
9575 * Makefile.am (search_path): Add $(top_srcdir)/../include.
9576 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
9577 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
9578 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
9579 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
9580 Include $(top_srcdir)/plugin/Makefrag.am.
9581 (nodist_libsubinclude_HEADERS): Add openacc.h.
9582 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
9583 openacc.f90, openacc.mod, openacc_kinds.mod.
9584 (omp_lib.mod): Generalize into...
9585 (%.mod): ... this new rule.
9586 (openacc_kinds.mod, openacc.mod): New rules.
9587 * plugin/configfrag.ac: New file.
9588 * configure.ac: Move plugin/offloading support into it. Include
9589 it. Instantiate testsuite/libgomp-test-support.pt.exp.
9590 * plugin/Makefrag.am: New file.
9591 * testsuite/Makefile.am (OFFLOAD_TARGETS)
9592 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
9593 export.
9594 (libgomp-test-support.exp): New rule.
9595 (all-local): Depend on it.
9596 * Makefile.in: Regenerate.
9597 * testsuite/Makefile.in: Regenerate.
9598 * config.h.in: Likewise.
9599 * configure: Likewise.
9600 * configure.tgt: Harden shell syntax.
9601 * env.c: Include "oacc-int.h".
9602 (parse_acc_device_type): New function.
9603 (gomp_debug_var, goacc_device_type, goacc_device_num): New
9604 variables.
9605 (initialize_env): Initialize those. Call
9606 goacc_runtime_initialize.
9607 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9608 (gomp_fatal): Call gomp_vfatal.
9609 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9610 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9611 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9612 (splay_tree_node, splay_tree, splay_tree_key)
9613 (struct target_mem_desc, struct splay_tree_key_s)
9614 (struct gomp_memory_mapping, struct acc_dispatch_t)
9615 (struct gomp_device_descr, gomp_acc_insert_pointer)
9616 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9617 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9618 (gomp_free_memmap, gomp_fini_device): New declarations.
9619 (gomp_vdebug, gomp_debug): New macros.
9620 Include "splay-tree.h".
9621 * libgomp.map (OACC_2.0): New symbol version. Use for
9622 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9623 acc_set_device_type_h_, acc_get_device_type,
9624 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9625 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9626 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9627 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9628 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9629 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9630 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9631 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9632 acc_copyin_array_h_, acc_present_or_copyin,
9633 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9634 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9635 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9636 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9637 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9638 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9639 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9640 acc_update_device, acc_update_device_32_h_,
9641 acc_update_device_64_h_, acc_update_device_array_h_,
9642 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9643 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9644 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9645 acc_is_present_64_h_, acc_is_present_array_h_,
9646 acc_memcpy_to_device, acc_memcpy_from_device,
9647 acc_get_current_cuda_device, acc_get_current_cuda_context,
9648 acc_get_cuda_stream, acc_set_cuda_stream.
9649 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
9650 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9651 GOACC_update, GOACC_wait, GOACC_get_thread_num,
9652 GOACC_get_num_threads.
9653 (GOMP_PLUGIN_1.0): New symbol version. Use for
9654 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9655 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9656 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9657 GOMP_PLUGIN_acc_thread.
9658 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9659 environment variable.
9660 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9661 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9662 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9663 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9664 (splay_tree_remove): New declarations.
9665 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9666 (splay_tree_remove, splay_tree_lookup): Move into...
9667 * splay-tree.c: ... this new file.
9668 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9669 (splay_tree_node, splay_tree, splay_tree_key)
9670 (struct target_mem_desc, struct splay_tree_key_s)
9671 (struct gomp_device_descr): Don't declare.
9672 (num_devices_openmp): New variable.
9673 (gomp_get_num_devices ): Use it.
9674 (gomp_init_targets_once): New function.
9675 (gomp_get_num_devices ): Use it.
9676 (get_kind, gomp_copy_from_async, gomp_free_memmap)
9677 (gomp_fini_device, gomp_register_image_for_device): New functions.
9678 (gomp_map_vars): Add devaddrs parameter.
9679 (gomp_update): Add mm parameter.
9680 (gomp_init_device): Move most of it into...
9681 (gomp_init_tables): ... this new function.
9682 (gomp_register_images_for_device): Remove function.
9683 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9684 Make them hidden instead of static.
9685 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9686 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9687 (GOMP_target_end_data, GOMP_target_update)
9688 (gomp_load_plugin_for_device, gomp_target_init): Update for
9689 OpenACC changes.
9690 * oacc-async.c: New file.
9691 * oacc-cuda.c: Likewise.
9692 * oacc-host.c: Likewise.
9693 * oacc-init.c: Likewise.
9694 * oacc-int.h: Likewise.
9695 * oacc-mem.c: Likewise.
9696 * oacc-parallel.c: Likewise.
9697 * oacc-plugin.c: Likewise.
9698 * oacc-plugin.h: Likewise.
9699 * oacc-ptx.h: Likewise.
9700 * openacc.f90: Likewise.
9701 * openacc.h: Likewise.
9702 * openacc_lib.h: Likewise.
9703 * plugin/plugin-host.c: Likewise.
9704 * plugin/plugin-nvptx.c: Likewise.
9705 * libgomp-plugin.c: Likewise.
9706 * libgomp-plugin.h: Likewise.
9707 * libgomp_target.h: Remove file after merging content into the
9708 former file. Update all users.
9709 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9710 (offload_targets_s, offload_targets_s_openacc): New variables.
9711 (check_effective_target_openacc_nvidia_accel_present)
9712 (check_effective_target_openacc_nvidia_accel_selected): New
9713 procedures.
9714 (libgomp_init): Update for OpenACC changes.
9715 * testsuite/libgomp-test-support.exp.in: New file.
9716 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9717 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9718 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9719 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9720 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9721 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9722 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9723 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9724 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9725 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9726 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9727 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9728 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9729 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9730 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9731 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9732 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9733 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9734 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9735 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9736 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9737 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9738 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9739 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9740 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9741 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9742 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9743 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9744 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9745 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9746 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9747 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9748 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9749 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9750 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9751 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9752 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9753 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9754 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9755 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9756 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9757 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9758 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9759 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9760 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9761 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9762 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9763 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9764 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9765 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9766 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9767 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9768 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9769 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9770 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9771 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9772 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9773 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9774 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9775 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9776 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9777 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9778 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9779 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9780 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9781 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9782 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9783 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9784 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9785 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9786 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9787 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9788 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9789 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9790 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9791 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9792 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9793 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9794 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9795 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9796 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9797 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9798 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9799 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9800 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9801 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9802 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9803 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9804 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9805 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9806 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9807 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9808 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9809 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9810 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9811 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9812 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9813 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9814 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9815 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9816 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9817 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9818 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9819 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9820 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9821 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9822 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9823 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9824 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9825 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9826 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9827 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9828 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9829 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9830 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9831 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9832 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9833 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9834 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9835 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9836 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9837 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9838 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9839 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9840 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9841 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9842 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9843 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9844 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9845 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9846 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9847 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9848 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9849 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9850 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9851 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9852 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9853 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9854 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9855 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9856 Likewise.
9857 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9858 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9859 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9860 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9861 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9862 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9863 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9864 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9865 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9866 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9867 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9868 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9869 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9870 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9871 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9872 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9873 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9874 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9875 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9876 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9877 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9878 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9879 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9880 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9881 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9882 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9883 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9884 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9885 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9886 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9887 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9888 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9889 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9890 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9891 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9892 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9893 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9894 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9895 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9896 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9897 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9898 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9899 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9900 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9901 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9902 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9903 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9904 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9905 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9906 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9907 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9908 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9909 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9910 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9911 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9912 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9913 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9914 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9915 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9916 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9917
f1f3453e
TS
99182015-01-10 Thomas Schwinge <thomas@codesourcery.com>
9919 Julian Brown <julian@codesourcery.com>
9920 David Malcolm <dmalcolm@redhat.com>
9921
9922 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9923 to "GNU Offloading and Multi Processing Runtime Library". Change
9924 all users.
9925 * configure: Regenerate.
9926 * libgomp.texi: Update.
9927
f9a0eca4
TS
99282015-01-08 Thomas Schwinge <thomas@codesourcery.com>
9929
b335ef4e
TS
9930 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9931 "$tgt_dir/lib32".
9932 * configure: Regenerate.
9933
f9a0eca4
TS
9934 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9935 "intelmic" in $offload_targets.
9936
b67cd4e3
JJ
99372015-01-05 Jakub Jelinek <jakub@redhat.com>
9938
5624e564
JJ
9939 Update copyright years.
9940
b67cd4e3
JJ
9941 * libgomp.texi: Bump @copying's copyright year.
9942
3b41b583
KT
99432014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9944
9945 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 9946 Move load of target-supports.exp earlier.
3b41b583 9947
2354caec
IV
99482014-12-10 Ilya Verbin <ilya.verbin@intel.com>
9949
9950 * testsuite/libgomp.c/target-9.c: New test.
9951
f50eecba
VR
99522014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
9953
9954 * config.h.in: Regenerate.
9955 * configure: Regenerate.
9956 * configure.ac: Add GCC_CHECK_EMUTLS.
9957 * libgomp.h: Add check for USE_EMUTLS: this case
9958 is equal to HAVE_TLS.
9959 * team.c: Likewise.
9960
68bc9270
UB
99612014-12-03 Uros Bizjak <ubizjak@gmail.com>
9962
9963 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9964
476ff787
AT
99652014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
9966 Ilya Verbin <ilya.verbin@intel.com>
9967
9968 * testsuite/libgomp.c/target-critical-1.c: New test.
9969
31a30e62
JJ
99702014-11-26 Jakub Jelinek <jakub@redhat.com>
9971
9972 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 9973 to dg-options unless expensive testing is on.
31a30e62
JJ
9974 (TESTITERS): Define to N if not defined.
9975 (main): Use TESTITERS instead of N.
9976 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9977 dg-additional-options depending on whether expensive testing is on.
9978 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9979 Decrease N to 100000 and CHUNKSZ to 10000.
9980
3f9e8f13
JJ
99812014-11-24 Jakub Jelinek <jakub@redhat.com>
9982
9983 PR fortran/63938
31a30e62
JJ
9984 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
9985 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 9986
c8451a46
SE
99872014-11-21 Steve Ellcey <sellcey@imgtec.com>
9988
9989 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
9990
a699d672
L
99912014-11-21 H.J. Lu <hongjiu.lu@intel.com>
9992
9993 PR bootstrap/63784
9994 * configure: Regenerated.
9995
4a19f719
UB
99962014-11-19 Uros Bizjak <ubizjak@gmail.com>
9997
9998 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
9999 vect_simd_clones effective target.
10000 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10001
b1bf6c52
JJ
100022014-11-14 Jakub Jelinek <jakub@redhat.com>
10003
10004 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
10005 of 32 as block_size.
10006 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
10007 instead of 32 as block_size.
10008
d64ae614
AT
100092014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
10010 Ilya Verbin <ilya.verbin@intel.com>
10011
10012 * Makefile.in: Regenerate.
10013 * configure: Regenerate.
10014 * configure.ac: Set up offload_additional_options,
10015 offload_additional_lib_paths and offload_targets.
10016 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
10017 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
10018 * testsuite/Makefile.in: Regenerate.
10019 * testsuite/lib/libgomp.exp (libgomp_init): Append
10020 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
10021 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
10022 build directory to LD_LIBRARY_PATH for intelmic offload targets.
10023
122d7303
AT
100242014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
10025 Ilya Verbin <ilya.verbin@intel.com>
10026 Kirill Yukhin <kirill.yukhin@intel.com>
10027 Ilya Tocar <ilya.tocar@intel.com>
10028
10029 * testsuite/lib/libgomp.exp
10030 (check_effective_target_offload_device): New.
10031 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
10032 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
10033 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
10034 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
10035 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
10036 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
10037 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
10038 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
10039 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
10040 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
10041 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
10042 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
10043 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
10044 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
10045 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
10046 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
10047 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
10048 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
10049 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
10050 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
10051 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
10052 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
10053 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
10054 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
10055 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
10056 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
10057 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
10058 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
10059 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
10060 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
10061 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
10062 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
10063 * testsuite/libgomp.c/target-7.c: Fix test.
10064 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
10065 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
10066 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
10067 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
10068 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
10069 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
10070 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
10071 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
10072 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
10073 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
10074 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
10075 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
10076 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
10077 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
10078 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
10079 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
10080 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
10081 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
10082 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10083 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
10084 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
10085 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
10086 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
10087 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
10088 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
10089 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
10090 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
10091 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
10092 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
10093 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
10094 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
10095
1df3f842
JJ
100962014-11-13 Jakub Jelinek <jakub@redhat.com>
10097 Ilya Verbin <ilya.verbin@intel.com>
10098 Thomas Schwinge <thomas@codesourcery.com>
10099 Andrey Turetskiy <andrey.turetskiy@intel.com>
10100
10101 * libgomp.map (GOMP_4.0.1): New symbol version.
10102 Add GOMP_offload_register.
10103 * libgomp_target.h: New file.
10104 * splay-tree.h: New file.
10105 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
10106 (gomp_target_init): New forward declaration.
10107 (gomp_is_initialized): New static variable.
10108 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
10109 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
10110 New structures.
10111 (offload_images, num_offload_images, devices, num_devices): New static
10112 variables.
10113 (splay_compare): New static function.
10114 (struct gomp_device_descr): New structure.
10115 (gomp_get_num_devices): Call gomp_target_init.
10116 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
10117 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
10118 (GOMP_offload_register): New function.
10119 (GOMP_target): Arrange for host callback to be performed in a separate
10120 initial thread and contention group, inheriting ICVs from
10121 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
10122 Add device initialization and lookup for target function in splay tree.
10123 (GOMP_target_data): Add device initialization and call gomp_map_vars.
10124 (GOMP_target_end_data): Call gomp_unmap_vars.
10125 (GOMP_target_update): Add device initialization and call gomp_update.
10126 (gomp_load_plugin_for_device, gomp_register_images_for_device)
10127 (gomp_target_init): New static functions.
10128
85c64bbe
BS
101292014-11-13 Bernd Schmidt <bernds@codesourcery.com>
10130 Thomas Schwinge <thomas@codesourcery.com>
10131 Ilya Verbin <ilya.verbin@intel.com>
10132 Andrey Turetskiy <andrey.turetskiy@intel.com>
10133
10134 * config.h.in: Regenerate.
10135 * configure: Regenerate.
10136 * configure.ac: Check for libdl, required for plugin support.
10137 (PLUGIN_SUPPORT): Define if plugins are supported.
10138 (enable_offload_targets): Support Intel MIC targets.
10139 (OFFLOAD_TARGETS): List of target names suitable for offloading.
10140
ebf6d33b
FXC
101412014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10142
10143 PR target/63610
10144 * configure: Regenerate.
10145
8c768629
RO
101462014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10147
10148 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
10149
c1d62412
MP
101502014-10-06 Marek Polacek <polacek@redhat.com>
10151
10152 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
10153 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
10154 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
10155 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10156
44a0c6cb
MP
101572014-10-06 Marek Polacek <polacek@redhat.com>
10158
10159 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
10160 * testsuite/libgomp.c/nqueens-1.c: Likewise.
10161 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10162 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10163 * testsuite/libgomp.c/pr36802-2.c: Likewise.
10164 * testsuite/libgomp.c/pr36802-3.c: Likewise.
10165 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
10166 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10167 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
10168 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
10169 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
10170 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
10171 * testsuite/libgomp.c/omp-single-1.c: Likewise.
10172 * testsuite/libgomp.c/omp-single-2.c: Likewise.
10173 * testsuite/libgomp.c/omp_matvec.c: Likewise.
10174 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
10175 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
10176 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
10177 declarations.
10178
5771c391
JJ
101792014-10-03 Jakub Jelinek <jakub@redhat.com>
10180
10181 PR libgomp/61200
10182 * testsuite/libgomp.c/pr61200.c: New test.
10183
bce16b88
JJ
101842014-09-18 Jakub Jelinek <jakub@redhat.com>
10185
10186 PR c++/63248
10187 * testsuite/libgomp.c++/pr63248.C: New test.
10188
3696163c
JJ
101892014-08-04 Jakub Jelinek <jakub@redhat.com>
10190
10191 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
10192 is not zero, but taskgroup->children is NULL and there are
10193 any task->children, schedule those instead of waiting.
10194 * testsuite/libgomp.c/depend-6.c: New test.
10195 * testsuite/libgomp.c/depend-7.c: New test.
10196 * testsuite/libgomp.c/depend-8.c: New test.
10197 * testsuite/libgomp.c/depend-9.c: New test.
10198 * testsuite/libgomp.c/depend-10.c: New test.
10199
0494285a
JJ
102002014-08-01 Jakub Jelinek <jakub@redhat.com>
10201
10202 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
10203 (struct gomp_taskwait): New type.
10204 (struct gomp_task): Add taskwait and parent_depends_on, remove
10205 in_taskwait and taskwait_sem fields.
10206 (gomp_finish_task): Don't destroy taskwait_sem.
10207 * task.c (gomp_init_task): Don't init in_taskwait, instead init
10208 taskwait and parent_depends_on.
10209 (GOMP_task): For if (0) tasks with depend clause that depend on
10210 earlier tasks don't defer them, instead call
10211 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
10212 Initialize redundant_out field, for redundant out entries just
10213 move them at the end of linked list instead of removing them
10214 completely, and set redundant_out flag instead of redundant.
10215 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
10216 that task.
10217 (gomp_task_run_post_handle_dependers): If parent is in
10218 gomp_task_maybe_wait_for_dependencies and newly runnable task
10219 is not parent_depends_on, queue it in parent->children linked
10220 list after all runnable tasks with parent_depends_on set.
10221 Adjust for addition of taskwait indirection.
10222 (gomp_task_run_post_remove_parent): If parent is in
10223 gomp_task_maybe_wait_for_dependencies and task to be removed
10224 is parent_depends_on, decrement n_depend and if needed awake
10225 parent. Adjust for addition of taskwait indirection.
10226 (GOMP_taskwait): Adjust for addition of taskwait indirection.
10227 (gomp_task_maybe_wait_for_dependencies): New function.
10228 * testsuite/libgomp.c/depend-5.c: New test.
10229
60ab4b44
TB
102302014-07-13 Tobias Burnus <burnus@net-b.de>
10231
10232 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 10233 with TS 18508/Fortran 2015.
60ab4b44 10234
773ec47f
MP
102352014-07-06 Marek Polacek <polacek@redhat.com>
10236
10237 PR c/6940
10238 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
10239
f707da16
JJ
102402014-07-03 Jakub Jelinek <jakub@redhat.com>
10241
10242 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
10243 matches regex $lang_source_re, add $lang_include_flags to options.
10244 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
10245 * testsuite/libgomp.c++/c++.exp: Likewise.
10246 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
10247 and lang_include_flags instead of adding -fintrinsic-modules-path= to
10248 ALWAYS_CFLAGS.
10249 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
10250
07b6c044
TS
102512014-07-03 Thomas Schwinge <thomas@codesourcery.com>
10252
10253 * testsuite/libgomp.fortran/fortran.exp: Explain
10254 gfortran-dg-runtest usage.
10255
da6f124d
JJ
102562014-06-25 Jakub Jelinek <jakub@redhat.com>
10257
10258 * testsuite/libgomp.fortran/simd5.f90: New test.
10259 * testsuite/libgomp.fortran/simd6.f90: New test.
10260 * testsuite/libgomp.fortran/simd7.f90: New test.
10261
b46ebd6c
JJ
102622014-06-24 Jakub Jelinek <jakub@redhat.com>
10263
56ad0e38
JJ
10264 * testsuite/libgomp.c/for-2.c: Define SC to static for
10265 #pragma omp for simd testing.
10266 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
10267 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
10268 SC macro.
10269 * testsuite/libgomp.c/simd-14.c: New test.
10270 * testsuite/libgomp.c/simd-15.c: New test.
10271 * testsuite/libgomp.c/simd-16.c: New test.
10272 * testsuite/libgomp.c/simd-17.c: New test.
10273 * testsuite/libgomp.c++/for-10.C: Define SC to static for
10274 #pragma omp for simd testing.
10275 * testsuite/libgomp.c++/simd10.C: New test.
10276 * testsuite/libgomp.c++/simd11.C: New test.
10277 * testsuite/libgomp.c++/simd12.C: New test.
10278 * testsuite/libgomp.c++/simd13.C: New test.
10279
b46ebd6c
JJ
10280 * testsuite/libgomp.fortran/aligned1.f03: New test.
10281 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
10282 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
10283 tasks with !$omp parallel !$omp single.
10284 * testsuite/libgomp.fortran/target8.f90: New test.
10285 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
10286 not to use trim in the combiner, instead call elemental function.
10287 (fn): New elemental function.
10288 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
10289 Make elemental.
10290 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
10291 omp_in): Likewise.
10292 * testsuite/libgomp.fortran/udr12.f90: New test.
10293 * testsuite/libgomp.fortran/udr13.f90: New test.
10294 * testsuite/libgomp.fortran/udr14.f90: New test.
10295 * testsuite/libgomp.fortran/udr15.f90: New test.
10296
f014c653
JJ
102972014-06-18 Jakub Jelinek <jakub@redhat.com>
10298
10299 * omp_lib.f90.in (openmp_version): Set to 201307.
10300 * omp_lib.h.in (openmp_version): Likewise.
10301 * testsuite/libgomp.c/target-8.c: New test.
10302 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
10303 and inbranch clauses.
10304 * testsuite/libgomp.fortran/depend-3.f90: New test.
10305 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
10306 openmp_version.
10307 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10308 * testsuite/libgomp.fortran/target1.f90: New test.
10309 * testsuite/libgomp.fortran/target2.f90: New test.
10310 * testsuite/libgomp.fortran/target3.f90: New test.
10311 * testsuite/libgomp.fortran/target4.f90: New test.
10312 * testsuite/libgomp.fortran/target5.f90: New test.
10313 * testsuite/libgomp.fortran/target6.f90: New test.
10314 * testsuite/libgomp.fortran/target7.f90: New test.
10315
92d28cbb
JJ
103162014-06-10 Jakub Jelinek <jakub@redhat.com>
10317
10318 PR fortran/60928
10319 * testsuite/libgomp.fortran/allocatable9.f90: New test.
10320 * testsuite/libgomp.fortran/allocatable10.f90: New test.
10321 * testsuite/libgomp.fortran/allocatable11.f90: New test.
10322 * testsuite/libgomp.fortran/allocatable12.f90: New test.
10323 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
10324 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
10325 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
10326 * testsuite/libgomp.fortran/associate1.f90: New test.
10327 * testsuite/libgomp.fortran/associate2.f90: New test.
10328 * testsuite/libgomp.fortran/procptr1.f90: New test.
10329
5f23671d
JJ
103302014-06-06 Jakub Jelinek <jakub@redhat.com>
10331
10332 * testsuite/libgomp.fortran/simd1.f90: New test.
10333 * testsuite/libgomp.fortran/udr1.f90: New test.
10334 * testsuite/libgomp.fortran/udr2.f90: New test.
10335 * testsuite/libgomp.fortran/udr3.f90: New test.
10336 * testsuite/libgomp.fortran/udr4.f90: New test.
10337 * testsuite/libgomp.fortran/udr5.f90: New test.
10338 * testsuite/libgomp.fortran/udr6.f90: New test.
10339 * testsuite/libgomp.fortran/udr7.f90: New test.
10340 * testsuite/libgomp.fortran/udr8.f90: New test.
10341 * testsuite/libgomp.fortran/udr9.f90: New test.
10342 * testsuite/libgomp.fortran/udr10.f90: New test.
10343 * testsuite/libgomp.fortran/udr11.f90: New test.
10344
0389fbb5
UB
103452014-05-27 Uros Bizjak <ubizjak@gmail.com>
10346
10347 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
10348 vect_simd_clones effective target.
10349 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
10350
decaaec8
JJ
103512014-05-21 Jakub Jelinek <jakub@redhat.com>
10352
10353 PR middle-end/61252
10354 * testsuite/libgomp.c++/simd-9.C: New test.
10355
72832460
UB
103562014-05-18 Uros Bizjak <ubizjak@gmail.com>
10357
10358 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
10359 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
10360 texts according to their @menu entry positions.
10361
dd2fc525
JJ
103622014-05-11 Jakub Jelinek <jakub@redhat.com>
10363
10364 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
10365 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
10366 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
10367 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
10368 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
10369 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
10370 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
10371 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
10372 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
10373 * testsuite/libgomp.fortran/depend-1.f90: New test.
10374 * testsuite/libgomp.fortran/depend-2.f90: New test.
10375 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
10376 * testsuite/libgomp.fortran/simd1.f90: New test.
10377 * testsuite/libgomp.fortran/simd2.f90: New test.
10378 * testsuite/libgomp.fortran/simd3.f90: New test.
10379 * testsuite/libgomp.fortran/simd4.f90: New test.
10380 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
10381
95782571
JJ
103822014-05-02 Jakub Jelinek <jakub@redhat.com>
10383
10384 * testsuite/libgomp.c/simd-10.c: New test.
10385 * testsuite/libgomp.c/simd-11.c: New test.
10386 * testsuite/libgomp.c/simd-12.c: New test.
10387 * testsuite/libgomp.c/simd-13.c: New test.
10388
f7468577
JJ
103892014-04-24 Jakub Jelinek <jakub@redhat.com>
10390
42056eac
JJ
10391 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
10392 atomic type clauses in any order and optional comma in between.
10393 * testsuite/libgomp.c++/atomic-15.C: Likewise.
10394 * testsuite/libgomp.c/atomic-17.c: Likewise.
10395
f7468577
JJ
10396 * testsuite/libgomp.c/simd-7.c: New test.
10397 * testsuite/libgomp.c/simd-8.c: New test.
10398 * testsuite/libgomp.c/simd-9.c: New test.
10399 * testsuite/libgomp.c/loop-16.c: New test.
10400
ab18f2f5
RH
104012014-04-02 Richard Henderson <rth@redhat.com>
10402
10403 * config/linux/futex.h (futex_wait): Get error value from errno.
10404 (futex_wake): Likewise.
10405
8bcc90b0
JJ
104062014-03-25 Jakub Jelinek <jakub@redhat.com>
10407
10408 PR c++/60331
10409 * testsuite/libgomp.c++/udr-11.C: New test.
10410 * testsuite/libgomp.c++/udr-12.C: New test.
10411 * testsuite/libgomp.c++/udr-13.C: New test.
10412 * testsuite/libgomp.c++/udr-14.C: New test.
10413 * testsuite/libgomp.c++/udr-15.C: New test.
10414 * testsuite/libgomp.c++/udr-16.C: New test.
10415 * testsuite/libgomp.c++/udr-17.C: New test.
10416 * testsuite/libgomp.c++/udr-18.C: New test.
10417 * testsuite/libgomp.c++/udr-19.C: New test.
10418
18d73c7f
RS
104192014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10420
10421 Update copyright years
10422
f9030485
RS
104232014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10424
10425 * hashtab.h: Use the standard form for the copyright notice.
10426
98db73df
TB
104272014-01-02 Tobias Burnus <burnus@net-b.de>
10428
10429 * libgomp.texi: Bump @copying's copyright year.
10430
ae246f7f
AT
104312013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
10432
93d90219 10433 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
10434 alloca () with __builtin_alloca ().
10435 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
10436 * testsuite/libgomp.c/lock-3.c: Likewise.
10437 * testsuite/libgomp.c/pr48591.c: Likewise.
10438
fa00a5fe
JJ
104392013-12-17 Jakub Jelinek <jakub@redhat.com>
10440
10441 PR testsuite/59534
10442 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
10443 comparisons.
10444
e9792e1d
JJ
104452013-12-16 Jakub Jelinek <jakub@redhat.com>
10446
10447 PR libgomp/58756
10448 * testsuite/libgomp.c/pr58756.c: New test.
10449
cab37c89
JJ
104502013-12-12 Jakub Jelinek <jakub@redhat.com>
10451
10452 PR libgomp/59467
10453 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
10454 !$omp parallel.
10455
de14871c
TS
104562013-11-07 Thomas Schwinge <thomas@codesourcery.com>
10457
1707a5de
TS
10458 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
10459 ALWAYS_CFLAGS.
10460 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
10461 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
10462 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
10463 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
10464 Likewise.
10465
70f05c43
TS
10466 * libgomp_g.h: Include <stddef.h> for size_t.
10467
de14871c
TS
10468 * libgomp.spec.in: Update comment about libgomp's dependencies.
10469 * configure.ac: Likewise.
10470 * configure: Regenerate.
10471
83fd6c5b
TB
104722013-10-16 Tobias Burnus <burnus@net-b.de>
10473
10474 * libgomp.texi: (Runtime Library Routines): Update references for
10475 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
10476 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
10477 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
10478 (Environment Variables): Update references for OpenMP 4.0. Add
10479 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
10480 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
10481 order.
10482
c8673881
JJ
104832013-10-14 Jakub Jelinek <jakub@redhat.com>
10484
10485 * env.c (parse_bind_var): Initialize value to avoid
10486 (false positive) warning.
10487
f89163fd
JJ
104882013-10-12 Jakub Jelinek <jakub@redhat.com>
10489
10490 PR libgomp/58691
10491 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
10492 to check variable.
10493 (gomp_init_num_threads): Move i variable declaration into
10494 #ifdef CPU_ALLOC_SIZE block.
10495 * config/linux/affinity.c (gomp_affinity_init_level): Test
10496 gomp_places_list_len == 0 rather than gomp_places_list == 0
10497 when checking for topology reading error.
10498 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
10499 * env.c (parse_affinity): Add ignore argument, if true, don't populate
10500 gomp_places_list, only parse env var and always return false.
10501 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
10502 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
10503 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
10504 and either of these variables were parsed correctly into a places
10505 list.
10506
1d340638
TS
105072013-10-11 Thomas Schwinge <thomas@codesourcery.com>
10508 Jakub Jelinek <jakub@redhat.com>
10509
10510 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
10511 of 5 loopfn matches.
10512 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10513 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10514 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10515 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10516 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10517 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10518 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10519 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10520
71a81c21
TS
105212013-10-11 Thomas Schwinge <thomas@codesourcery.com>
10522
bd87f731
TS
10523 * Makefile.am (omp_lib.mod): Streamline rule.
10524 * Makefile.in: Regenerate.
10525
f5745bed
TS
10526 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
10527 exceptions.
10528
b5512c66
TS
10529 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
10530 * testsuite/libgomp.fortran/lib1.f90: Likewise.
10531 * testsuite/libgomp.fortran/lib2.f: Likewise.
10532 * testsuite/libgomp.fortran/lib3.f: Likewise.
10533
451c19c4
TS
10534 * configure.ac: Typo fix.
10535 * configure: Regenerate.
10536
86a6016d
TS
10537 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
10538 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10539
71a81c21
TS
10540 * omp.h.in: Don't touch the user's namespace.
10541
acf0174b
JJ
105422013-10-11 Jakub Jelinek <jakub@redhat.com>
10543 Tobias Burnus <burnus@net-b.de>
10544 Richard Henderson <rth@redhat.com>
10545
10546 * target.c: New file.
10547 * Makefile.am (libgomp_la_SOURCES): Add target.c.
10548 * Makefile.in: Regenerated.
10549 * libgomp_g.h (GOMP_task): Add depend argument.
10550 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10551 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10552 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
10553 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10554 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10555 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
10556 GOMP_taskgroup_start, GOMP_taskgroup_end,
10557 GOMP_parallel_sections): New prototypes.
10558 * fortran.c (omp_is_initial_device): Add ialias_redirect.
10559 (omp_is_initial_device_): New function.
10560 (ULP, STR1, STR2, ialias_redirect): Removed.
10561 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
10562 omp_set_default_device_8_, omp_get_default_device_,
10563 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
10564 functions.
10565 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10566 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10567 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
10568 @@GOMP_4.0.
10569 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
10570 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
10571 omp_set_default_device, omp_set_default_device_,
10572 omp_set_default_device_8_, omp_get_default_device,
10573 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
10574 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
10575 omp_get_team_num_): Export @@OMP_4.0.
10576 * team.c (struct gomp_thread_start_data): Add place field.
10577 (gomp_thread_start): Clear thr->thread_pool and
10578 thr->task before returning. Use gomp_team_barrier_wait_final
10579 instead of gomp_team_barrier_wait. Initialize thr->place.
10580 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
10581 team_cancelled and task_queued_count fields.
10582 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
10583 before calling pthread_exit.
10584 (gomp_free_thread): No longer static. Use
10585 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
10586 (gomp_team_start): Add flags argument. Set
10587 thr->thread_pool->threads_busy to nthreads immediately after creating
10588 new pool. Use gomp_managed_threads_lock instead of
10589 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
10590 (gomp_team_end): Use gomp_managed_threads_lock instead of
10591 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
10592 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 10593 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
10594 rather than thr->ts.work_share.
10595 (initialize_team): Don't call gomp_sem_init here.
10596 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
10597 caller.
10598 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
10599 * env.c (gomp_global_icv): Add default_device_var, target_data and
10600 bind_var initializers.
10601 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10602 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10603 gomp_places_list_len): New variables.
10604 (parse_bind_var, parse_one_place, parse_places_var): New functions.
10605 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10606 sized places.
10607 (gomp_cancel_var): New global variable.
10608 (parse_int): New function.
10609 (handle_omp_display_env): New function.
10610 (initialize_env): Use it. Initialize default_device_var.
10611 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
10612 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
10613 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
10614 been successfully parsed (and call gomp_init_affinity in that case).
10615 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10616 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10617 omp_get_team_num, omp_is_initial_device): New functions.
10618 * libgomp.h: Include stdlib.h.
10619 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10620 Define.
10621 (struct target_mem_desc): Forward declare.
10622 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10623 and thread_limit_var fields.
10624 (gomp_get_num_devices): New prototype.
10625 (gomp_cancel_var): New extern decl.
10626 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10627 team_cancelled and task_queued_count fields. Add comments about
10628 task_{,queued_,running_}count.
10629 (gomp_cancel_kind): New enum.
10630 (gomp_work_share_end_cancel): New prototype.
10631 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10632 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10633 and depend fields.
10634 (struct gomp_taskgroup): New type.
10635 (struct gomp_task_depend_entry,
10636 struct gomp_dependers_vec): New types.
10637 (gomp_finish_task): Free depend_hash if non-NULL.
10638 (struct gomp_team_state): Add place_partition_off
10639 and place_partition_len fields.
10640 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10641 gomp_places_list_len): New extern decls.
10642 (struct gomp_thread): Add place field.
10643 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10644 (gomp_init_thread_affinity): Add place argument.
10645 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10646 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10647 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10648 gomp_affinity_init_level, gomp_affinity_print_place): New
10649 prototypes.
10650 (gomp_team_start): Add flags argument.
10651 (gomp_thread_limit_var, gomp_remaining_threads_count,
10652 gomp_remaining_threads_lock): Remove.
10653 (gomp_managed_threads_lock): New variable.
10654 (struct gomp_thread_pool): Add threads_busy field.
10655 (gomp_free_thread): New prototype.
10656 * task.c: Include hashtab.h.
10657 (hash_entry_type): New typedef.
10658 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10659 (gomp_init_task): Clear dependers, depend_hash, depend_count,
10660 copy_ctors_done and taskgroup fields.
10661 (GOMP_task): Add depend argument, handle depend clauses. If
10662 gomp_team_barrier_cancelled or if it's taskgroup has been
10663 cancelled, don't queue or start new tasks. Set copy_ctors_done
10664 field if needed. Initialize taskgroup field. If copy_ctors_done
10665 and already cancelled, don't discard the task. If taskgroup is
10666 non-NULL, enqueue the task into taskgroup queue. Increment
10667 num_children field in taskgroup. Increment task_queued_count.
10668 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10669 gomp_task_run_post_remove_taskgroup): New inline functions.
10670 (gomp_task_run_post_handle_depend_hash,
10671 gomp_task_run_post_handle_dependers,
10672 gomp_task_run_post_handle_depend): New functions.
10673 (GOMP_taskwait): Use them. If more than one new tasks
10674 have been queued, wake other threads if needed.
10675 (gomp_barrier_handle_tasks): Likewise. If
10676 gomp_team_barrier_cancelled, don't start any new tasks, just free
10677 all tasks.
10678 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10679 * omp_lib.f90.in
10680 (omp_proc_bind_kind, omp_proc_bind_false,
10681 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10682 omp_proc_bind_spread): New params.
10683 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10684 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10685 omp_get_team_num, omp_is_initial_device): New interfaces.
10686 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10687 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10688 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10689 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10690 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10691 useless use omp_lib_kinds.
10692 * omp.h.in (omp_proc_bind_t): New typedef.
10693 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10694 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10695 omp_get_team_num, omp_is_initial_device): New prototypes.
10696 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10697 through to gomp_team_start.
10698 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10699 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10700 Adjust gomp_parallel_loop_start callers.
10701 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10702 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10703 GOMP_loop_end_cancel): New functions.
10704 (GOMP_parallel_end): Add ialias_redirect.
10705 * hashtab.h: New file.
10706 * libgomp.texi (Environment Variables): Minor cleanup,
10707 update section refs to OpenMP 4.0rc2.
10708 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10709 environment variables.
10710 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10711 team->work_shares_to_free to thr->ts.work_share before calling
10712 free_work_share.
10713 (gomp_work_share_end_cancel): New function.
10714 * config/linux/proc.c: Include errno.h.
10715 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10716 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10717 sizeof (cpu_set_t) to determine number of iterations. Fix up check
10718 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
10719 gomp_cpuset_size is sizeof (cpu_set_t).
10720 (gomp_init_num_threads): Initialize gomp_cpuset_size,
10721 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10722 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10723 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
10724 contain any logical CPUs.
10725 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10726 is NULL. Use gomp_cpusetp instead of &cpuset and pass
10727 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10728 pthread_getaffinity_np. Check gomp_places_list instead of
10729 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
10730 * config/linux/bar.c (gomp_barrier_wait_end,
10731 gomp_barrier_wait_last): Use BAR_* defines.
10732 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
10733 from state where needed. Set work_share_cancelled to 0 on last
10734 thread.
10735 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10736 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10737 functions.
10738 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10739 Add cpusetsize argument.
10740 (gomp_cpuset_size, gomp_cpusetp): Declare.
10741 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10742 (affinity_counter): Remove.
10743 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10744 if CPU_ALLOC_SIZE isn't defined.
10745 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10746 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10747 bind current thread to the first place.
10748 (gomp_init_thread_affinity): Rewritten. Add place argument, just
10749 pthread_setaffinity_np to gomp_places_list[place].
10750 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10751 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10752 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10753 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10754 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10755 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10756 (gomp_barrier_t): Add awaited_final field.
10757 (gomp_barrier_init): Initialize awaited_final field.
10758 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10759 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10760 prototypes.
10761 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
10762 defines.
10763 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10764 gomp_team_barrier_cancelled): New inline functions.
10765 (gomp_barrier_last_thread,
10766 gomp_team_barrier_set_task_pending,
10767 gomp_team_barrier_clear_task_pending,
10768 gomp_team_barrier_set_waiting_for_tasks,
10769 gomp_team_barrier_waiting_for_tasks,
10770 gomp_team_barrier_done): Use BAR_* defines.
10771 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10772 (gomp_barrier_wait_end): Use BAR_* defines.
10773 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10774 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10775 Use BAR_* defines.
10776 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10777 gomp_team_barrier_cancel): New functions.
10778 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10779 argument.
10780 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10781 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10782 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10783 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10784 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10785 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10786 (gomp_barrier_t): Add cancellable field.
10787 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10788 gomp_team_barrier_cancel): New prototypes.
10789 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10790 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10791 gomp_team_barrier_cancelled): New inline functions.
10792 (gomp_barrier_wait_start, gomp_barrier_last_thread,
10793 gomp_team_barrier_set_task_pending,
10794 gomp_team_barrier_clear_task_pending,
10795 gomp_team_barrier_set_waiting_for_tasks,
10796 gomp_team_barrier_waiting_for_tasks,
10797 gomp_team_barrier_done): Use BAR_* defines.
10798 * barrier.c (GOMP_barrier_cancel): New function.
10799 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10800 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10801 omp_proc_bind_spread): New params.
10802 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10803 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10804 omp_get_team_num, omp_is_initial_device): New externals.
10805 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10806 New functions.
10807 (gomp_resolve_num_threads): Adjust for thread_limit now being in
10808 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10809 infinity. If not nested, just return minimum of max_num_threads
10810 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10811 to the returned value. Otherwise, don't update atomically
10812 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10813 (GOMP_parallel_end): Adjust for thread_limit now being in
10814 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10815 infinity. Adjust threads_busy in the pool rather than
10816 gomp_remaining_threads_count. Remember team->nthreads and call
10817 gomp_team_end before adjusting threads_busy, if not nested
10818 afterwards, just set it to 1 non-atomically. Add ialias.
10819 (GOMP_parallel_start): Adjust gomp_team_start caller.
10820 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10821 * testsuite/libgomp.c/affinity-1.c: New test.
10822 * testsuite/libgomp.c/atomic-15.c: New test.
10823 * testsuite/libgomp.c/atomic-16.c: New test.
10824 * testsuite/libgomp.c/atomic-17.c: New test.
10825 * testsuite/libgomp.c/cancel-for-1.c: New test.
10826 * testsuite/libgomp.c/cancel-for-2.c: New test.
10827 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10828 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10829 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10830 * testsuite/libgomp.c/cancel-sections-1.c: New test.
10831 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10832 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10833 * testsuite/libgomp.c/depend-1.c: New test.
10834 * testsuite/libgomp.c/depend-2.c: New test.
10835 * testsuite/libgomp.c/depend-3.c: New test.
10836 * testsuite/libgomp.c/depend-4.c: New test.
10837 * testsuite/libgomp.c/for-1.c: New test.
10838 * testsuite/libgomp.c/for-1.h: New file.
10839 * testsuite/libgomp.c/for-2.c: New test.
10840 * testsuite/libgomp.c/for-2.h: New file.
10841 * testsuite/libgomp.c/for-3.c: New test.
10842 * testsuite/libgomp.c/pr58392.c: New test.
10843 * testsuite/libgomp.c/simd-1.c: New test.
10844 * testsuite/libgomp.c/simd-2.c: New test.
10845 * testsuite/libgomp.c/simd-3.c: New test.
10846 * testsuite/libgomp.c/simd-4.c: New test.
10847 * testsuite/libgomp.c/simd-5.c: New test.
10848 * testsuite/libgomp.c/simd-6.c: New test.
10849 * testsuite/libgomp.c/target-1.c: New test.
10850 * testsuite/libgomp.c/target-2.c: New test.
10851 * testsuite/libgomp.c/target-3.c: New test.
10852 * testsuite/libgomp.c/target-4.c: New test.
10853 * testsuite/libgomp.c/target-5.c: New test.
10854 * testsuite/libgomp.c/target-6.c: New test.
10855 * testsuite/libgomp.c/target-7.c: New test.
10856 * testsuite/libgomp.c/taskgroup-1.c: New test.
10857 * testsuite/libgomp.c/thread-limit-1.c: New test.
10858 * testsuite/libgomp.c/thread-limit-2.c: New test.
10859 * testsuite/libgomp.c/thread-limit-3.c: New test.
10860 * testsuite/libgomp.c/udr-1.c: New test.
10861 * testsuite/libgomp.c/udr-2.c: New test.
10862 * testsuite/libgomp.c/udr-3.c: New test.
10863 * testsuite/libgomp.c++/affinity-1.C: New test.
10864 * testsuite/libgomp.c++/atomic-10.C: New test.
10865 * testsuite/libgomp.c++/atomic-11.C: New test.
10866 * testsuite/libgomp.c++/atomic-12.C: New test.
10867 * testsuite/libgomp.c++/atomic-13.C: New test.
10868 * testsuite/libgomp.c++/atomic-14.C: New test.
10869 * testsuite/libgomp.c++/atomic-15.C: New test.
10870 * testsuite/libgomp.c++/cancel-for-1.C: New test.
10871 * testsuite/libgomp.c++/cancel-for-2.C: New test.
10872 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10873 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10874 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10875 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10876 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10877 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10878 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10879 * testsuite/libgomp.c++/cancel-test.h: New file.
10880 * testsuite/libgomp.c++/for-9.C: New test.
10881 * testsuite/libgomp.c++/for-10.C: New test.
10882 * testsuite/libgomp.c++/for-11.C: New test.
10883 * testsuite/libgomp.c++/simd-1.C: New test.
10884 * testsuite/libgomp.c++/simd-2.C: New test.
10885 * testsuite/libgomp.c++/simd-3.C: New test.
10886 * testsuite/libgomp.c++/simd-4.C: New test.
10887 * testsuite/libgomp.c++/simd-5.C: New test.
10888 * testsuite/libgomp.c++/simd-6.C: New test.
10889 * testsuite/libgomp.c++/simd-7.C: New test.
10890 * testsuite/libgomp.c++/simd-8.C: New test.
10891 * testsuite/libgomp.c++/target-1.C: New test.
10892 * testsuite/libgomp.c++/target-2.C: New test.
10893 * testsuite/libgomp.c++/target-2-aux.cc: New file.
10894 * testsuite/libgomp.c++/target-3.C: New test.
10895 * testsuite/libgomp.c++/taskgroup-1.C: New test.
10896 * testsuite/libgomp.c++/udr-1.C: New test.
10897 * testsuite/libgomp.c++/udr-2.C: New test.
10898 * testsuite/libgomp.c++/udr-3.C: New test.
10899 * testsuite/libgomp.c++/udr-4.C: New test.
10900 * testsuite/libgomp.c++/udr-5.C: New test.
10901 * testsuite/libgomp.c++/udr-6.C: New test.
10902 * testsuite/libgomp.c++/udr-7.C: New test.
10903 * testsuite/libgomp.c++/udr-8.C: New test.
10904 * testsuite/libgomp.c++/udr-9.C: New test.
10905
bd599dea
JJ
109062013-09-20 Jakub Jelinek <jakub@redhat.com>
10907
10908 PR testsuite/57605
10909 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10910 ALWAYS_CFLAGS.
10911
3cbe17f7
AM
109122013-09-20 Alan Modra <amodra@gmail.com>
10913
10914 * configure: Regenerate.
10915
4befd127
JJ
109162013-09-19 Jakub Jelinek <jakub@redhat.com>
10917
10918 * testsuite/libgomp.c/sections-2.c: New test.
10919
946c8f7b
MS
109202013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
10921
10922 * testsuite/libgomp.fortran/strassen.f90:
10923 Add dg-skip-if aarch64_tiny.
10924
1ef3b58e
IS
109252013-06-20 Iain Sandoe <iain@codesourcery.com>
10926 Cesar Philippidis <cesar@codesourcery.com>
10927
10928 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10929 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10930 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10931 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10932 * testsuite/libgomp.graphite/graphite.exp: Likewise.
10933 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10934 Use dg-runtest rather than gfortran-dg-runtest.
10935
9275f73a
TS
109362013-06-10 Thomas Schwinge <thomas@codesourcery.com>
10937
10938 * testsuite/libgomp.c/icv-2.c: Extend current handling of
10939 Linux-based x86 systems to cover all GNU systems.
10940 * testsuite/libgomp.c/lock-3.c: Likewise.
10941 * testsuite/libgomp.c/pr48591.c: Likewise.
10942
492992e2
TS
109432013-06-06 Thomas Schwinge <thomas@codesourcery.com>
10944
48df3acb
TS
10945 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10946 GNU/Hurd, as done for Linux-based systems.
10947
492992e2
TS
10948 * config/posix/ptrlock.h: Fix comment.
10949
4fed6b25
TB
109502013-05-27 Tobias Burnus <burnus@net-b.de>
10951
10952 PR fortran/57423
10953 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10954 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10955 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10956 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10957 omp_destroy_nest_lock): Correct arguments to match the one in
10958 the OpenMP spec.
10959 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10960 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10961 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10962 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10963
5a0f4dd3
JJ
109642013-05-16 Jakub Jelinek <jakub@redhat.com>
10965
10966 * testsuite/libgomp.c/loop-13.c: New test.
10967 * testsuite/libgomp.c/loop-14.c: New test.
10968 * testsuite/libgomp.c/loop-15.c: New test.
10969 * testsuite/libgomp.c++/loop-13.C: New test.
10970 * testsuite/libgomp.c++/loop-14.C: New test.
10971 * testsuite/libgomp.c++/loop-15.C: New test.
10972
6d840d99
JJ
109732013-02-06 Jakub Jelinek <jakub@redhat.com>
10974
10975 PR middle-end/56217
10976 * testsuite/libgomp.c++/pr56217.C: New test.
10977
bed8d8a6
AM
109782013-02-01 Alan Modra <amodra@gmail.com>
10979
10980 * task.c (GOMP_task, GOMP_taskwait): Comment.
10981
3b35cd04
DV
109822013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
10983 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
10984
10985 PR libgomp/55561
10986 * config/linux/wait.h (do_spin): Use atomic load for addr.
10987 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10988 for intptr and ptrlock.
10989 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10990 for ptrlock.
10991
9a647288
AM
109922013-01-22 Alan Modra <amodra@gmail.com>
10993
10994 PR libgomp/51376
10995 PR libgomp/56073
10996 * task.c (GOMP_task): Revert 2011-12-09 change.
10997 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
10998 barrier to read task->children..
10999 (gomp_barrier_handle_tasks): ..and matching atomic store with
11000 release barrier here when setting parent->children to NULL.
11001
f34dea03
JJ
110022013-01-16 Jakub Jelinek <jakub@redhat.com>
11003 Tobias Burnus <burnus@net-b.de>
11004
11005 PR driver/55884
11006 * testsuite/libgomp.fortran/fortran.exp: Use
11007 -fintrinsic-modules-path= instead of
11008 -fintrinsic-modules-path.
11009
8129609c
RS
110102013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
11011
11012 Update copyright years.
11013
aa86bf1e
TB
110142012-12-19 Tobias Burnus <burnus@net-b.de>
11015
11016 * testsuite/libgomp.fortran/fortran.exp: Set
11017 -fintrinsic-modules-path.
11018
2865ea66
TB
110192012-12-19 Tobias Burnus <burnus@net-b.de>
11020
11021 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
11022 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
11023
4c5ba8d0
JJ
110242012-11-21 Jakub Jelinek <jakub@redhat.com>
11025
11026 PR libgomp/55411
11027 * team.c (gomp_free_thread): Decrease gomp_managed_threads
11028 if pool had any threads_used.
11029
e9f958c2
JH
110302012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
11031
11032 * testsuite/libgomp.c++/pr24455.C: Use
11033 -Wl,-undefined,dynamic_lookup on darwin.
11034
a57d75dc
DE
110352012-11-07 David Edelsohn <dje.gcc@gmail.com>
11036
11037 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
11038
c6c08485
DH
110392012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
11040
11041 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
11042
c1f37c00
IB
110432012-10-23 Ian Bolton <ian.bolton@arm.com>
11044 Jim MacArthur <jim.macarthur@arm.com>
11045 Marcus Shawcroft <marcus.shawcroft@arm.com>
11046 Nigel Stephens <nigel.stephens@arm.com>
11047 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11048 Richard Earnshaw <rearnsha@arm.com>
11049 Sofiane Naci <sofiane.naci@arm.com>
11050 Stephen Thomas <stephen.thomas@arm.com>
11051 Tejas Belagod <tejas.belagod@arm.com>
11052 Yufeng Zhang <yufeng.zhang@arm.com>
11053
11054 * configure.tgt: Add AArch64.
11055
7c424acd
JM
110562012-10-04 Jason Merrill <jason@redhat.com>
11057
11058 * testsuite/libgomp.c++/tls-init1.C: New.
11059
6608378b
DE
110602012-09-14 David Edelsohn <dje.gcc@gmail.com>
11061
11062 * configure: Regenerated.
11063
c24dbebb
CLT
110642012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
11065
11066 * config/linux/mips/futex.h (sys_futex0): Change to static
11067 function with noinline, nomips16 attributes under MIPS16. Adjust
11068 asm statement to place 'li v0,SYS_futex' immediately before
11069 syscall insn.
11070
3d3949df
SL
110712012-07-04 Sandra Loosemore <sandra@codesourcery.com>
11072
11073 * libgomp.texi (Library Index): Renamed from "Index" to prevent
11074 conflict with index.html on case-insensitive file systems.
11075
68a12ef3
UB
110762012-07-03 Uros Bizjak <ubizjak@gmail.com>
11077
11078 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
11079 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
11080
33ad93b9 110812012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
11082 Michael Matz <matz@suse.de>
11083 Tobias Grosser <tobias@grosser.es>
11084 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
11085
11086 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
11087 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11088 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11089 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11090
e6fdc918
AS
110912012-06-28 Andreas Schwab <schwab@linux-m68k.org>
11092
11093 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
11094
62e0a1ed
RG
110952012-06-22 Richard Guenther <rguenther@suse.de>
11096
11097 Merge from graphite branch
11098 2012-01-13 Tobias Grosser <tobias@grosser.es>
11099
11100 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11101 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11102
26127932
JJ
111032012-06-07 Jakub Jelinek <jakub@redhat.com>
11104
11105 PR middle-end/53580
11106 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
11107 use GOMP_barrier () call instead.
11108 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11109 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11110 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
11111 call GOMP_barrier instead.
11112 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11113
43fa5db5
JJ
111142012-06-06 Jakub Jelinek <jakub@redhat.com>
11115
11116 PR libgomp/52993
11117 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
11118 argument to memset call.
11119
e6d5f8c9
L
111202012-05-16 H.J. Lu <hongjiu.lu@intel.com>
11121
11122 * configure: Regenerated.
11123
559d990c
MLI
111242012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11125
11126 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
11127
b9c23a61
L
111282012-03-31 H.J. Lu <hongjiu.lu@intel.com>
11129
11130 PR bootstrap/52812
11131 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
11132
c140ddf3
JJ
111332012-03-22 Jakub Jelinek <jakub@redhat.com>
11134
11135 PR middle-end/52547
11136 * testsuite/libgomp.c/pr52547.c: New test.
11137
6a26a74d
BRF
111382012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11139
11140 * testsuite/lib/libgomp.exp: load fortran-modules.exp
11141
b24513a1
RO
111422012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11143
11144 * configure.tgt (mips-sgi-irix6*): Remove.
11145
5c30094f
RO
111462012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11147
11148 * configure.tgt (alpha*-dec-osf*): Remove.
11149
11150 * config/osf/sem.h: Remove.
11151 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
11152
a339c9d6
EB
111532012-02-29 Eric Botcazou <ebotcazou@adacore.com>
11154
11155 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
11156
cc2de92d
RO
111572012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11158
11159 PR libstdc++/52188
11160 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
11161 Remove ENABLE_SYMVERS_SOL2.
11162 * configure: Regenerate.
11163 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
11164 (PREPROCESS): New variable.
11165 (libgomp.ver): New target.
11166 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
11167 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
11168 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
11169 Use libgomp.ver.
11170 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
11171 * Makefile.in: Regenerate.
11172
dd552284
WL
111732012-02-14 Walter Lee <walt@tilera.com>
11174
11175 * configure.tgt: Handle tilegx and tilepro.
11176 * config/linux/tile/futex.h: New file.
11177
31432e21
RG
111782012-02-08 Richard Guenther <rguenther@suse.de>
11179
11180 PR tree-optimization/46886
11181 * testsuite/libgomp.c/pr46886.c: New testcase.
11182
b9264b5f
MK
111832012-01-25 Matthias Klose <doko@ubuntu.com>
11184
11185 * config/linux/arm: Remove empty directory.
11186 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
11187
fbf7be80
AM
111882011-12-09 Alan Modra <amodra@gmail.com>
11189
11190 PR libgomp/51376
11191 * task.c (GOMP_taskwait): Don't access task->children outside of
11192 task_lock mutex region.
11193 (GOMP_task): Likewise.
11194
5de62d00
JJ
111952011-12-06 Jakub Jelinek <jakub@redhat.com>
11196
11197 PR libgomp/51132
11198 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
11199 to file scope.
11200 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11201 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11202 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11203 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11204 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11205
45608a43
AM
112062011-12-02 Alan Modra <amodra@gmail.com>
11207
11208 * config/linux/affinity.c: Use atomic rather than sync builtin.
11209 * config/linux/lock.c: Likewise.
11210 * config/linux/ptrlock.h: Likewise.
11211 * config/linux/ptrlock.c: Likewise.
11212 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
11213 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
11214 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
11215 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
11216 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
11217 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
11218 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
11219 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
11220 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
11221 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
11222
ab6dd406
AM
112232011-11-30 Alan Modra <amodra@gmail.com>
11224
11225 PR libgomp/51298
11226 * config/linux/bar.h: Use atomic rather than sync builtins.
11227 * config/linux/bar.c: Likewise. Add missing acquire
11228 synchronisation on generation field.
11229 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
11230 double unlock.
11231
b40c885f
AM
112322011-11-30 Alan Modra <amodra@gmail.com>
11233
11234 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
11235 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
11236 * config/linux/mutex.h: Use atomic rather than sync builtins.
11237 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
11238 * config/linux/omp-lock.h: Comment fix.
11239 * config/linux/arm/mutex.h: Delete.
11240 * config/linux/powerpc/mutex.h: Delete.
11241 * config/linux/ia64/mutex.h: Delete.
11242 * config/linux/mips/mutex.h: Delete.
11243
3e348fcc
AM
112442011-11-30 Alan Modra <amodra@gmail.com>
11245
11246 PR libgomp/51249
11247 * config/linux/sem.h: Rewrite.
11248 * config/linux/sem.c: Rewrite.
11249
cef86eb2
RH
112502011-11-28 Richard Henderson <rth@redhat.com>
11251
11252 * libgomp.h (enum memmodel): New.
11253
c6084f68
AT
112542011-11-21 Andreas Tobler <andreast@fgznet.ch>
11255
11256 * configure: Regenerate.
11257
06fe026c
MK
112582011-10-10 Matthias Klose <doko@ubuntu.com>
11259
11260 * config/posix95: Remove empty directory.
11261
a6c975bd
JJ
112622011-08-26 Jakub Jelinek <jakub@redhat.com>
11263
11264 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
11265
c26dffff
JJ
112662011-08-19 Jakub Jelinek <jakub@redhat.com>
11267
11268 PR fortran/49792
11269 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
11270 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
11271
ddaad3c8
RO
112722011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11273
11274 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
11275
98d03683
RO
112762011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11277
11278 PR libgomp/49965
11279 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
11280
e0b23d9f
UB
112812011-08-03 Uros Bizjak <ubizjak@gmail.com>
11282
11283 * config/linux/proc.h: New.
11284 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
11285 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
11286 (gomp_init_num_threads): Update call to cpuset_popcount.
11287 (get_num_procs): Ditto.
11288 * config/linux/affinity.c (gomp_init_affinity): Call
11289 gomp_cpuset_popcount.
11290
20906c66
JJ
112912011-08-02 Jakub Jelinek <jakub@redhat.com>
11292
11293 PR fortran/42041
11294 PR fortran/46752
11295 * omp.h.in (omp_in_final): New prototype.
11296 * omp_lib.f90.in (omp_in_final): New interface.
11297 (omp_integer_kind, omp_logical_kind): Remove
11298 and replace all its uses in the module with 4.
11299 (openmp_version): Change to 201107.
11300 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
11301 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
11302 kind for the parameters.
11303 (omp_in_final): New external.
11304 (openmp_version): Change to 201107.
11305 * task.c (omp_in_final): New function.
11306 (gomp_init_task): Initialize final_task.
11307 (GOMP_task): Remove unused attribute from flags. Handle final
11308 tasks.
11309 (GOMP_taskyield): New function.
11310 (omp_in_final): Return true if if (false) or final (true) task
11311 or descendant of final (true).
11312 * fortran.c (omp_in_final_): New function.
11313 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
11314 (GOMP_3.0): Export GOMP_taskyield.
11315 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
11316 variables.
11317 (parse_unsigned_long_list): New function.
11318 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
11319 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
11320 even if parse_affinity returned false.
11321 * config/linux/affinity.c (gomp_init_affinity): Handle
11322 gomp_cpu_affinity_len == 0.
11323 * libgomp_g.h (GOMP_taskyield): New prototype.
11324 * libgomp.h (struct gomp_task): Add final_task field.
11325 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
11326 * team.c (gomp_team_start): Override new task's nthreads_var icv
11327 if list form OMP_NUM_THREADS has been used and it has value for
11328 the new nesting level.
11329
11330 * testsuite/libgomp.c/atomic-11.c: New test.
11331 * testsuite/libgomp.c/atomic-12.c: New test.
11332 * testsuite/libgomp.c/atomic-13.c: New test.
11333 * testsuite/libgomp.c/atomic-14.c: New test.
11334 * testsuite/libgomp.c/reduction-6.c: New test.
11335 * testsuite/libgomp.c/task-5.c: New test.
11336 * testsuite/libgomp.c++/atomic-2.C: New test.
11337 * testsuite/libgomp.c++/atomic-3.C: New test.
11338 * testsuite/libgomp.c++/atomic-4.C: New test.
11339 * testsuite/libgomp.c++/atomic-5.C: New test.
11340 * testsuite/libgomp.c++/atomic-6.C: New test.
11341 * testsuite/libgomp.c++/atomic-7.C: New test.
11342 * testsuite/libgomp.c++/atomic-8.C: New test.
11343 * testsuite/libgomp.c++/atomic-9.C: New test.
11344 * testsuite/libgomp.c++/task-8.C: New test.
11345 * testsuite/libgomp.c++/reduction-4.C: New test.
11346 * testsuite/libgomp.fortran/allocatable7.f90: New test.
11347 * testsuite/libgomp.fortran/allocatable8.f90: New test.
11348 * testsuite/libgomp.fortran/crayptr3.f90: New test.
11349 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
11350 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
11351 * testsuite/libgomp.fortran/pointer1.f90: New test.
11352 * testsuite/libgomp.fortran/pointer2.f90: New test.
11353 * testsuite/libgomp.fortran/task4.f90: New test.
11354
113552011-08-02 Tobias Burnus <burnus@net-b.de>
11356
11357 * libgomp.texi: Update OpenMP spec references to 3.1.
11358 (omp_in_final,OMP_PROC_BIND): New sections.
11359 (OMP_NUM_THREADS): Document that the value can be now a list.
11360 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
11361
c01ecafc
L
113622011-08-02 H.J. Lu <hongjiu.lu@intel.com>
11363
11364 * config/linux/x86/futex.h: Check __x86_64__ instead of
11365 __LP64__.
11366
25142650
JJ
113672011-07-29 Jakub Jelinek <jakub@redhat.com>
11368
11369 PR middle-end/49897
11370 PR middle-end/49898
11371 * testsuite/libgomp.c/pr49897-1.c: New test.
11372 * testsuite/libgomp.c/pr49897-2.c: New test.
11373 * testsuite/libgomp.c/pr49898-1.c: New test.
11374 * testsuite/libgomp.c/pr49898-2.c: New test.
11375
f53d712f
L
113762011-07-28 H.J. Lu <hongjiu.lu@intel.com>
11377
11378 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
11379 for ia32 instead of ilp32.
11380
11381 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
11382 * testsuite/libgomp.c/atomic-6.c: Likewise.
11383
3689198d
SP
113842011-07-23 Sebastian Pop <sebastian.pop@amd.com>
11385
11386 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
11387 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
11388
1a79cb73
RO
113892011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11390
11391 PR libgomp/45351
11392 * config/osf/sem.h: New file.
11393 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
11394
c1f51484
RO
113952011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11396
11397 PR target/49541
11398 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
11399 ldflags.
11400
bfee0724
JJ
114012011-07-15 Jakub Jelinek <jakub@redhat.com>
11402
11403 * config/linux/wait.h (do_spin): New inline, largely copied
11404 from do_wait, just don't do futex_wait here, instead return true if
11405 it should be done.
11406 (do_wait): Implement using do_spin.
11407 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
11408 to prototype.
11409 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11410 __sync_bool_compare_and_swap, pass the oldval to
11411 gomp_mutex_lock_slow.
11412 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
11413 If all mutex contenders are just spinning and not sleeping, don't
11414 change state to 2 unnecessarily. Optimize the loop when state has
11415 already become 2 to use just one atomic operation per loop instead
11416 of two.
11417 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
11418 to prototype.
11419 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11420 __sync_bool_compare_and_swap, pass the oldval to
11421 gomp_mutex_lock_slow.
11422
fb79f500
JJ
114232011-06-22 Jakub Jelinek <jakub@redhat.com>
11424
11425 PR libgomp/49490
11426 * iter.c (gomp_iter_static_next): For chunk size 0
11427 only use n ceil/ nthreads size for the first
11428 n % nthreads threads in the team instead of
11429 all threads except for the last few ones which
11430 get less work or none at all.
11431 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
11432 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
11433 chunk argument, set run_sched_modifier to 0 for static
11434 resp. 1 for other kinds. If chunk argument is 0
11435 and not static, set value to 1.
11436
4577f730
JJ
114372011-05-19 Jakub Jelinek <jakub@redhat.com>
11438
ea93a47b
JJ
11439 PR c++/49043
11440 * testsuite/libgomp.c++/pr49043.C: New test.
11441
4577f730
JJ
11442 PR c++/48869
11443 * testsuite/libgomp.c++/pr48869.C: New test.
11444
e7385332
JJ
114452011-05-06 Jakub Jelinek <jakub@redhat.com>
11446
11447 PR fortran/48894
11448 * fortran.c: Include limits.h.
11449 (TO_INT): Define.
11450 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
11451 *set.
11452 (omp_set_num_threads_8_, omp_set_schedule_8_,
11453 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11454 omp_get_team_size_8_): Use TO_INT macro.
11455 * testsuite/libgomp.fortran/pr48894.f90: New test.
11456
20790697
JJ
114572011-04-13 Jakub Jelinek <jakub@redhat.com>
11458
11459 PR middle-end/48591
11460 * testsuite/libgomp.c/pr48591.c: New test.
11461
bf382f5f
RO
114622011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11463
11464 PR bootstrap/48135
11465 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
11466 * configure: Regenerate.
11467
113a53c1
JJ
114682011-02-27 Jakub Jelinek <jakub@redhat.com>
11469
11470 PR fortran/47886
11471 * testsuite/libgomp.fortran/task3.f90: New test.
11472
0024f1af
TB
114732011-02-24 Tobias Burnus <burnus@net-b.de>
11474
11475 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
11476
21e1e594
JJ
114772011-02-23 Jakub Jelinek <jakub@redhat.com>
11478
11479 PR libgomp/47854
11480 * libgomp.texi (omp_get_wtime): Don't say time in the past
11481 must be Unix Epoch.
11482
67962076
JJ
114832011-02-18 Jakub Jelinek <jakub@redhat.com>
11484
11485 PR libgomp/47804
11486 * testsuite/libgomp.fortran/fortran.exp: Check for both
11487 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
11488 but $blddir != "", still append ${blddir}/${lang_library_path}
11489 to ld_library_path.
11490
3808007c
TB
114912011-02-16 Tobias Burnus <burnus@net-b.de>
11492
11493 PR libgomp/47758
11494 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
11495 of libquadmath.a before adding its libpath to ldflags.
11496
53b4d41d
JJ
114972011-02-14 Jakub Jelinek <jakub@redhat.com>
11498
11499 PR libgomp/47731
11500 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
11501 to FUTEX_WAIT futex syscall.
11502 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
11503
029c8f3e
RW
115042011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11505
11506 * configure: Regenerate.
11507
bddd6626
BK
115082011-01-20 Benjamin Kosnik <bkoz@redhat.com>
11509
11510 PR libstdc++/36104
11511 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
11512
f1d4ab26
GP
115132011-01-16 Gerald Pfeifer
11514
11515 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
11516
2b503136
JJ
115172010-12-14 Jakub Jelinek <jakub@redhat.com>
11518
11519 PR fortran/46874
11520 * libgomp.fortran/allocatable6.f90: New test.
11521
c0f9d583
RO
115222010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11523
11524 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
11525 * configure: Regenerate.
11526
7de6ba7a
DK
115272010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
11528
11529 PR target/40125
11530 PR lto/46695
11531 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
11532 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
11533 * aclocal.m4: Regenerate.
11534 * configure: Regenerate.
11535 * Makefile.in: Regenerate.
11536 * testsuite/Makefile.in: Regenerate.
11537
b7516041
JJ
115382010-12-02 Jakub Jelinek <jakub@redhat.com>
11539
edaadf74
JJ
11540 PR fortran/46753
11541 * libgomp.fortran/pr46753.f90: New test.
11542
4c698cf8
JJ
11543 PR libgomp/43706
11544 * env.c (initialize_env): Default to spin count 300000
11545 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
11546 is specified.
11547
b7516041
JJ
11548 PR libgomp/45240
11549 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
11550 at the end if sync builtins aren't supported.
11551
6b43a34c
RO
115522010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11553
11554 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
11555
950691fa
RO
115562010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11557
11558 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
11559
fb9041ea
IS
115602010-11-24 Iain Sandoe <iains@gcc.gnu.org>
11561
11562 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
11563
1ec601bf
FXC
115642010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11565 Tobias Burnus <burnus@net-b.de>
11566
11567 PR fortran/32049
3e348fcc 11568 * configure.ac:
1ec601bf
FXC
11569 * configure: Regenerate.
11570
d213e92e
MS
115712010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
11572
11573 * config/linux/futex.h: New.
11574 * config/linux/arm/mutex.h: New.
11575 * configure.tgt (arm*-*-linux*): Add config path.
11576
89d5c66f
SP
115772010-09-30 Sebastian Pop <sebastian.pop@amd.com>
11578
11579 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11580
87350d4a
TB
115812010-09-23 Tobias Burnus <burnus@net-b.de>
11582
11583 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
11584 Change Fortran datatype to LOGICAL.
11585 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
11586 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
11587
75bc9e5e
RW
115882010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11589
11590 * configure: Regenerate.
11591
acb5c916
JJ
115922010-07-26 Jakub Jelinek <jakub@redhat.com>
11593
11594 * libgomp.texi: Add function keyword to a couple of Fortran
11595 interfaces, use integer instead of int for Fortran.
11596
6a2ba183
AH
115972010-07-26 Aldy Hernandez <aldyh@redhat.com>
11598
11599 * libgomp.texi: Fix spelling and pasto problems throughout.
11600 Adjust prototypes to match code.
11601
df161b69
TB
116022010-07-24 Tobias Burnus <burnus@net-b.de>
11603
11604 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11605 silence -fwhole-file warning.
11606
16c9d3b1
RO
116072010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11608
11609 * configure.tgt (*-*-solaris2.[56]*): Removed.
11610
6d28b933
RO
116112010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11612
11613 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11614 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11615 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11616 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11617 targetting solaris2*.
11618 * configure: Regenerate.
11619 * config.h.in: Regenerate.
11620
11621 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11622 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11623 Add libgomp_version_dep.
11624 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11625 versioning.
11626 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11627 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11628 * Makefile.in: Regenerate.
11629
11630 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11631 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11632 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11633 to common block, protected by
11634 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11635
07a67d6a
GP
116362010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
11637
11638 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
11639
dbd34b89
IS
116402010-06-09 Iain Sandoe <iains@gcc.gnu.org>
11641
11642 PR bootstrap/43170
11643 * configure: Regenerate.
11644
13917ae3
RW
116452010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11646
11647 PR other/43620
11648 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11649 * configure: Regenerate.
11650 * Makefile.in: Regenerate.
11651 * testsuite/Makefile.in: Regenerate.
11652
b83a701b
JJ
116532010-04-26 Jakub Jelinek <jakub@redhat.com>
11654
11655 PR c/43893
11656 * testsuite/libgomp.c/pr43893.c: New test.
11657 * testsuite/libgomp.c++/pr43893.C: New test.
11658
78db7d92
JJ
116592010-04-21 Jakub Jelinek <jakub@redhat.com>
11660
11661 PR middle-end/43570
11662 * testsuite/libgomp.fortran/vla8.f90: New test.
11663
5221d7a9
JJ
116642010-04-20 Jakub Jelinek <jakub@redhat.com>
11665
e4ba7a60
JJ
11666 PR libgomp/43706
11667 * config/linux/affinity.c (gomp_init_affinity): Decrease
11668 gomp_available_cpus if affinity mask confines the process to fewer
11669 CPUs.
11670 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11671 non-NULL, just return gomp_available_cpus.
11672
5221d7a9
JJ
11673 PR libgomp/43569
11674 * sections.c (gomp_sections_init): Initialize ws->mode.
11675
289a9f86
UB
116762010-04-14 Uros Bizjak <ubizjak@gmail.com>
11677
11678 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11679 not unused bar variable.
11680 * configure: Regenerate.
11681
4d9e8446
RW
116822010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11683
11684 * Makefile.in: Regenerate.
11685 * aclocal.m4: Regenerate.
11686 * testsuite/Makefile.in: Regenerate.
11687
80f046cc
JJ
116882010-03-22 Jakub Jelinek <jakub@redhat.com>
11689
11690 PR libgomp/42942
11691 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11692 (initialize_env): Adjust callers.
11693 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11694 when the argument is 0.
11695
11696 * testsuite/libgomp.c/pr42942.c: New test.
11697
b58543c3
SP
116982010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
11699
11700 PR middle-end/42644
11701 PR middle-end/42130
11702 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11703 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11704
41d1138f
RO
117052010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11706
11707 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11708 * testsuite/libgomp.c++/task-6.C: Likewise.
11709
6684eb28
SE
117102010-01-28 Steve Ellcey <sje@cup.hp.com>
11711
11712 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11713
2122aa97
PB
117142010-01-26 Paolo Bonzini <bonzini@gnu.org>
11715
11716 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11717 * configure: Regenerate.
11718
057dd91d
JJ
117192010-01-26 Jakub Jelinek <jakub@redhat.com>
11720
11721 PR fortran/42866
11722 * testsuite/libgomp.fortran/allocatable5.f90: New test.
11723
d0709b6a
PB
117242010-01-20 Paolo Bonzini <bonzini@gnu.org>
11725
11726 * configure.ac: Test for executability of GFORTRAN.
11727 * configure: Regenerate.
11728
b9497ab5
RO
117292010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11730
11731 * configure: Regenerate.
11732
45de5648
L
117332010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11734
11735 PR libgomp/42602
11736 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11737
e74003a1
RG
117382010-01-03 Richard Guenther <rguenther@suse.de>
11739
11740 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11741
1b3abda8
SP
117422009-12-23 Sebastian Pop <sebpop@gmail.com>
11743
11744 * testsuite/libgomp.graphite/pr4118.c: New.
11745
e19977d3
IS
117462009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11747
11748 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11749 for darwin, protect the test with require-effective-target tls_runtime.
11750 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11751
1d32a772
IS
117522009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11753
11754 PR target/41605
11755 * testsuite/lib/libgomp.exp: Provide -B options to allow for
11756 link spec %s substitutions for static libraries.
11757
deb109b2
JH
117582009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
11759
11760 PR testsuite/42135
11761 * libgomp.graphite/force-parallel-2.c: Reduce array size.
11762
43e02a8a
RW
117632009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11764
11765 * Makefile.in: Regenerate.
11766 * configure: Regenerate.
11767 * testsuite/Makefile.in: Regenerate.
11768
17f35e23
DK
117692009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
11770
11771 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11772 settings for LC_ALL and LANG.
11773
281e33e1
JJ
117742009-11-25 Jakub Jelinek <jakub@redhat.com>
11775
11776 PR fortran/42162
11777 * testsuite/libgomp.fortran/pr42162.f90: New test.
11778
2b32c27d
JJ
117792009-11-13 Jakub Jelinek <jakub@redhat.com>
11780
11781 PR middle-end/42029
281e33e1 11782 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 11783
89c74f4a
JJ
117842009-10-26 Jakub Jelinek <jakub@redhat.com>
11785
11786 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11787 *s. Accept ld version without text in ()s.
11788 * configure: Regenerated.
11789
7e06c3d6
EB
117902009-10-22 Razya Ladelsky <razya@il.ibm.com>
11791
11792 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11793
0046b1a7
RW
117942009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11795
11796 PR libgomp/41418
11797 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11798 or a hyphen (happens with fortran language disabled).
11799 * configure: Regenerate.
11800
c82852f7
RW
118012009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11802
11803 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11804 use sed script portable to Solaris /bin/sed for extracting ld
11805 version.
11806 * configure: Regenerate.
11807
98f3eb1f
AM
118082009-09-17 Alexander Monakov <amonakov@ispras.ru>
11809
11810 * testsuite/libgomp.graphite/bounds.c: New test.
11811
878f62e5
RW
118122009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11813
11814 * Makefile.am (libgomp_la_LINK): New.
11815 * Makefile.in: Regenerate.
11816
df58e648
RW
118172009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11818
11819 * configure.ac (AC_PREREQ): Bump to 2.64.
11820
5213506e
RW
118212009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11822
70fa0efa
RW
11823 * Makefile.am (install-html, install-pdf): Remove.
11824 * Makefile.in: Regenerate.
11825
5213506e
RW
11826 * Makefile.in: Regenerate.
11827 * aclocal.m4: Regenerate.
11828 * config.h.in: Regenerate.
11829 * configure: Regenerate.
11830 * testsuite/Makefile.in: Regenerate.
11831
84fec8a5
RW
118322009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11833
11834 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11835 * Makefile.in: Regenerate.
11836
197c68cc
DK
118372009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
11838
11839 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11840 * Makefile.in: Regenerate.
11841
693d54f2
TB
118422009-08-19 Tobias Burnus <burnus@net-b.de>
11843
11844 PR fortran/41102
11845 omp_lib.h.in: Fix -std=f95 errors.
11846
8cac884c
DE
118472009-08-14 David Edelsohn <edelsohn@gnu.org>
11848
11849 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11850 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11851 * testsuite/libgomp.graphite/graphite.exp: New.
11852
78729ee2
AT
118532009-08-05 Andreas Tobler <a.tobler@schweiz.org>
11854
11855 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11856 only build.
11857
b13b7f39
DD
118582009-08-04 David Daney <ddaney@caviumnetworks.com>
11859
11860 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11861 needed memory barrier semantics.
11862 * config/linux/mips/mutex.h: New file.
11863
1b3b24c2
RW
118642009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11865
11866 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11867
396b7fa4
JM
118682009-07-16 Joseph Myers <joseph@codesourcery.com>
11869
11870 * configure: Regenerate.
11871
33cde516
RS
118722009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
11873
11874 PR testsuite/40699
11875 PR testsuite/40707
11876 PR testsuite/40709
11877 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11878 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11879 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11880
bc21bfa5
RS
118812009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
11882
11883 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11884 options when choosing a multilib.
11885
b30bfd40
RS
118862009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
11887
11888 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11889 ld_library_path. Use add_path. Add just find_libgcc_s to
11890 ld_library_path, not every libgcc multilib directory.
11891 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11892 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11893 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11894 Use add_path.
11895 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11896
479c15c2
NF
118972009-06-09 Nathan Froyd <froydnj@codesourcery.com>
11898
11899 * Makefile.am (LTLDFLAGS): Define.
11900 (LINK): Define.
11901 * Makefile.in: Regenerate.
11902
667e6f89
JB
119032009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
11904
11905 PR fortran/39718
11906 * testsuite/libgomp.fortran/fortran.exp: Don't link with
11907 libgfortranbegin, check existence of libgfortran.a instead of
11908 libgfortranbegin.a.
11909
6dea8e99
JJ
119102009-05-20 Jakub Jelinek <jakub@redhat.com>
11911
11912 PR libgomp/40174
11913 * team.c (gomp_thread_start): Destroy thr->release semaphore.
11914 (gomp_free_pool_helper): Likewise.
11915
34d01e1d
VL
119162009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
11917 Jakub Jelinek <jakub@redhat.com>
11918
11919 PR fortran/35423
11920 * testsuite/libgomp.fortran/workshare2.f90: New test.
11921
748086b7
JJ
119222009-04-09 Nick Clifton <nickc@redhat.com>
11923
11924 * iter.c: Change copyright header to refer to version 3 of the
11925 GNU General Public License with version 3.1 of the GCC Runtime
11926 Library Exception and to point readers at the COPYING3 and
11927 COPYING3.RUNTIME files and the FSF's license web page.
11928 * alloc.c: Likewise.
11929 * barrier.c: Likewise.
11930 * config/bsd/proc.c: Likewise.
11931 * config/linux/affinity.c: Likewise.
11932 * config/linux/alpha/futex.h: Likewise.
11933 * config/linux/bar.c: Likewise.
11934 * config/linux/bar.h: Likewise.
11935 * config/linux/ia64/futex.h: Likewise.
11936 * config/linux/ia64/mutex.h: Likewise.
11937 * config/linux/lock.c: Likewise.
11938 * config/linux/mips/futex.h: Likewise.
11939 * config/linux/mutex.c: Likewise.
11940 * config/linux/mutex.h: Likewise.
11941 * config/linux/powerpc/futex.h: Likewise.
11942 * config/linux/proc.c: Likewise.
11943 * config/linux/ptrlock.c: Likewise.
11944 * config/linux/ptrlock.h: Likewise.
11945 * config/linux/s390/futex.h: Likewise.
11946 * config/linux/sem.c: Likewise.
11947 * config/linux/sem.h: Likewise.
11948 * config/linux/sparc/futex.h: Likewise.
11949 * config/linux/wait.h: Likewise.
11950 * config/linux/x86/futex.h: Likewise.
11951 * config/mingw32/proc.c: Likewise.
11952 * config/mingw32/time.c: Likewise.
11953 * config/posix/affinity.c: Likewise.
11954 * config/posix/bar.c: Likewise.
11955 * config/posix/bar.h: Likewise.
11956 * config/posix/lock.c: Likewise.
11957 * config/posix/mutex.h: Likewise.
11958 * config/posix/proc.c: Likewise.
11959 * config/posix/ptrlock.h: Likewise.
11960 * config/posix/sem.c: Likewise.
11961 * config/posix/sem.h: Likewise.
11962 * config/posix/time.c: Likewise.
11963 * config/posix95/lock.c: Likewise.
11964 * critical.c: Likewise.
11965 * env.c: Likewise.
11966 * error.c: Likewise.
11967 * fortran.c: Likewise.
11968 * iter_ull.c: Likewise.
11969 * libgomp.h: Likewise.
11970 * libgomp_f.h.in: Likewise.
11971 * libgomp_g.h: Likewise.
11972 * loop.c: Likewise.
11973 * loop_ull.c: Likewise.
11974 * omp.h.in: Likewise.
11975 * omp_lib.f90.in: Likewise.
11976 * omp_lib.h.in: Likewise.
11977 * ordered.c: Likewise.
11978 * parallel.c: Likewise.
11979 * sections.c: Likewise.
11980 * single.c: Likewise.
11981 * task.c: Likewise.
11982 * team.c: Likewise.
11983 * work.c: Likewise.
11984
119852009-04-09 Jakub Jelinek <jakub@redhat.com>
11986
11987 * testsuite/config/default.exp: Change copyright header to refer to
11988 version 3 of the GNU General Public License and to point readers
11989 at the COPYING3 file and the FSF's license web page.
11990
4f0ae266
JJ
119912009-04-08 Jakub Jelinek <jakub@redhat.com>
11992
11993 PR middle-end/39573
11994 * libgomp.c++/pr39573.C: New test.
11995
03742a9b
JJ
119962009-04-01 Jakub Jelinek <jakub@redhat.com>
11997
11998 PR other/39591
11999 * testsuite/libgomp.c/pr39591-1.c: New test.
12000 * testsuite/libgomp.c/pr39591-2.c: New test.
12001 * testsuite/libgomp.c/pr39591-3.c: New test.
12002
e50ea10b
UB
120032009-03-25 Uros Bizjak <ubizjak@gmail.com>
12004
12005 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
12006 * testsuite/libgomp.c/atomic-6.c: Ditto.
12007
c5cdb03f
JJ
120082009-03-23 Jakub Jelinek <jakub@redhat.com>
12009
12010 PR c/39495
12011 * testsuite/libgomp.c/loop-12.c: New test.
12012 * testsuite/libgomp.c/loop-11.c: New test.
12013 * testsuite/libgomp.c++/loop-11.C: New test.
12014 * testsuite/libgomp.c++/loop-12.C: New test.
12015 * testsuite/libgomp.c++/for-8.C: New test.
12016
7a9d3fe8
RW
120172009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12018
12019 * configure: Regenerate.
12020
3ad6b266
JJ
120212009-02-11 Jakub Jelinek <jakub@redhat.com>
12022
12023 PR middle-end/39154
12024 * testsuite/libgomp.c/pr39154.c: New test.
12025
b39dea08
ILT
120262009-01-30 Ian Lance Taylor <iant@google.com>
12027
12028 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
12029 libgomp_ld_is_gold. Get gold version number.
12030 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
12031 * configure: Rebuild.
12032
72c66596
IS
120332009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
12034
e50ea10b 12035 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
12036 use libgfortran.a%s in their specs.
12037
876080ff
JJ
120382009-01-07 Jakub Jelinek <jakub@redhat.com>
12039
12040 PR libgomp/38086
12041 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
12042 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
12043 HAVE_AS_SYMVER_DIRECTIVE is not defined.
12044 * configure: Regenerated.
12045 * config.h.in: Likewise.
12046
e4ebaef3
JJ
120472008-12-28 Jakub Jelinek <jakub@redhat.com>
12048
12049 PR c++/38650
12050 * testsuite/libgomp.c/pr38650.c: New test.
12051 * testsuite/libgomp.c++/pr38650.C: New test.
12052
382017a6
JJ
120532008-12-27 Jakub Jelinek <jakub@redhat.com>
12054
12055 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
12056
79644b27
UB
120572008-12-26 Uros Bizjak <ubizjak@gmail.com>
12058
12059 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
12060
baafc534
RW
120612008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12062
12063 * configure: Regenerate.
12064
d9c194cb
JJ
120652008-12-08 Jakub Jelinek <jakub@redhat.com>
12066
12067 PR middle-end/36802
12068 * testsuite/libgomp.c/pr36802-1.c: New test.
12069 * testsuite/libgomp.c/pr36802-2.c: New test.
12070 * testsuite/libgomp.c/pr36802-3.c: New test.
12071
86a182bf
JJ
120722008-12-01 Janis Johnson <janis187@us.ibm.com>
12073
12074 PR libgomp/38270
12075 * config/linux/powerpc/mutex.h: New.
12076
956adfaf
JJ
120772008-12-01 Jakub Jelinek <jakub@redhat.com>
12078
a2d4cdc9
JJ
12079 PR c++/38257
12080 * testsuite/libgomp.c++/for-7.C: New test.
12081
956adfaf
JJ
12082 PR c++/38348
12083 * testsuite/libgomp.c++/for-6.C: New test.
12084
d4038ca2
JJ
120852008-11-26 Janis Johnson <janis187@us.ibm.com>
12086
12087 PR testsuite/28870
12088 * testsuite/lib/libgomp.exp: Include new timeout library files.
12089 (libgomp_target_compile): Set timeout value from new proc.
12090
8b159eea
SE
120912008-11-13 Steve Ellcey <sje@cup.hp.com>
12092
12093 PR libgomp/37938
12094 * config/linux/ia64/mutex.h: New.
12095
5c6ed53a
TB
120962008-11-04 Tobias Burnus <burnus@net-b.de>
12097
12098 PR libgomp/37935
12099 * libgomp.texi (Runtime library routines, environment variables):
12100 Update for OpenMP version 3.0.
12101
6b4a97ed
PG
121022008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
12103 Steve Ellcey <sje@cup.hp.com>
12104
12105 * configure: Regenerate for new libtool.
12106 * Makefile.in: Ditto.
12107 * testsuite/Makefile.in: Ditto.
12108
e2b34106
JJ
121092008-09-19 Jakub Jelinek <jakub@redhat.com>
12110 Andreas Tobler <a.tobler@schweiz.org>
12111
12112 * config/bsd/proc.c: New file.
8c3b3600 12113 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
12114 * configure.ac: Check for header <sys/sysctl.h>
12115 * configure: Regenerate.
12116 * config.h.in: Likewise.
12117
3606b8bf
JJ
121182008-09-05 Janis Johnson <janis187@us.ibm.com>
12119
12120 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
12121
6528b88d
AL
121222008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
12123
12124 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
12125 * Makefile.in: Regenerated.
12126 * testsuite/Makefile.in: Regenerated.
12127
d9b14b12 121282008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 12129
a16b68bb 12130 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
12131 depend on blddir if blddir exists.
12132 (libgomp_target_compile): Likewise.
12133 * testsuite/libgomp.c++/c++.exp: Likewise.
12134 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12135
70b1e376
RW
121362008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12137
12138 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
12139 Do not list GPL as Invariant Section.
12140
318e8c3f
IG
121412008-07-28 Ilie Garbacea <ilie@mips.com>
12142 Chao-ying Fu <fu@mips.com>
12143
12144 * configure.tgt: Enable futex for MIPS.
12145 * config/linux/mips/futex.h: New file.
12146
4db72361
JJ
121472008-07-16 Jakub Jelinek <jakub@redhat.com>
12148
12149 * team.c (gomp_team_end): Free team immediately if it has
12150 just one thread.
12151
87bd23b8
DE
121522008-07-08 David Edelsohn <edelsohn@gnu.org>
12153
12154 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
12155 * testsuite/libgomp.fortran/fortran.exp: Same.
12156 * testsuite/libgomp.c/c.exp: Same.
12157 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
12158 directory to library path first.
12159
323ff903
KW
121602008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
12161
12162 * env.c (parse_stacksize): Add cast to avoid warning.
12163 (parse_spincount): Likewise.
12164
b357f682
JJ
121652008-06-27 Jakub Jelinek <jakub@redhat.com>
12166
ca2b1311
JJ
12167 * testsuite/libgomp.c/loop-10.c: New test.
12168 * libgomp.c/loop-3.c (main): Add lastprivate clause.
12169 * libgomp.c++/loop-6.C (main): Likewise.
12170
b357f682
JJ
12171 PR debug/36617
12172 * testsuite/libgomp.c/debug-1.c: New test.
12173
09a46078
JJ
121742008-06-19 Jakub Jelinek <jakub@redhat.com>
12175
12176 * testsuite/libgomp.c/nqueens-1.c: New test.
12177
2368a460
JJ
12178 PR c++/36523
12179 * testsuite/libgomp.c++/task-7.C: New function.
12180
18c04407
RW
121812008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12182
12183 * configure: Regenerate.
12184
9c4e59e0
JDA
121852008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12186
12187 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
12188 mutex when HAVE_SYNC_BUILTINS isn't defined.
12189
6ccde948
RW
121902008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12191
12192 * libgomp.texi (omp_test_lock): Fix typo.
12193
b896f9fd
TB
121942008-06-12 Tobias Burnus <burnus@net-b.de>
12195
12196 * omp_lib.f90.in: Add "implicit none".
12197
c34938a8
JJ
121982008-06-12 Jakub Jelinek <jakub@redhat.com>
12199
12200 PR middle-end/36506
12201 * testsuite/libgomp.c/reduction-5.c: New test.
12202
976e44e3
JJ
122032008-06-11 Jakub Jelinek <jakub@redhat.com>
12204
5f836cbb
JJ
12205 * libgomp.h (struct gomp_task): Add in_tied_task field.
12206 * task.c (gomp_init_task): Initialize it.
12207 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
12208 unconditionally. Don't call gomp_team_barrier_wake if
12209 current task is implicit or if(0) from implicit and number of
12210 running tasks is equal to nthreads - 1.
12211
01501fc8
JJ
12212 PR libgomp/36471
12213 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
12214 omp_get_team_size_8): Fix pastos.
12215
976e44e3
JJ
12216 PR libgomp/36469
12217 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
12218 * configure: Regenerated.
12219 * config.h.in: Regenerated.
12220 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
12221 defined.
12222
e919209b
AT
122232008-06-06 Andreas Tobler <a.tobler@schweiz.org>
12224
12225 PR bootstrap/36452
12226 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
12227 (GOMP_loop_ull_dynamic_start): Likewise.
12228 (GOMP_loop_ull_guided_start): Likewise.
12229 (GOMP_loop_ull_ordered_static_start): Likewise.
12230 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
12231 (GOMP_loop_ull_ordered_guided_start): Likewise.
12232
a68ab351
JJ
122332008-06-06 Jakub Jelinek <jakub@redhat.com>
12234 Richard Henderson <rth@redhat.com>
12235 Ulrich Drepper <drepper@redhat.com>
12236 Jakob Blomer <jakob.blomer@ira.uka.de>
12237
12238 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
12239 Substitute also OMP_*LOCK_25*.
12240 * configure: Regenerated.
12241 * config.h.in: Regenerated.
12242 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
12243 ptrlock.c and task.c.
12244 * Makefile.in: Regenerated.
12245 * testsuite/Makefile.in: Regenerated.
12246 * task.c: New file.
12247 * loop_ull.c: New file.
12248 * iter_ull.c: New file.
12249 * libgomp.h: Include ptrlock.h.
12250 (enum gomp_task_kind): New type.
12251 (struct gomp_team): Add task_lock, task_queue, task_count,
12252 task_running_count, single_count fields. Add
12253 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
12254 Remove work_share_lock, generation_mask,
12255 oldest_live_gen, num_live_gen and init_work_shares fields, add
12256 work work_share_list_alloc, work_share_list_free and work_share_chunk
12257 fields. Change work_shares from pointer to pointers into an array.
12258 Change ordered_release field into gomp_sem_t ** from flexible array
12259 member. Add implicit_task and initial_work_shares fields.
12260 Move close to the end of the struct.
12261 (struct gomp_team_state): Add single_count, last_work_share,
12262 active_level and level fields, remove work_share_generation.
12263 (gomp_barrier_handle_tasks): New prototype.
12264 (gomp_finish_task): New inline function.
12265 (struct gomp_work_share): Move chunk_size, end, incr into
12266 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
12267 next_ll fields. Reshuffle fields. Add next_alloc,
12268 next_ws, next_free and inline_ordered_team_ids fields, change
12269 ordered_team_ids into pointer from flexible array member.
12270 Add mode field. Put lock and next into a different cache line
12271 from most of the write-once fields.
12272 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
12273 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
12274 gomp_iter_ull_guided_next): New prototypes.
12275 (gomp_new_icv): New prototype.
12276 (struct gomp_thread): Add thread_pool and task fields.
12277 (struct gomp_thread_pool): New type.
12278 (gomp_new_team): New prototype.
12279 (gomp_team_start): Change type of last argument.
12280 (gomp_new_work_share): Removed.
12281 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
12282 (gomp_work_share_init_done): New static inline.
12283 (gomp_throttled_spin_count_var, gomp_available_cpus,
12284 gomp_managed_threads): New extern decls.
12285 (gomp_init_task): New prototype.
12286 (gomp_spin_count_var): New extern var decl.
12287 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
12288 or no alias support, or if not PIC.
12289 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
12290 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
12291 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
12292 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
12293 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
12294 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
12295 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
12296 gomp_test_nest_lock_25): New prototypes.
12297 (omp_lock_symver, strong_alias): Define.
12298 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
12299 decls.
12300 (gomp_end_task): New.
12301 (struct gomp_task_icv, gomp_global_icv): New.
12302 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
12303 (struct gomp_task): New.
12304 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12305 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12306 (gomp_icv): New.
12307 (gomp_schedule_type): Reorder enum to match
12308 omp_sched_t.
12309 * team.c (struct gomp_thread_start_data): Add thread_pool and task
12310 fields.
12311 (gomp_thread_start): Add gomp_team_barrier_wait call.
12312 For non-nested case remove clearing of docked thread thr fields.
12313 Use pool fields instead of global gomp_* variables. Use
12314 gomp_barrier_wait_last when needed. Initialize ts.active_level.
12315 Create tasks for each member thread.
12316 (free_team): Only destroy team barrier, task_lock here and free it.
12317 (gomp_free_thread): Free last_team if non-NULL.
12318 (gomp_team_end): Call gomp_team_barrier_wait instead of
12319 gomp_barrier_wait. For nested case call one extra
12320 gomp_barrier_wait. Move here some destruction from free_team.
12321 Call free_team on pool->last_team if any, rather than freeing
12322 current team. Destroy work_share_list_free_lock ifndef
12323 HAVE_SYNC_BUILTINS.
12324 (gomp_new_icv): New function.
12325 (gomp_threads, gomp_threads_size, gomp_threads_used,
12326 gomp_threads_dock): Removed.
12327 (gomp_thread_destructor): New variable.
12328 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
12329 functions.
12330 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 12331 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
12332 Initialize thread_pool field for new threads. Clear single_count.
12333 Change last argument from ws to team, don't create
12334 new team, set ts.work_share to &team->work_shares[0] and clear
12335 ts.last_work_share. Don't clear ts.work_share_generation.
12336 If number of threads changed, adjust atomically gomp_managed_threads.
12337 Use gomp_init_task instead of gomp_new_task,
12338 set thr->task to the corresponding implicit_task array entry.
12339 Create tasks for each member thread. Initialize ts.level.
12340 (initialize_team): Call pthread_key_create on
12341 gomp_thread_destructor.
12342 (team_destructor): New function.
12343 (new_team): Removed.
12344 (gomp_new_team): New function.
12345 (free_team): Free gomp_work_share blocks chained through next_alloc,
12346 instead of freeing work_shares and destroying work_share_lock.
12347 (gomp_team_end): Call gomp_fini_work_share. If number of threads
12348 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
12349 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
12350 of gomp_barrier_wait.
12351 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
12352 instead of gomp_barrier_wait. Call gomp_work_share_init_done
12353 if gomp_work_share_start returned true. Don't unlock ws->lock.
12354 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
12355 of gomp_barrier_wait.
12356 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
12357 gomp_work_share_init_done if gomp_work_share_start returned true.
12358 Don't unlock ws->lock.
12359 * work.c: Include stddef.h.
12360 (free_work_share): Use work_share_list_free_lock instead
12361 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
12362 Call gomp_fini_work_share and then either free ws if orphaned, or
12363 put it into work_share_list_free list of the current team.
12364 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
12365 functions.
12366 (gomp_work_share_start, gomp_work_share_end,
12367 gomp_work_share_end_nowait): Rewritten.
12368 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
12369 (openmp_version): Set to 200805.
12370 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12371 omp_sched_guided, omp_sched_auto): New parameters.
12372 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12373 omp_set_max_active_levels, omp_get_max_active_levels,
12374 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12375 omp_get_active_level): New interfaces.
12376 * omp_lib.h.in (openmp_version): Set to 200805.
12377 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12378 omp_sched_guided, omp_sched_auto): New parameters.
12379 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12380 omp_set_max_active_levels, omp_get_max_active_levels,
12381 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12382 omp_get_active_level): New externals.
12383 * loop.c: Include limits.h.
12384 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
12385 GFS_AUTO.
12386 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
12387 Likewise. Use gomp_icv.
12388 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
12389 ts.static_trip here.
12390 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
12391 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
12392 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
12393 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
12394 don't unlock ws->lock, otherwise lock it.
12395 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
12396 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
12397 (gomp_parallel_loop_start): Call gomp_new_team instead of
12398 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
12399 Adjust gomp_team_start caller. Pass 0 as second argument to
12400 gomp_resolve_num_threads.
12401 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
12402 If adding ws->chunk_size nthreads + 1 times after end won't
12403 overflow, set ws->mode to 1.
12404 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
12405 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
12406 GOMP_loop_ull_ordered_static_start,
12407 GOMP_loop_ull_ordered_dynamic_start,
12408 GOMP_loop_ull_ordered_guided_start,
12409 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
12410 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
12411 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
12412 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
12413 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
12414 prototypes.
12415 * libgomp.map: Export lock routines also @@OMP_2.0.
12416 (GOMP_loop_ordered_dynamic_first,
12417 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
12418 GOMP_loop_ordered_static_first): Remove.
12419 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
12420 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
12421 GOMP_loop_ull_ordered_dynamic_next,
12422 GOMP_loop_ull_ordered_dynamic_start,
12423 GOMP_loop_ull_ordered_guided_next,
12424 GOMP_loop_ull_ordered_guided_start,
12425 GOMP_loop_ull_ordered_runtime_next,
12426 GOMP_loop_ull_ordered_runtime_start,
12427 GOMP_loop_ull_ordered_static_next,
12428 GOMP_loop_ull_ordered_static_start,
12429 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
12430 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
12431 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
12432 (omp_set_schedule, omp_get_schedule,
12433 omp_get_thread_limit, omp_set_max_active_levels,
12434 omp_get_max_active_levels, omp_get_level,
12435 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
12436 omp_set_schedule_, omp_set_schedule_8_,
12437 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12438 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12439 omp_get_max_active_levels_, omp_get_level_,
12440 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12441 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12442 New exports @@OMP_3.0.
12443 * omp.h.in (omp_sched_t): New type.
12444 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12445 omp_set_max_active_levels, omp_get_max_active_levels,
12446 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12447 omp_get_active_level): New prototypes.
12448 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
12449 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
12450 gomp_thread_limit_var, gomp_remaining_threads_count,
12451 gomp_remaining_threads_lock): New variables.
12452 (parse_spincount): New function.
12453 (initialize_env): Call gomp_init_num_threads unconditionally.
12454 Initialize gomp_available_cpus. Call parse_spincount,
12455 initialize gomp_{,throttled_}spin_count_var
12456 depending on presence and value of OMP_WAIT_POLICY and
12457 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
12458 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
12459 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
12460 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
12461 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
12462 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12463 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12464 (gomp_global_icv): New.
12465 (parse_schedule): Use it. Parse "auto".
12466 (omp_set_num_threads): Use gomp_icv.
12467 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
12468 Likewise.
12469 (omp_get_max_threads): Move from parallel.c.
12470 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12471 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
12472 add ialias.
12473 (parse_stacksize, parse_wait_policy): New functions.
12474 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
12475 both wrappers for compatibility and new locks.
12476 (omp_set_schedule, omp_get_schedule,
12477 omp_get_thread_limit, omp_set_max_active_levels,
12478 omp_get_max_active_levels, omp_get_level,
12479 omp_get_ancestor_thread_num, omp_get_team_size,
12480 omp_get_active_level): New ialias_redirect.
12481 (omp_set_schedule_, omp_set_schedule_8_,
12482 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12483 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12484 omp_get_max_active_levels_, omp_get_level_,
12485 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12486 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12487 New functions.
12488 * parallel.c: Include limits.h.
12489 (gomp_resolve_num_threads): Add count argument. Rewritten.
12490 (GOMP_parallel_start): Call gomp_new_team and pass that as last
12491 argument to gomp_team_start. Pass 0 as second argument to
12492 gomp_resolve_num_threads.
12493 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
12494 if gomp_thread_limit_var != ULONG_MAX.
12495 (omp_in_parallel): Implement using ts.active_level.
12496 (omp_get_max_threads): Move to env.c.
12497 (omp_get_level, omp_get_ancestor_thread_num,
12498 omp_get_team_size, omp_get_active_level): New functions,
12499 add ialias.
12500 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
12501 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
12502 gomp_iter_dynamic_next instead of the _locked variant and don't take
12503 lock around it, otherwise acquire it before calling
12504 gomp_iter_dynamic_next_locked.
12505 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
12506 gomp_iter_dynamic_next instead of the _locked variant and don't take
12507 lock around it.
12508 (GOMP_parallel_sections_start): Call gomp_new_team instead of
12509 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
12510 Adjust gomp_team_start caller. Pass count as second argument to
12511 gomp_resolve_num_threads, don't adjust num_threads after the call.
12512 Use gomp_icv.
12513 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
12514 ws->chunk_size by incr.
12515 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
12516 code.
12517 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
12518 types.
12519 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
12520 (omp_check_defines): Check even the compat defines.
12521 * config/linux/ptrlock.c: New file.
12522 * config/linux/ptrlock.h: New file.
12523 * config/linux/wait.h: New file.
12524 * config/posix/ptrlock.c: New file.
12525 * config/posix/ptrlock.h: New file.
12526 * config/linux/bar.h (gomp_team_barrier_wait,
12527 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12528 (gomp_team_barrier_set_task_pending,
12529 gomp_team_barrier_clear_task_pending,
12530 gomp_team_barrier_set_waiting_for_tasks,
12531 gomp_team_barrier_waiting_for_tasks,
12532 gomp_team_barrier_done): New inlines.
12533 (gomp_barrier_t): Rewritten.
12534 (gomp_barrier_state_t): New typedef.
12535 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
12536 gomp_barrier_wait_start): Rewritten.
12537 (gomp_barrier_wait_end): Change second argument to
12538 gomp_barrier_state_t.
12539 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12540 inlines.
12541 * config/linux/bar.c: Include wait.h instead of libgomp.h and
12542 futex.h.
12543 (gomp_barrier_wait_end): Rewritten.
12544 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12545 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
12546 * config/posix/bar.h (gomp_barrier_t): Add generation field.
12547 (gomp_barrier_state_t): New typedef.
12548 (gomp_team_barrier_wait,
12549 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12550 (gomp_barrier_wait_start): Or all but low 2 bits from generation
12551 into the return value. Return gomp_barrier_state_t.
12552 (gomp_team_barrier_set_task_pending,
12553 gomp_team_barrier_clear_task_pending,
12554 gomp_team_barrier_set_waiting_for_tasks,
12555 gomp_team_barrier_waiting_for_tasks,
12556 gomp_team_barrier_done): New inlines.
12557 (gomp_barrier_wait_end): Change second argument to
12558 gomp_barrier_state_t.
12559 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12560 inlines.
12561 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
12562 (gomp_barrier_wait_end): Change second argument to
3e348fcc 12563 gomp_barrier_state_t.
a68ab351
JJ
12564 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12565 gomp_team_barrier_wake): New functions.
12566 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
12567 futex.h.
12568 (gomp_futex_wake, gomp_futex_wait): New variables.
12569 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
12570 * config/linux/lock.c: Rewrite to make locks task owned,
12571 for backwards compatibility provide the old entrypoints
12572 if symbol versioning. Include wait.h instead of libgomp.h and
12573 futex.h.
12574 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
12575 * config/posix95/lock.c: Rewrite to make locks task owned,
12576 for backwards compatibility provide the old entrypoints
12577 if symbol versioning.
12578 * config/posix/lock.c: Rewrite to make locks task owned,
12579 for backwards compatibility provide the old entrypoints
12580 if symbol versioning.
12581 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
12582 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
12583 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
12584 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12585 (sys_futex0): Return error code.
12586 (futex_wake, futex_wait): If ENOSYS was returned, clear
12587 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12588 (cpu_relax, atomic_write_barrier): New static inlines.
12589 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12590 (futex_wake, futex_wait): If ENOSYS was returned, clear
12591 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12592 (cpu_relax, atomic_write_barrier): New static inlines.
12593 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12594 (sys_futex0): Return error code.
12595 (futex_wake, futex_wait): If ENOSYS was returned, clear
12596 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12597 (cpu_relax, atomic_write_barrier): New static inlines.
12598 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12599 (sys_futex0): Return error code.
12600 (futex_wake, futex_wait): If ENOSYS was returned, clear
12601 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12602 (cpu_relax, atomic_write_barrier): New static inlines.
12603 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12604 (sys_futex0): Return error code.
12605 (futex_wake, futex_wait): If ENOSYS was returned, clear
12606 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12607 (cpu_relax, atomic_write_barrier): New static inlines.
12608 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12609 (sys_futex0): Return error code.
12610 (futex_wake, futex_wait): If ENOSYS was returned, clear
12611 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12612 (cpu_relax, atomic_write_barrier): New static inlines.
12613 * config/linux/sem.c: Include wait.h instead of libgomp.h and
12614 futex.h.
12615 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12616 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12617 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12618 types.
12619 (omp_nest_lock_t): Change owner into void *, add lock field.
12620 * config/posix95/omp-lock.h: Include semaphore.h.
12621 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12622 (omp_lock_t): Use sem_t instead of mutex if semaphores
12623 aren't broken.
12624 (omp_nest_lock_t): Likewise. Change owner to void *.
12625 * config/posix/omp-lock.h: Include semaphore.h.
12626 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12627 (omp_lock_t): Use sem_t instead of mutex if semaphores
12628 aren't broken.
12629 (omp_nest_lock_t): Likewise. Add owner field.
12630
126312008-06-06 Jakub Jelinek <jakub@redhat.com>
12632
12633 * testsuite/libgomp.c/collapse-1.c: New test.
12634 * testsuite/libgomp.c/collapse-2.c: New test.
12635 * testsuite/libgomp.c/collapse-3.c: New test.
12636 * testsuite/libgomp.c/icv-1.c: New test.
12637 * testsuite/libgomp.c/icv-2.c: New test.
12638 * testsuite/libgomp.c/lib-2.c: New test.
12639 * testsuite/libgomp.c/lock-1.c: New test.
12640 * testsuite/libgomp.c/lock-2.c: New test.
12641 * testsuite/libgomp.c/lock-3.c: New test.
12642 * testsuite/libgomp.c/loop-4.c: New test.
12643 * testsuite/libgomp.c/loop-5.c: New test.
12644 * testsuite/libgomp.c/loop-6.c: New test.
12645 * testsuite/libgomp.c/loop-7.c: New test.
12646 * testsuite/libgomp.c/loop-8.c: New test.
12647 * testsuite/libgomp.c/loop-9.c: New test.
12648 * testsuite/libgomp.c/nested-3.c: New test.
12649 * testsuite/libgomp.c/nestedfn-6.c: New test.
12650 * testsuite/libgomp.c/sort-1.c: New test.
12651 * testsuite/libgomp.c/task-1.c: New test.
12652 * testsuite/libgomp.c/task-2.c: New test.
12653 * testsuite/libgomp.c/task-3.c: New test.
12654 * testsuite/libgomp.c/task-4.c: New test.
12655 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12656 to C++ testsuite default compiler options.
12657 * testsuite/libgomp.c++/collapse-1.C: New test.
12658 * testsuite/libgomp.c++/collapse-2.C: New test.
12659 * testsuite/libgomp.c++/ctor-10.C: New test.
12660 * testsuite/libgomp.c++/for-1.C: New test.
12661 * testsuite/libgomp.c++/for-2.C: New test.
12662 * testsuite/libgomp.c++/for-3.C: New test.
12663 * testsuite/libgomp.c++/for-4.C: New test.
12664 * testsuite/libgomp.c++/for-5.C: New test.
12665 * testsuite/libgomp.c++/loop-8.C: New test.
12666 * testsuite/libgomp.c++/loop-9.C: New test.
12667 * testsuite/libgomp.c++/loop-10.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++/task-5.C: New test.
12673 * testsuite/libgomp.c++/task-6.C: New test.
12674 * testsuite/libgomp.fortran/allocatable1.f90: New test.
12675 * testsuite/libgomp.fortran/allocatable2.f90: New test.
12676 * testsuite/libgomp.fortran/allocatable3.f90: New test.
12677 * testsuite/libgomp.fortran/allocatable4.f90: New test.
12678 * testsuite/libgomp.fortran/collapse1.f90: New test.
12679 * testsuite/libgomp.fortran/collapse2.f90: New test.
12680 * testsuite/libgomp.fortran/collapse3.f90: New test.
12681 * testsuite/libgomp.fortran/collapse4.f90: New test.
12682 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12683 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12684 * testsuite/libgomp.fortran/lib4.f90: New test.
12685 * testsuite/libgomp.fortran/lock-1.f90: New test.
12686 * testsuite/libgomp.fortran/lock-2.f90: New test.
12687 * testsuite/libgomp.fortran/nested1.f90: New test.
12688 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12689 * testsuite/libgomp.fortran/strassen.f90: New test.
12690 * testsuite/libgomp.fortran/tabs1.f90: New test.
12691 * testsuite/libgomp.fortran/tabs2.f: New test.
12692 * testsuite/libgomp.fortran/task1.f90: New test.
12693 * testsuite/libgomp.fortran/task2.f90: New test.
12694 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12695 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12696 * testsuite/libgomp.c/pr26943-2.c: Likewise.
12697 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12698 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12699
7a0112e7
JJ
127002008-05-23 Jakub Jelinek <jakub@redhat.com>
12701
12702 PR c++/36308
12703 * testsuite/libgomp.c++/ctor-11.C: New test.
12704 * testsuite/libgomp.c++/ctor-12.C: New test.
12705
91a5b394
JJ
127062008-05-15 Janis Johnson <janis187@us.ibm.com>
12707
12708 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12709
c18c98c0
JJ
127102008-05-07 Jakub Jelinek <jakub@redhat.com>
12711
12712 PR middle-end/36106
12713 * testsuite/libgomp.c/atomic-5.c: New test.
12714 * testsuite/libgomp.c/atomic-6.c: New test.
12715 * testsuite/libgomp.c/autopar-1.c: New test.
12716
6d26724a
RW
127172008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12718
12719 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12720 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12721 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12722 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12723 * configure: Regenerate.
12724 * Makefile.in, testsuite/Makefile.in: Likewise.
12725
deb984e6
PB
127262008-04-18 Paolo Bonzini <bonzini@gnu.org>
12727
12728 PR bootstrap/35457
12729 * aclocal.m4: Regenerate.
12730 * configure: Regenerate.
12731
9e775963
JJ
127322008-03-18 Jakub Jelinek <jakub@redhat.com>
12733
8119fc93
JJ
12734 PR middle-end/35611
12735 * testsuite/libgomp.c/atomic-4.c: New test.
12736
9e775963
JJ
12737 PR libgomp/35625
12738 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12739 (gomp_iter_guided_next): Likewise.
12740 * testsuite/libgomp.c/pr35625.c: New test.
12741
38d24731
RW
127422008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12743
12744 * aclocal.m4: Regenerate.
12745 * configure: Likewise.
12746 * Makefile.in: Likewise.
12747 * testsuite/Makefile.in: Likewise.
12748
d0fb20be
JJ
127492008-03-13 Jakub Jelinek <jakub@redhat.com>
12750
12751 PR middle-end/35185
12752 * testsuite/libgomp.c++/pr35185.C: New test.
12753
7c8f7639
JJ
127542008-03-12 Jakub Jelinek <jakub@redhat.com>
12755
12756 PR middle-end/35549
12757 * testsuite/libgomp.c/pr35549.c: New test.
12758
251923f5
JJ
127592008-03-06 Jakub Jelinek <jakub@redhat.com>
12760
12761 * testsuite/libgomp.c/atomic-3.c: New test.
12762
f489fba1
FXC
127632008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12764
12765 PR fortran/33197
251923f5 12766 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
12767 .F08 file suffixes.
12768
a1b25e49
PG
127692008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
12770
12771 PR libgomp/33131
12772 * configure.ac: Add ACX_HEADER_STRING.
12773 * env.c: Include strings.h.
12774 * aclocal.m4: Regenerate.
12775 * config.h.in: Regenerate.
12776 * configure: Regenerate.
12777 * Makefile.in: Regenerate.
12778 * testsuite/Makefile.in: Regenerate.
12779
6837b3b8
JJ
127802008-02-15 Jakub Jelinek <jakub@redhat.com>
12781
ac84c062
JJ
12782 PR middle-end/35196
12783 * testsuite/libgomp.c/pr35196.c: New test.
12784
6837b3b8
JJ
12785 PR middle-end/35130
12786 * testsuite/libgomp.fortran/pr35130.f90: New test.
12787 * testsuite/libgomp.c/pr35130.c: New test.
12788
c256730c
JJ
127892008-01-25 Jakub Jelinek <jakub@redhat.com>
12790
12791 PR middle-end/33880
12792 * testsuite/libgomp.c/pr33880.c: New test.
12793 * testsuite/libgomp.fortran/pr33880.f90: New test.
12794
c8e95542 127952008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
12796
12797 * configure: Regenerate.
12798
0f3e711e
JJ
127992008-01-08 Jakub Jelinek <jakub@redhat.com>
12800
12801 * configure.ac: Move futex checking into ../config/futex.m4.
12802 * configure: Rebuilt.
12803 * aclocal.m4: Rebuilt.
12804 * Makefile.in: Rebuilt.
12805
12806 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12807 2007-10-15 ../config/tls.m4 change.
12808
5259c813
JJ
128092007-12-19 Jakub Jelinek <jakub@redhat.com>
12810
12811 PR c++/34513
12812 * testsuite/libgomp.c/pr34513.c: New test.
12813 * testsuite/libgomp.c++/pr34513.C: New test.
12814
ae8d8879
JH
128152007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
12816
12817 PR target/32765
12818 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12819
2b4cf991
JJ
128202007-12-04 Jakub Jelinek <jakub@redhat.com>
12821
12822 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
12823
d2dda7fe
JJ
128242007-12-03 Jakub Jelinek <jakub@redhat.com>
12825
12826 * testsuite/libgomp.c/private-1.c: New test.
12827
d683ec81
PB
128282007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
12829 Paolo Bonzini <bonzini@gnu.org>
12830
12831 * Makefile.am: Use space as vpath separator. Use 'vpath %'
12832 instead of 'VPATH ='.
12833 * Makefile.in: Regenerate.
12834
a7415017
MK
128352007-11-23 Matthias Klose <doko@ubuntu.com>
12836
12837 * configure.ac: Adjust makeinfo version check.
12838 * configure: Regenerate.
12839
78e47463
JJ
128402007-11-10 Jakub Jelinek <jakub@redhat.com>
12841
12842 PR fortran/34020
12843 * testsuite/libgomp.fortran/pr34020.f90: New test.
12844
239371f9
JJ
128452007-11-06 Jakub Jelinek <jakub@redhat.com>
12846
12847 PR c++/33894
12848 * testsuite/libgomp.c++/atomic-1.C: New test.
12849
98a5fa94
JJ
128502007-10-25 Jakub Jelinek <jakub@redhat.com>
12851
12852 PR libgomp/33275
12853 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12854 Make x and y integers rather than (implicit) reals. Add private (j)
12855 clause to the last omp parallel.
12856
3afcaaf4
MR
128572007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
12858
12859 * configure: Regenerate following changes to ../config/tls.m4.
12860
bd69daef
JJ
128612007-09-28 Jakub Jelinek <jakub@redhat.com>
12862
12863 * testsuite/libgomp.fortran/stack.f90: New test.
12864
1d0bd356
DS
128652007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
12866
12867 * config/mingw32/proc.c: New file.
12868
b3172cab
UB
128692007-09-05 Uros Bizjak <ubizjak@gmail.com>
12870
12871 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12872 (main): Use __get_cpuid to get i386 target fetaures.
12873 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12874 (main): Use __get_cpuid to get x86_64 target fetaures.
12875
6da17392
JH
128762007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
12877
12878 PR target/32765
12879 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12880 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12881
e1c82219
JJ
128822007-07-12 Jakub Jelinek <jakub@redhat.com>
12883
12884 PR fortran/32550
12885 * testsuite/libgomp.fortran/pr32550.f90: New test.
12886 * testsuite/libgomp.fortran/crayptr2.f90: New test.
12887
12a27363
L
128882007-07-05 H.J. Lu <hongjiu.lu@intel.com>
12889
12890 * aclocal.m4: Regenerated.
12891
5349080d
TB
128922007-07-05 Tobias Burnus <burnus@net-b.de>
12893
12894 PR fortran/32359
12895 * testsuite/libgomp.fortran/pr32359.f90: New.
12896
4f9c450c
JJ
128972007-07-02 Jakub Jelinek <jakub@redhat.com>
12898
12899 PR libgomp/32468
12900 * sections.c (GOMP_parallel_sections_start): Only decrease
12901 number of threads to COUNT if dyn_var is true.
12902 * testsuite/libgomp.c/pr32468.c: New test.
12903
28c67ed7
RO
129042007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12905
12906 PR libgomp/26308
12907 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12908
64964499
JJ
129092007-06-21 Jakub Jelinek <jakub@redhat.com>
12910
12911 PR middle-end/32362
12912 * testsuite/libgomp.c/pr32362-1.c: New test.
12913 * testsuite/libgomp.c/pr32362-2.c: New test.
12914 * testsuite/libgomp.c/pr32362-3.c: New test.
12915
46d8fbd1
JJ
129162007-06-07 Jakub Jelinek <jakub@redhat.com>
12917
12918 * team.c (gomp_team_start): Fix setting up thread_attr
12919 stack size.
12920
82a6cadf
PB
129212007-06-02 Paolo Bonzini <bonzini@gnu.org>
12922
12923 * configure: Regenerate.
12924
1cf3d07d
SE
129252007-05-23 Steve Ellcey <sje@cup.hp.com>
12926
12927 * Makefile.in: Regenerate.
12928 * configure: Regenerate.
12929 * aclocal.m4: Regenerate.
12930 * testsuite/Makefile.in: Regenerate.
12931
12aac30b
JJ
129322007-05-04 Jakub Jelinek <jakub@redhat.com>
12933
12934 * config/linux/proc.c: New file.
12935
f1028b02
JJ
12936 PR libgomp/28482
12937 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12938
06785a48
DF
129392007-04-19 Daniel Franke <franke.daniel@gmail.com>
12940
12941 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12942
b3b08ba0
MK
129432007-04-16 Matthias Klose <doko@debian.org>
12944
12945 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12946 flags if not building with -m64.
12947 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12948 flag for i?86-*-* targets, if current target matches -m64.
12949
6b2c5ce0
SE
129502007-04-14 Steve Ellcey <sje@cup.hp.com>
12951
12952 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12953 * Makefile.in: Regenerate.
12954
dd56fe7c
JDA
129552007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12956
12957 PR testsuite/31369
12958 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12959 ld_library_path.
12960 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12961
a0884cf0
JJ
129622007-04-04 Jakub Jelinek <jakub@redhat.com>
12963
12964 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12965 decls.
12966 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12967 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12968 (parse_affinity): New function.
12969 (initialize_env): Call it and gomp_init_affinity.
12970 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12971 create new pthread_attr_t and call gomp_init_thread_affinity
12972 on it for each thread before passing the attribute to pthread_create.
12973 * config/linux/affinity.c: New file.
12974 * config/posix/affinity.c: New file.
12975 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12976 * configure: Rebuilt.
12977 * config.h.in: Rebuilt.
12978 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12979 * Makefile.in: Rebuilt.
12980
1850744b
AT
129812007-03-23 Andreas Tobler <a.tobler@schweiz.org>
12982
12983 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12984 *-*-darwin*.
12985 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12986 and use it if found.
12987
516f1ed8
UB
129882007-03-18 Uros Bizjak <ubizjak@gmail.com>
12989
12990 * testsuite/config/default.exp: New file.
12991 * testsuite/lib/libgomp.exp: New file.
12992 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12993 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12994 load_lib *, load_gcc_lib *): Move to libgomp.exp.
12995 (libgomp_load): Remove.
12996 * testsuite/lib/libgomp.exp (libgomp_init): Compute
12997 always_ld_library_path, not ld_library_path. Set additional_flags
12998 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12999 (target_compile): Do not call libgomp_init. Append lang_library_path
13000 and lang_link_flags to options.
13001 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
13002 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
13003 here.
13004 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
13005 always_ld_library_path. Set LD_LIBRARY_PATH here.
13006 * testsuite/libgomp.fortran/fortran.exp: Ditto.
13007 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
13008 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
13009 CX8 flag.
13010 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
13011 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
13012 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
13013 * testsuite/libgomp.c/pr29947-1.c: Ditto.
13014 * testsuite/libgomp.c/atomic-10.c: Ditto.
13015
2ada56f5
JJ
130162007-03-21 Jakub Jelinek <jakub@redhat.com>
13017
13018 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
13019 dg-final cleanup-modules line.
13020 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
13021 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
13022 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
13023 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
13024 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
13025 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
13026 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
13027
f210f1cd
AS
130282007-03-18 Andreas Schwab <schwab@suse.de>
13029
13030 * acinclude.m4: Adjust regular expression for ld version
13031 extraction.
13032 * configure: Regenerate.
13033
c4dc950d
BM
130342007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
13035
13036 * Makefile.am: Add install-pdf target as copied from
13037 automake v1.10 rules.
13038 * Makefile.in: Regenerate
13039
e02a048f
JJ
130402007-02-07 Jakub Jelinek <jakub@redhat.com>
13041
78e075d4
JJ
13042 PR libgomp/28486
13043 * configure: Regenerate.
13044
e02a048f
JJ
13045 PR c++/30703
13046 * testsuite/libgomp.c++/pr30703.C: New test.
13047
60def7ed
JJ
130482007-02-02 Jakub Jelinek <jakub@redhat.com>
13049
13050 Revert:
13051 2006-07-05 Eric Christopher <echristo@apple.com>
13052 * configure.ac: Depend addition of -pthread on host OS.
13053 * configure: Regenerate.
13054
f1b0882e
RW
130552007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13056
13057 * libgomp.texi: Fix spacing after abbreviations.
13058
748b9d7c
DF
130592007-01-31 Daniel Franke <franke.daniel@gmail.com>
13060
13061 PR libgomp/30546
13062 * configure.ac: Add check for makeinfo
13063 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 13064 if an appropriate version of makeinfo is found.
748b9d7c
DF
13065 * aclocal.m4: Regenerated.
13066 * configure: Regenerated.
13067 * Makefile.in: Regenerated.
13068 * testsuite/Makefile.in: Regenerated.
13069
14734fc7
DF
130702007-01-29 Daniel Franke <franke.daniel@gmail.com>
13071
13072 PR libgomp/30540
13073 * libgomp.texi: More about implementation-dependent settings.
13074
7befd5d2
TB
130752007-01-26 Tobias Burnus <burnus@net-b.de>
13076
13077 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
13078
4288fea2
JJ
130792007-01-24 Jakub Jelinek <jakub@redhat.com>
13080
13081 PR middle-end/30494
13082 * testsuite/libgomp.c/pr30494.c: New test.
13083
627ab4b8
TT
130842007-01-15 Tom Tromey <tromey@redhat.com>
13085
13086 * configure: Rebuilt.
13087 * configure.ac: Fixed comment.
13088
7c2b7f45
DF
130892007-01-14 Daniel Franke <franke.daniel@gmail.com>
13090
13091 * libgomp.texi: Document implementation specific default values of
13092 environment variables.
13093
3721b9e1
DF
130942006-12-21 Daniel Franke <franke.daniel@gmail.com>
13095
13096 PR libgomp/28209
13097 * libgomp.texi: New file.
13098 * configure.ac: Add --enable-generated-files-in-srcdir option.
13099 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
13100 files to srcdir.
13101 * Makefile.in: Regenerated.
13102 * config.h.in: Regenerated.
13103 * testsuite/Makefile.in: Regenerated.
13104 * NOTES: Removed.
13105
62bd6216
DF
131062006-12-04 Daniel Franke <franke.daniel@gmail.com>
13107
13108 PR libgomp/29949
13109 * env.c (omp_set_num_threads): Set illegal thread count to 1.
13110
aad741f4
EB
131112006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
13112
13113 * configure: Regenerate.
13114
22568cc6
JJ
131152006-12-04 Jakub Jelinek <jakub@redhat.com>
13116
13117 PR libgomp/29947
13118 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
13119 start if there shouldn't be any loop iterations.
13120 (gomp_loop_ordered_static_start): Remove start == end test.
13121 * testsuite/libgomp.c/pr29947-1.c: New test.
13122 * testsuite/libgomp.c/pr29947-2.c: New test.
13123
a9690009
EB
131242006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
13125
13126 * configure.tgt: Force initial-exec TLS model on Linux only.
13127
597c25e6
DJ
131282006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
13129
13130 * configure: Regenerated.
13131
6acf0b38
UB
131322006-11-09 Uros Bizjak <ubizjak@gmail.com>
13133
13134 * env.c (parse_schedule): Reject out of range values.
13135 (parse_unsigned_long): Reject out of range, negative or zero values.
13136
a7a53ca5
JJ
131372006-10-29 Jakub Jelinek <jakub@redhat.com>
13138
13139 PR fortran/29629
13140 * testsuite/libgomp.fortran/pr29629.f90: New test.
13141
6d4d216a
EB
131422006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
13143
13144 PR libgomp/29494
13145 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
13146 * config/posix95: New directory.
13147 * config/posix95/omp-lock.h: New file.
13148 * config/posix95/lock.c: Likewise.
13149
5b043f08
GK
131502006-10-14 Geoffrey Keating <geoffk@apple.com>
13151
13152 * aclocal.m4: Regenerate.
13153 * configure: Regenerate.
13154
b50019f0
DS
131552006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
13156
13157 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
13158 '<' to '<='.
13159
8887708e
DS
131602006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
13161
13162 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
13163 test.
13164 * configure: Regenerate.
13165 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
13166
9b9e4cd6
JJ
131672006-09-26 Jakub Jelinek <jakub@redhat.com>
13168
a70ad3bb
JJ
13169 PR middle-end/25261
13170 PR middle-end/28790
13171 * testsuite/libgomp.c/nestedfn-4.c: New test.
13172 * testsuite/libgomp.c/nestedfn-5.c: New test.
13173 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
13174
9b9e4cd6
JJ
13175 PR fortran/29097
13176 * testsuite/libgomp.fortran/condinc1.f: New test.
13177 * testsuite/libgomp.fortran/condinc2.f: New test.
13178 * testsuite/libgomp.fortran/condinc3.f90: New test.
13179 * testsuite/libgomp.fortran/condinc4.f90: New test.
13180 * testsuite/libgomp.fortran/condinc1.inc: New file.
13181
2fb31455
TT
131822006-09-18 Tom Tromey <tromey@redhat.com>
13183
13184 * configure: Rebuilt.
13185
c663e301
JM
131862006-09-13 Joseph S. Myers <joseph@codesourcery.com>
13187
13188 PR c/28768
13189 PR preprocessor/14634
13190 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
13191 to AC_DEFINE.
13192 * configure: Regenerate.
13193
38371be9
SK
131942006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
13195
13196 * testsuite/libgomp.fortran/reduction3.f90: Change
13197 -2147483648 to -huge(i)-1 to avoid overflow.
13198 * testsuite/libgomp.fortran/reduction4.f90: Change
13199 Z'ffffffff' to not(0) to avoid overflow.
13200
571d5ac5
JM
132012006-08-26 Joseph S. Myers <joseph@codesourcery.com>
13202
13203 PR libgomp/25938
13204 * Makefile.am (libsubincludedir): New.
13205 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
13206 * Makefile.in: Regenerate.
13207
89b3e3cd
JJ
132082006-08-17 Jakub Jelinek <jakub@redhat.com>
13209
13210 PR libgomp/28725
13211 * env.c: Include ctype.h.
13212 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
13213 leading and/or trailing whitespace and compare strings case
13214 insensitively.
13215
742fae05
JJ
132162006-07-16 Jakub Jelinek <jakub@redhat.com>
13217
13218 PR fortran/28390
13219 * testsuite/libgomp.fortran/pr28390.f: New test.
13220
a1daed2d
EC
132212006-07-05 Eric Christopher <echristo@apple.com>
13222
13223 * configure.ac: Depend addition of -pthread on host OS.
13224 * configure: Regenerate.
13225
5d7b5199
JJ
132262006-06-21 Jakub Jelinek <jakub@redhat.com>
13227
13228 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
13229 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
13230 defined.
13231
fe5568e9
JJ
132322006-06-20 Jakub Jelinek <jakub@redhat.com>
13233
13234 PR libgomp/26175
13235 PR libgomp/26477
13236 * configure.ac: If neither --enable-linux-futex nor
13237 --disable-linux-futex is passed, determine the default by checking
13238 for compiling and/or running against NPTL. With --enable-linux-futex,
13239 check if SYS_gettid and SYS_futex are defined.
13240 * configure: Rebuilt.
13241
c3b11a40
RH
132422006-06-14 Richard Henderson <rth@redhat.com>
13243
13244 PR libgomp/28008
13245 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
13246 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
13247
d0d1b24d
RH
132482006-06-09 Richard Henderson <rth@redhat.com>
13249
13250 * env.c (gomp_nthreads_var): Change to unsigned long.
13251 (gomp_run_sched_chunk): Likewise.
13252 (parse_unsigned_long): Rename from parse_num_threads and generalize.
13253 (initialize_env): Initialize gomp_thread_attr.
13254 * libgomp.h (gomp_nthreads_var): Update decl.
13255 (gomp_run_sched_chunk): Likewise.
13256 (gomp_thread_attr): Declare.
13257 * team.c (gomp_thread_attr): Export.
13258 (initialize_team): Don't initialize it.
13259
cd75853e
JJ
132602006-06-09 Jakub Jelinek <jakub@redhat.com>
13261
13262 PR fortran/27916
13263 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
13264 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
13265
33815e0c
FXC
132662006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
13267
13268 * config/mingw32/time.c: New file.
13269 * configure.tgt: Use it.
13270
6667de0d
CD
132712006-05-23 Carlos O'Donell <carlos@codesourcery.com>
13272
13273 * Makefile.am: Add install-html target. Add install-html to .PHONY
13274 * Makefile.in: Regenerate.
13275
e962c46b
JDA
132762006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13277
13278 PR libgomp/27612
13279 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
13280 * testsuite/libgomp.c/critical-1.c: Likewise.
13281 * testsuite/libgomp.c/loop-1.c: Likewise.
13282 * testsuite/libgomp.c/loop-2.c: Likewise.
13283 * testsuite/libgomp.c/single-1.c: Likewise.
13284 * testsuite/libgomp.c/ordered-1.c: Likewise.
13285 * testsuite/libgomp.c/ordered-2.c: Likewise.
13286
eeb1d9e0
JJ
132872006-05-15 Jakub Jelinek <jakub@redhat.com>
13288
13289 PR middle-end/27416
13290 * libgomp.fortran/pr27416-1.f90: New test.
13291
693d710f
JJ
132922006-05-03 Jakub Jelinek <jakub@redhat.com>
13293
13294 PR fortran/27395
13295 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
13296 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
13297
8ca5b2a2
JJ
132982006-05-02 Jakub Jelinek <jakub@redhat.com>
13299
13300 PR c++/26943
13301 * testsuite/libgomp.c/pr26943-1.c: New test.
13302 * testsuite/libgomp.c/pr26943-2.c: New test.
13303 * testsuite/libgomp.c/pr26943-3.c: New test.
13304 * testsuite/libgomp.c/pr26943-4.c: New test.
13305 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
13306 * testsuite/libgomp.c++/pr26943.C: New test.
13307
077b0dfb
JJ
133082006-05-02 Jakub Jelinek <jakub@redhat.com>
13309
13310 PR middle-end/27337
13311 * testsuite/libgomp.c++/pr27337.C: New test.
13312
91b6c26d
JJ
133132006-04-26 Jakub Jelinek <jakub@redhat.com>
13314
13315 PR c/26171
13316 * testsuite/libgomp.c/pr26171.c: New test.
13317
60e1758f
RH
133182006-04-25 Richard Henderson <rth@redhat.com>
13319
13320 PR libgomp/25865
13321 * configure.ac: Use GCC_CHECK_TLS.
13322 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
13323 * Makefile.in, aclocal.m4, configure: Regenerate.
13324
615baed7
MK
133252006-04-10 Matthias Klose <doko@debian.org>
13326
13327 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
13328 directory names containing underscores.
13329
fae2b46b
JJ
133302006-03-21 Jakub Jelinek <jakub@redhat.com>
13331
13332 PR c++/26691
13333 * testsuite/libgomp.c++/pr26691.C: New test.
13334
11a5f608
JJ
133352006-03-13 Jakub Jelinek <jakub@redhat.com>
13336
13337 * testsuite/libgomp.fortran/retval2.f90: New test.
13338
1799e5d5
RH
133392006-03-09 Diego Novillo <dnovillo@redhat.com>
13340
13341 * testsuite/libgomp.c++: New directory.
13342
d349482e
AT
133432006-02-25 Shantonu Sen <ssen@opendarwin.org>
13344
13345 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
13346 * config/posix/sem.c: Implement the above.
13347
133482006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
13349
13350 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
13351 define HAVE_BROKEN_POSIX_SEMAPHORES.
13352 * configure: Rebuilt.
13353 * config.h.in: Rebuilt.
13354
124452c9
FXC
133552006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
13356
13357 PR bootstrap/26161
13358 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
13359 for the other pthread check.
13360 * configure: Regenerate.
13361 * config.h.in: Regenerate.
13362
dd8d6dfe
JJ
133632006-02-15 Jakub Jelinek <jakub@redhat.com>
13364
13365 PR libgomp/25938
13366 PR libgomp/25984
13367 * Makefile.am (fincludedir): New variable.
13368 (nodist_include_HEADERS): Remove Fortran files.
13369 (nodist_finclude_HEADERS): New variable.
13370 * Makefile.in: Regenerated.
13371
6c7a4dfd
JJ
133722006-02-13 Jakub Jelinek <jakub@redhat.com>
13373
13374 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
13375 Remove tests for returning assumed character length arrays.
13376
5142e08b
RS
133772006-02-12 Roger Sayle <roger@eyesopen.com>
13378 John David Anglin <dave@hiauly1.hia.nrc.ca>
13379
13380 PR libgomp/25936
13381 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 13382
5821fba8
UW
133832006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
13384
13385 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
13386
cb2bbc67
EB
133872006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
13388
13389 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
13390 part of LD_LIBRARY_PATH manually.
13391
f05ee80c
L
133922006-02-03 H.J. Lu <hongjiu.lu@intel.com>
13393
13394 PR libgomp/25852
13395 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
13396 libgomp_init.
13397
03b8fe49
PB
133982005-01-25 Paolo Bonzini <bonzini@gnu.org>
13399
13400 PR libgomp/25884
f05ee80c
L
13401 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
13402 * configure.ac (PERL): Don't set.
13403 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
13404 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
13405 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
13406 * omp.h.in: Wrap the new configure substitutions with @ characters.
13407 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
13408 * aclocal.m4, configure, Makefile.in: Regenerate.
13409 * mkomp_h.pl: Delete.
03b8fe49 13410
18cbfd85
PB
134112005-01-24 Paolo Bonzini <bonzini@gnu.org>
13412
13413 PR libgomp/25259
13414 * configure.ac: Use GCC_HEADER_STDINT.
13415 * libgomp.h: Include gstdint.h.
13416 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
13417 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
13418
c41303c6
RH
134192006-01-24 Richard Henderson <rth@redhat.com>
13420
13421 PR libgomp/25942
13422 * configure.ac: Add AM_MAINTAINER_MODE.
13423 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
13424
149b9553
DN
134252006-01-24 Diego Novillo <dnovillo@redhat.com>
13426
13427 * Makefile.in: Regenerate.
13428 * testsuite/Makefile.in: Regenerate.
13429 * aclocal.m4: Regenerate.
13430
192a50ad
AT
134312006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
13432
13433 * config/posix/proc.c: Conditional include of sys/loadavg.h for
13434 Solaris.
13435 * configure.ac: Add check for loadavg.h.
13436 (link_gomp): Adjust comment.
13437 * configure: Regenerate.
13438 * config.h.in: Regenerate.
13439
a55b8e18
SE
134402006-01-21 Steve Ellcey <sje@cup.hp.com>
13441
13442 PR libgomp/25877
13443 * configure.ac: Remove check for alloca.h.
13444 * configure: Regenerate.
13445 * config.h.in: Regenerate.
13446 * libgomp.h: define gomp_alloca to be __builtin_alloca.
13447 * team.c: Remove use of alloca.h.
13448 Call gomp_alloca instead of alloca.
13449
692eeb34
SE
134502006-01-20 Steve Ellcey <sje@cup.hp.com>
13451
13452 PR libgomp/25877
13453 * team.c: Add include of alloca.h.
13454 * configure.ac: Add check for alloca.h.
13455 * configure: Regenerate.
13456 * config.h.in: Regenerate.
13457
953ff289
DN
134582006-01-17 Jakub Jelinek <jakub@redhat.com>
13459
13460 PR fortran/25219
13461 * testsuite/libgomp.fortran/pr25219.f90: New test.
13462
134632005-12-05 Uros Bizjak <uros@kss-loka.si>
13464
13465 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
13466 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
13467 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13468 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13469 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
13470 testsuite/libgomp.fortran/threadprivate1.f90,
13471 testsuite/libgomp.fortran/threadprivate2.f90,
13472 testsuite/libgomp.fortran/threadprivate3.f90,
13473 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13474 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13475 testsuite/libgomp.fortran/omp_parse3.f90: Change required
13476 effective-target to TLS runtime.
13477
13478 * testsuite/libgomp.fortran/pr25162.f: Require
13479 effective-target TLS runtime.
13480
134812005-12-01 Jakub Jelinek <jakub@redhat.com>
13482
13483 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
13484 * testsuite/libgomp.c/nestedfn-3.c: New test.
13485
134862005-11-30 Jakub Jelinek <jakub@redhat.com>
13487
13488 PR fortran/25162
13489 * testsuite/libgomp.fortran/pr25162.f: New test.
13490
134912005-11-28 Jakub Jelinek <jakub@redhat.com>
13492
13493 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
13494 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
13495
134962005-11-25 Jakub Jelinek <jakub@redhat.com>
13497
13498 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
13499 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
13500 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
13501 single.c, team.c, work.c, config/linux/alpha/futex.h,
13502 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
13503 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
13504 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
13505 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
13506 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
13507 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
13508 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
13509 FSF address.
13510
135112005-11-18 Jakub Jelinek <jakub@redhat.com>
13512
13513 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
13514 to nodist_noinst_HEADERS.
13515 * Makefile.in: Rebuilt.
13516
13517 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
13518 add integer count field.
13519 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
13520 omp_nest_lock_t type change.
13521 (omp_init_nest_lock): Likewise. Initialize count to 0.
13522 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
13523 Increment count.
13524 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
13525 Decrement count.
13526 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
13527 Increment count if successful and return the new nesting level.
13528 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
13529 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
13530 * testsuite/libgomp.c/lib-1.c: New test.
13531 * testsuite/libgomp.fortran/lib1.f90: New test.
13532 * testsuite/libgomp.fortran/lib2.f: New test.
13533 * testsuite/libgomp.fortran/lib3.f: New test.
13534
135352005-11-17 Richard Henderson <rth@redhat.com>
13536
13537 PR 24845
13538 * Makefile.am (nodist_toolexeclib_HEADERS): New.
13539 * configure.ac (link_gomp): New. Substitute it.
13540 (AC_CONFIG_FILES): Add libgomp.spec.
13541 * libgomp.spec.in: New file.
13542 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
13543 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
13544
135452005-11-18 Jakub Jelinek <jakub@redhat.com>
13546
13547 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
13548 reduction(-:var) behaving the same as reduction(+:var).
13549 * testsuite/libgomp.c/reduction-4.c: New test.
13550
135512005-11-15 Uros Bizjak <uros@kss-loka.si>
13552
13553 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
13554 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
13555 testsuite/libgomp.c/copyin-3.c,
13556 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13557 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13558 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
13559 testsuite/libgomp.c++/pr24455.C,
13560 testsuite/libgomp.fortran/threadprivate1.f90,
13561 testsuite/libgomp.fortran/threadprivate2.f90,
13562 testsuite/libgomp.fortran/threadprivate3.f90,
13563 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13564 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13565 testsuite/libgomp.fortran/omp_parse3.f90: Require
13566 effective-target TLS.
13567
135682005-11-14 Diego Novillo <dnovillo@redhat.com>
13569
13570 * HEADER: Remove.
13571
135722005-11-13 Jakub Jelinek <jakub@redhat.com>
13573
13574 PR libgomp/24797
13575 * team.c (initialize_team): Pass NULL rather than free as
13576 pthread_key_create destructor. Initialize thread specific data
13577 pointer in initial thread to a static local variable rather than
13578 malloced memory.
13579
135802005-11-11 Uros Bizjak <uros@kss-loka.si>
13581
13582 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
13583 its location to ld_library_path.
13584
135852005-11-10 Diego Novillo <dnovillo@redhat.com>
13586
13587 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
13588
135892005-11-10 Diego Novillo <dnovillo@redhat.com>
13590
13591 * testsuite/libgomp.c: Rename from libgomp.dg.
13592
135932005-11-09 Diego Novillo <dnovillo@redhat.com>
13594
13595 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
13596 threadprivate variable 'i'.
13597
135982005-11-09 Jakub Jelinek <jakub@redhat.com>
13599
13600 * config/linux/s390/futex.h: New file.
13601 * configure.tgt: Use it.
13602
13603 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13604 before the parallel.
13605
136062005-11-08 Jakub Jelinek <jakub@redhat.com>
13607
13608 PR c++/24734
13609 * testsuite/libgomp.c++/master-1.C: New test.
13610
136112005-11-07 Jakub Jelinek <jakub@redhat.com>
13612
13613 * testsuite/libgomp.dg/copyin-3.c: New test.
13614
136152005-11-07 Jakub Jelinek <jakub@redhat.com>
13616
13617 * testsuite/libgomp.fortran/retval1.f90: New test.
13618 * testsuite/libgomp.fortran/vla7.f90: New test.
13619
136202005-11-06 Jakub Jelinek <jakub@redhat.com>
13621
13622 * testsuite/libgomp.fortran/vla2.f90: New test.
13623 * testsuite/libgomp.fortran/vla3.f90: New test.
13624 * testsuite/libgomp.fortran/vla4.f90: New test.
13625 * testsuite/libgomp.fortran/vla5.f90: New test.
13626 * testsuite/libgomp.fortran/vla6.f90: New test.
13627
136282005-11-01 Jakub Jelinek <jakub@redhat.com>
13629
13630 * config/linux/sparc/futex.h: New file.
13631 * configure.tgt: Use it.
13632 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13633
13634 * critical.c: Include stdlib.h.
13635 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13636 ignoring return value.
13637 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13638 LIBGOMP_CHECK_SYNC_BUILTINS check.
13639 * configure: Rebuilt.
13640
136412005-10-31 Jakub Jelinek <jakub@redhat.com>
13642
13643 * testsuite/libgomp.fortran/vla1.f90: New test.
13644
136452005-10-31 Richard Henderson <rth@redhat.com>
13646
13647 * testsuite/libgomp.fortran/character2.f90: Fix race condition
13648 setting 's' in different threads.
13649
136502005-10-31 Jakub Jelinek <jakub@redhat.com>
13651
13652 * libgomp.h (attribute_hidden, ialias): Define.
13653 * config/posix/proc.c (omp_get_num_procs): Add ialias.
13654 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13655 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13656 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13657 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13658 omp_test_lock, omp_test_nest_lock): Likewise.
13659 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13660 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13661 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13662 omp_test_lock, omp_test_nest_lock): Likewise.
13663 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13664 omp_get_dynamic, omp_get_nested): Likewise.
13665 * parallel.c (omp_get_num_threads, omp_get_max_threads,
13666 omp_get_thread_num, omp_in_parallel): Likewise.
13667 * fortran.c (ialias_redirect): Define.
13668 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13669 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13670 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13671 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13672 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13673 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13674 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13675 omp_get_wtime): Add ialias_redirect.
13676
136772005-10-30 Jakub Jelinek <jakub@redhat.com>
13678
13679 * fortran.c: Include stdlib.h.
13680
136812005-10-29 Jakub Jelinek <jakub@redhat.com>
13682
13683 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13684 * Makefile.in: Regenerated.
13685
136862005-10-28 Jakub Jelinek <jakub@redhat.com>
13687
13688 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13689 * libgomp_f.h.in (omp_check_defines): New function.
13690 * env.c: Include libgomp_f.h.
13691 (initialize_env): Call omp_check_defines.
13692
13693 * testsuite/libgomp.dg/copyin-2.c: New test.
13694 * testsuite/libgomp.c++/copyin-2.C: New test.
13695 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13696
13697 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13698 * testsuite/libgomp.fortran/sharing2.f90: New test.
13699
13700 * testsuite/libgomp.dg/copyin-1.c: New test.
13701 * testsuite/libgomp.c++/copyin-1.C: New test.
13702
137032005-10-26 Jakub Jelinek <jakub@redhat.com>
13704
13705 * testsuite/libgomp.fortran/crayptr1.f90: New test.
13706
13707 * testsuite/libgomp.fortran/workshare1.f90: New test.
13708
13709 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13710 only test.
13711 * libgomp.fortran/sharing1.f90: New test.
13712
137132005-10-24 Jakub Jelinek <jakub@redhat.com>
13714
13715 PR c++/24502
13716 * testsuite/libgomp.c++/loop-7.C: New test.
13717
13718 * testsuite/libgomp.dg/nestedfn-2.c: New test.
13719
13720 * testsuite/libgomp.dg/nestedfn-1.c: New test.
13721 * testsuite/libgomp.fortran/reduction6.f90: New test.
13722 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13723
137242005-10-23 Richard Henderson <rth@redhat.com>
13725
13726 * testsuite/libgomp.c++/ctor-1.C: New.
13727 * testsuite/libgomp.c++/ctor-2.C: New.
13728 * testsuite/libgomp.c++/ctor-3.C: New.
13729 * testsuite/libgomp.c++/ctor-4.C: New.
13730 * testsuite/libgomp.c++/ctor-5.C: New.
13731 * testsuite/libgomp.c++/ctor-6.C: New.
13732 * testsuite/libgomp.c++/ctor-7.C: New.
13733 * testsuite/libgomp.c++/ctor-8.C: New.
13734 * testsuite/libgomp.c++/ctor-9.C: New.
13735
137362005-10-21 Diego Novillo <dnovillo@redhat.com>
13737
13738 PR 24455
13739 * testsuite/libgomp.c++/pr24455-1.C: New test.
13740 * testsuite/libgomp.c++/pr24455.C: New test.
13741 * testsuite/libgomp.dg/pr24455-1.c: New test.
13742 * testsuite/libgomp.dg/pr24455.c: New test.
13743
137442005-10-20 Richard Henderson <rth@redhat.com>
13745
13746 * testsuite/libgomp.c++/loop-6.C: New.
13747 * testsuite/libgomp.dg/loop-3.c: New.
13748
137492005-10-20 Jakub Jelinek <jakub@redhat.com>
13750
13751 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13752 explicitly private.
13753 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13754 explicitly shared.
13755
137562005-10-19 Diego Novillo <dnovillo@redhat.com>
13757
13758 * testsuite/libgomp.fortran/jacobi.f: New test.
13759
137602005-10-19 Richard Henderson <rth@redhat.com>
13761
13762 * configure.tgt (i?86-linux): Default to with_arch instead of
13763 CFLAGS. Add -mtune to match target_cpu.
13764 (x86_64-linux): Tune to i686.
13765
13766 * fortran.c (omp_test_nest_lock_): Fix typo.
13767
137682005-10-19 Jakub Jelinek <jakub@redhat.com>
13769
13770 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13771 gomp_ordered_sync): Do nothing if team->nthreads == 1.
13772 * testsuite/libgomp.dg/ordered-3.c: New test.
13773
13774 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13775 Remove volatile keyword.
13776
13777 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13778 in COMMON block to avoid warnings on 64-bit targets.
13779
137802005-10-18 Diego Novillo <dnovillo@redhat.com>
13781
13782 * testsuite/libgomp.dg/shared-3.c: New test.
13783
137842005-10-18 Jakub Jelinek <jakub@redhat.com>
13785
13786 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13787 * testsuite/libgomp.fortran/reduction5.f90: New test.
13788
137892005-10-18 Jakub Jelinek <jakub@redhat.com>
13790
13791 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13792 dg-options.
13793 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
13794 flush loop now that __sync_synchronize has proper memory barrier.
13795 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13796 Add -ffixed-form to dg-options.
13797
137982005-10-17 Diego Novillo <dnovillo@redhat.com>
13799
13800 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13801 from subdirectories.
13802 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13803 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13804 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13805 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13806 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13807 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13808 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13809 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13810 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13811 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13812 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13813 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13814 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13815 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13816 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13817 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13818 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13819 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13820 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13821 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13822 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13823 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13824 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13825 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13826 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13827
138282005-10-17 Jakub Jelinek <jakub@redhat.com>
13829
13830 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13831 lang_library_path exists. Use find instead of glob to gather tests.
13832 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13833
138342005-10-17 Diego Novillo <dnovillo@redhat.com>
13835
13836 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13837 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13838 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13839 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13840 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13841 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13842 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13843 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13844 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13845 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13846 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13847 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13848 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13849
138502005-10-15 Jakub Jelinek <jakub@redhat.com>
13851
13852 * testsuite/libgomp.dg/vla-1.c: New test.
13853
13854 * testsuite/libgomp.fortran/reference2.f90: New test.
13855
13856 * testsuite/libgomp.fortran/character2.f90: Remove explicit
13857 declaration of omp_get_thread_num.
13858 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
13859 use omp_lib.
13860
13861 * testsuite/libgomp.fortran/reduction1.f90: New test.
13862 * testsuite/libgomp.fortran/reduction2.f90: New test.
13863 * testsuite/libgomp.fortran/reduction3.f90: New test.
13864 * testsuite/libgomp.fortran/reduction4.f90: New test.
13865
138662005-10-13 Richard Henderson <rth@redhat.com>
13867
13868 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13869 * Makefile.in: Regenerate.
13870 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13871 * libgomp.h: Include bar.h.
13872 (struct gomp_barrier): Remove.
13873 (struct gomp_team): Add barrier. Replace master_barrier with
13874 master_release. Replace threads with ordered_release.
13875 (struct gomp_thread): Replace barrier with release.
13876 * ordered.c (gomp_ordered_first): Update for ordered_release change.
13877 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13878 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13879 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13880 (GOMP_single_copy_end): Likewise.
13881 * team.c (gomp_threads_dock): New.
13882 (gomp_barrier_init, gomp_barrier_destroy): Remove.
13883 (gomp_thread_start): Use gomp_barrier_wait.
13884 (new_team, free_team): Update for gomp_team changes.
13885 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13886 (gomp_team_end): Use gomp_barrier_wait.
13887 (initialize_team): Update for gomp_thread changes.
13888 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13889 (gomp_work_share_end_nowait): Use atomic ops when available.
13890 * config/linux/bar.c, config/linux/bar.h: New files.
13891 * config/posix/bar.c, config/posix/bar.h: New files.
13892
138932005-10-13 Jakub Jelinek <jakub@redhat.com>
13894
13895 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13896 * testsuite/libgomp.dg/single-2.c: New test.
13897
13898 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13899 lang_link_flags): Unset, so that they aren't inherited from previously
13900 sourced *.exp.
13901
13902 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13903
139042005-10-12 Richard Henderson <rth@redhat.com>
13905
13906 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13907 (libgomp_init): Use lang_test_file, lang_library_path, and
13908 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
13909
13910 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13911 (lang_test_file, lang_link_flags): New.
13912 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13913
13914 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13915 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13916 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13917 testsuite/libgomp.c++/parallel-1.C,
13918 testsuite/libgomp.c++/reduction-1.C,
13919 testsuite/libgomp.c++/reduction-2.C,
13920 testsuite/libgomp.c++/reduction-3.C,
13921 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13922 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13923 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13924 New files, largely cribbed from the C testsuite.
13925
139262005-10-12 Jakub Jelinek <jakub@redhat.com>
13927
13928 * testsuite/libgomp.fortran/character1.f90: New test.
13929 * testsuite/libgomp.fortran/character2.f90: New test.
13930
13931 * testsuite/libgomp.dg/nested-1.c: New test.
13932 * testsuite/libgomp.dg/nested-2.c: New test.
13933 * testsuite/libgomp.fortran/do1.f90: New test.
13934 * testsuite/libgomp.fortran/do2.f90: New test.
13935
13936 * testsuite/libgomp.fortran/reference1.f90: New test.
13937
139382005-10-11 Jakub Jelinek <jakub@redhat.com>
13939
13940 * testsuite/libgomp.dg/reduction-1.c: New test.
13941 * testsuite/libgomp.dg/reduction-2.c: New test.
13942 * testsuite/libgomp.dg/reduction-3.c: New test.
13943
139442005-10-10 Jakub Jelinek <jakub@redhat.com>
13945
13946 * testsuite/libgomp.dg/atomic-1.c: New test.
13947 * testsuite/libgomp.dg/atomic-2.c: New test.
13948
139492005-10-09 Richard Henderson <rth@redhat.com>
13950
13951 * critical.c (atomic_lock): New.
13952 (initialize_critical): Initialize it.
13953 (GOMP_atomic_start, GOMP_atomic_end): New.
13954 * libgomp.map: Export them.
13955 * libgomp_g.h: Declare them.
13956
13957 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13958
139592005-10-02 Richard Henderson <rth@redhat.com>
13960
13961 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
13962 to XCFLAGS instead of CFLAGS.
13963
139642005-09-30 Richard Henderson <rth@redhat.com>
13965
13966 * configure.ac: Determine whether -pthread or -lpthread is needed.
13967 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 13968 * Makefile.in, configure: Rebuild.
953ff289
DN
13969
139702005-09-28 Richard Henderson <rth@redhat.com>
13971
13972 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13973 * testsuite/libgomp.dg/omp-single-3.c: New test.
13974
139752005-09-28 Diego Novillo <dnovillo@redhat.com>
13976
13977 * testsuite/libgomp.dg/omp-single-2.c: New test.
13978 * testsuite/libgomp.dg/shared-2.c: Fix return code.
13979
139802005-09-27 Richard Henderson <rth@redhat.com>
13981
13982 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13983 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13984
139852005-09-27 Jakub Jelinek <jakub@redhat.com>
13986
13987 * testsuite/libgomp.dg/omp-loop03.c: New test.
13988
139892005-09-27 Diego Novillo <dnovillo@redhat.com>
13990
13991 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
13992
139932005-09-27 Diego Novillo <dnovillo@redhat.com>
13994
13995 * testsuite/libgomp.dg/omp-single-1.c: New test.
13996 * testsuite/libgomp.dg/shared-1.c: Return 0.
13997 Add prototype for abort.
13998 * testsuite/libgomp.dg/shared-2.c: Likewise.
13999
140002005-09-26 Jakub Jelinek <jakub@redhat.com>
14001
14002 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
14003 constructs.
14004
140052005-09-26 Diego Novillo <dnovillo@redhat.com>
14006
14007 * testsuite/libgomp.dg/shared-1.c: New test.
14008 * testsuite/libgomp.dg/shared-2.c: New test.
14009
140102005-09-24 Richard Henderson <rth@redhat.com>
14011
14012 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
14013
140142005-09-24 Richard Henderson <rth@redhat.com>
14015
14016 * iter.c (gomp_iter_static_next): Round up when computing number
14017 of iterations. Don't bother distributing a remainder equally.
14018
14019 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
14020 Don't call srand. Zero b before testing.
14021 (main): New.
14022
140232005-09-24 Jakub Jelinek <jakub@redhat.com>
14024
14025 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
14026 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
14027
140282005-09-23 Jakub Jelinek <jakub@redhat.com>
14029
14030 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
14031 without !$omp end do, followed immediately by subroutine end.
14032
140332005-09-23 Diego Novillo <dnovillo@redhat.com>
14034
14035 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
14036
140372005-09-22 Richard Henderson <rth@redhat.com>
14038
14039 * critical.c (GOMP_critical_name_start): Change argument to void**.
14040 Reuse the pointer space if the mutex fits.
14041 (GOMP_critical_name_end): Likewise.
14042 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
14043 * libgomp_g.h (GOMP_critical_name_start): Update decl.
14044 (GOMP_critical_name_end): Likewise.
14045 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
14046 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
14047
140482005-09-20 Richard Henderson <rth@redhat.com>
14049
14050 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
14051 (create_lock_lock): New.
14052 (initialize_critical): Initialize it.
14053 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
14054 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
14055
140562005-09-20 Diego Novillo <dnovillo@redhat.com>
14057
14058 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
14059
140602005-09-20 Diego Novillo <dnovillo@redhat.com>
14061
14062 * testsuite/libgomp.dg/omp-loop01.c: New test.
14063 * testsuite/libgomp.dg/omp-loop02.c: New test.
14064
140652005-09-20 Jakub Jelinek <jakub@redhat.com>
14066
14067 * configure.ac (AC_PROG_FC): Add.
14068 (USE_FORTRAN): New automake conditional.
14069 * configure: Rebuilt.
14070 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
14071 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
14072 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
14073 Add rules to build them.
14074 * Makefile.in: Rebuilt.
14075 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
14076 OMP_NEST_LOCK_KIND.
14077 * libgomp.map: Add Fortran wrappers.
14078 * libgomp_f.h.in: New file.
14079 * omp_lib.h.in: New file.
14080 * omp_lib.f90.in: New file.
14081 * fortran.c: New file.
14082 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
14083 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
14084 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
14085 libgfortran has been built.
14086 * testsuite/libgomp.fortran/fortran.exp: New file.
14087 * testsuite/libgomp.fortran/omp_cond1.f: New test.
14088 * testsuite/libgomp.fortran/omp_cond2.f: New test.
14089 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
14090 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
14091 * testsuite/libgomp.fortran/omp_hello.f: New test.
14092 * testsuite/libgomp.fortran/omp_orphan.f: New test.
14093 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
14094 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
14095 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
14096 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
14097 * testsuite/libgomp.fortran/omp_reduction.f: New test.
14098 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
14099 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
14100
141012005-08-30 Richard Henderson <rth@redhat.com>
14102
14103 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
14104 function for when aliases are not usable.
14105 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
14106 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14107 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
14108 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
14109 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
14110 GOMP_loop_ordered_guided_next): Likewise.
14111 * ordered.c (GOMP_ordered_start): Likewise.
14112
141132005-08-01 Diego Novillo <dnovillo@redhat.com>
14114
14115 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
14116 * testsuite/libgomp.dg/omp_hello.c: Fix return code
14117 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
14118 * testsuite/libgomp.dg/omp_orphan.c: Likewise
14119 * testsuite/libgomp.dg/omp_reduction.c: Likewise
14120 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
14121 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
14122 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
14123 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
14124
141252005-07-07 Eric Christopher <echristo@redhat.com>
14126 Diego Novillo <dnovillo@redhat.com>
14127
14128 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
14129 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
14130 up code.
14131 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
14132 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
14133 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
14134 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
14135 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
14136 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
14137 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
14138
141392005-06-13 Diego Novillo <dnovillo@redhat.com>
14140
14141 * TOPLEVEL.patch: Remove.
14142
141432005-05-16 Richard Henderson <rth@redhat.com>
14144
14145 * configure.ac: Test for clock_gettime.
14146 * config.h.in, configure: Rebuild.
14147 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
14148 (omp_get_wtime): Use clock_gettime if available.
14149 (omp_get_wtick): Use clock_getres if available.
14150
141512005-05-11 Richard Henderson <rth@redhat.com>
14152
14153 * config/linux/ia64/futex.h: New file.
14154 * configure.tgt: Use it.
14155
14156 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
14157
141582005-05-07 Richard Henderson <rth@redhat.com>
14159
14160 * config/linux/powerpc/futex.h: New file.
14161 * configure.tgt: Use it.
14162
14163 * config/linux/i486/futex.h: Merge ...
14164 * config/linux/x86_64/futex.h: ... into ...
14165 * config/linux/x86/futex.h: ... here.
14166 * configure.tgt: Update to match.
14167
141682005-05-06 Richard Henderson <rth@redhat.com>
14169
14170 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
14171 * config/linux/i486/futex.h: Likewise.
14172 * config/linux/x86_64/futex.h: Likewise.
14173
14174 * config/linux/lock.c: New file.
14175 * config/linux/omp-lock.h: New file.
14176
14177 * critical.c, env.h: Don't include omp.h
14178 * config/posix/lock.c: Include libgomp.h instead of omp.h.
14179 * config/posix/time.c: Likewise.
14180 * config/posix/omp-lock.h: New file.
14181 * libgomp.h: Include omp-lock.h and omp.h.
14182 * Makefile.am (nodist_include_HEADERS): New.
14183 (omp.h): New rule.
14184 * configure.ac (PERL): New.
14185 * mkomp_h.pl: New file.
14186 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
14187 with templates.
14188 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
14189
14190 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
14191 build directory. Re-add -march=i486 hack.
14192
14193 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
14194 (libgomp_link_flags): Remove.
14195 (libgomp_initialized): Remove.
14196 (libgomp_init): Don't protect from reinitialization. Copy code
14197 from libstdc++ for getting the multilib set correctly.
14198
141992005-05-05 Richard Henderson <rth@redhat.com>
14200
14201 * config/linux/alpha/futex.h: New file.
14202 * configure.tgt (alpha*-*-linux*): Use it.
14203
14204 * config/posix/mutex.c: New file.
14205 * config/posix/sem.c: Use libgomp.h.
14206
14207 * configure.tgt (x86_64-linux): Also test CC for -m32.
14208 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
14209
a1daed2d 14210 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
14211 after $gccpath.
14212
14213 * Makefile.am (SUBDIRS): New.
14214 (libgomp_la_LDFLAGS): Add -lpthread.
14215 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
14216 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
14217
14218 * libgomp_g.h: New file.
14219 * libgomp.h: Split out all public declarations to libgomp_g.h.
14220 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
14221 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
14222 * config/linux/sem.h: Likewise.
14223 * config/posix/sem.h: Likewise.
14224
14225 * Makefile.am (AM_LDFLAGS): New.
14226 (libgomp_version_script): Split out from ...
14227 (libgomp_la_LDFLAGS): ... here.
14228 (libgomp_version_info): New.
14229 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
14230 (LIBGOMP_ENABLE): New.
14231 (LIBGOMP_CHECK_LINKER_FEATURES): New.
14232 (LIBGOMP_ENABLE_SYMVERS): New.
14233 * configure.ac (AC_INIT): Version 1.0.
14234 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
14235 (enable-linux-futex): Likewise. Rename from enable-futex.
14236 (libtool_VERSION): New.
14237 (LIBGOMP_ENABLE_SYMVERS): Use it.
14238 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
14239 * Makefile.in, aclocal.m4, configure: Rebuild.
14240
14241 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
14242 (gomp_mutex_unlock_slow): Fix typo.
14243 * config/linux/sem.c: Similarly.
14244 (gomp_sem_post_slow): Fix typo.
14245 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
14246 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
14247 [__PIC__] (sys_futex0): Don't use tmp output in asm.
14248
14249 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
14250 (libgomp_la_LDFLAGS): Add top_srcdir to path.
14251 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
14252 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
14253 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
14254 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
14255 LDFLAGS. Pull enable_futex check to top-level.
14256 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
14257 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
14258
14259 First attempt at real configury.
14260 * Makefile, config.h: Remove file.
14261 * Makefile.am, Makefile.in: New file.
14262 * acinclude.m4 aclocal.m4: New file.
14263 * configure.ac, configure.tgt, configure: New file.
14264
14265 * config/posix/lock.c: Rename from sys-lock.c.
14266 * config/posix/mutex.h: Rename from sys-mutex.h.
14267 * config/posix/sem.c: Rename from sys-sem.c.
14268 * config/posix/sem.h: Rename from sys-sem.h.
14269 * config/posix/proc.c: Rename from sys-proc.c.
14270 * config/posix/time.c: Rename from sys-proc.c.
14271
14272 * config/linux/mutex.c: New file.
14273 * config/linux/mutex.h: New file.
14274 * config/linux/sem.c: New file.
14275 * config/linux/sem.h: New file.
14276 * config/linux/i486/futex.h: New file.
14277 * config/linux/x86_64/futex.h: New file.
14278
142792005-05-04 Richard Henderson <rth@redhat.com>
14280
14281 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
14282 * libgomp.h: Declare them.
14283 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
14284 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
14285
142862005-05-04 Richard Henderson <rth@redhat.com>
14287
14288 * libgomp-1 code drop
14289
142902005-05-04 Richard Henderson <rth@redhat.com>
14291
14292 * iter.c (gomp_iter_static_next): Return tri-state on 0.
14293 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
14294 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
14295 (gomp_iter_static_next): Update.
14296 (gomp_ordered_static_next): Update.
14297 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
14298 (gomp_loop_ordered_static_start): Likewise. Exit early for a
14299 totally empty range.
14300 (gomp_loop_ordered_static_next): Refine test for calling
14301 gomp_ordered_static_next.
14302 * testsuite/ordered-1.c: Add case for more threads than iterations.
14303
14304 * iter.c (gomp_iter_runtime_next_locked): Remove.
14305 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 14306 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
14307 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
14308 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
14309 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
14310 gomp_loop_ordered_guided_next): Downcase name, make static, add
14311 an external alias with the old name.
14312 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
14313 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
14314 switch and call one of the above static functions.
14315 * libgomp.h: Update.
14316
14317 * work.c (gomp_work_share_start): Lock the mutex for !first too.
14318 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
14319 GOMP_loop_guided_start, GOMP_loop_runtime_start,
14320 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14321 GOMP_loop_ordered_guided_start): Update to match.
14322 * sections.c (GOMP_sections_start): Likewise.
14323 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
14324
14325 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
14326 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
14327 Use bounds check instead of modulus.
14328 (gomp_ordered_sync): Split out of GOMP_ordered_start.
14329 (gomp_ordered_last): Don't sync with ordered_owner here.
14330 (gomp_ordered_next): Likewise.
14331 (gomp_ordered_static_loop_next): Likewise.
14332 * loop.c, libgomp.h: Update to match.
14333
14334 * libgomp.h (GOMP_barrier): Declare.
14335
14336 * testsuite/barrier-1.c: New file.
14337 * testsuite/critical-1.c: New file.
14338 * testsuite/ordered-2.c: New file.
14339 * testsuite/ordered-1.c: New file.
14340 * testsuite/sections-1.c: New file.
14341 * testsuite/single-1.c: New file.
14342 * testsuite/Makefile (TESTS): Add them.
14343
143442005-05-04 Richard Henderson <rth@redhat.com>
14345
14346 * libgomp.h (struct gomp_work_share): Add ordered_owner.
14347 * loop.c (GOMP_loop_static_start): If not the startup thread,
14348 acquire the mutex to wait for initialization complete.
14349 (GOMP_loop_ordered_static_start): Likewise.
14350 (GOMP_loop_ordered_runtime_start): Likewise.
14351 (GOMP_loop_ordered_static_first): Remove.
14352 (GOMP_loop_ordered_dynamic_first): Remove.
14353 (GOMP_loop_ordered_guided_first): Remove.
14354 (GOMP_loop_ordered_runtime_first): Remove.
14355 * ordered.c (gomp_ordered_loop_first): Post to own release when
14356 we're the first thread.
14357 (gomp_ordered_loop_last): Wait on release if not owner.
14358 (gomp_ordered_loop_next): Likewise.
14359 (gomp_ordered_static_loop_init): New.
14360 (gomp_ordered_static_loop_next): Use ordered_owner.
14361 (GOMP_ordered_start): Likewise.
14362 * work.c (gomp_new_work_share): Initialize ordered_owner.
14363
143642005-05-03 Richard Henderson <rth@redhat.com>
14365
14366 * Makefile (OPT): New.
14367 (CFLAGS): Use it.
14368
14369 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
14370 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
14371 * libgomp.h, libgomp.map, NOTES: Update to match.
14372
14373 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
14374 Add initialized and thr members.
14375 (gomp_thread_start): Pause when initially spawned to wait for
14376 the whole team to be created.
14377 (gomp_team_start): Release team members at the end.
14378
14379 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
14380 (f_foo_1): Use GOMP_loop_end.
14381 (f_foo_2): Use GOMP_loop_end_nowait.
14382
14383 * testsuite/loop-2.c: New file.
14384 * testsuite/Makefile (TESTS): Add it.
14385
143862005-05-03 Richard Henderson <rth@redhat.com>
14387
14388 * iter.c (gomp_iter_static_next): Fix overflow check typo.
14389 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
14390 * team.c (new_team): Initialize oldest_live_gen to 1 if no
14391 initial work_share.
14392
14393 * testsuite/Makefile: New file.
14394 * testsuite/loop-1.c: New file.
14395
143962005-05-03 Richard Henderson <rth@redhat.com>
14397
14398 Initial implementation and checkin.
21fa2a29 14399\f
8d9254fc 14400Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
14401
14402Copying and distribution of this file, with or without modification,
14403are permitted in any medium without royalty provided the copyright
14404notice and this notice are preserved.