]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
PR fortran/98017 - Suspected regression using PACK
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
360258da
GA
12020-11-25 Thomas Schwinge <thomas@codesourcery.com>
2
3 * testsuite/libgomp.oacc-c++/cache-1.C: New.
4 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
5
62020-11-25 Andrew Stubbs <ams@codesourcery.com>
7
8 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
9 expected results.
10
1e2c9a27
GA
112020-11-24 Andrew Stubbs <ams@codesourcery.com>
12
13 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
14 (reserved): Delete unused define.
15
162020-11-24 Thomas Schwinge <thomas@codesourcery.com>
17
18 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
19 Tcl 8.5-specific behavior.
20 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
21
25bb75f8
GA
222020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
23
24 * env.c (gomp_global_icv): Remove nest_var field. Add
25 max_active_levels_var field.
26 (gomp_max_active_levels_var): Remove.
27 (parse_boolean): Return true on success.
28 (handle_omp_display_env): Express OMP_NESTED in terms of
29 max_active_levels_var. Change format specifier for
30 max_active_levels_var.
31 (initialize_env): Set max_active_levels_var from
32 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
33 OMP_PROC_BIND.
34 * icv.c (omp_set_nested): Express in terms of
35 max_active_levels_var.
36 (omp_get_nested): Likewise.
37 (omp_set_max_active_levels): Use max_active_levels_var field instead
38 of gomp_max_active_levels_var.
39 (omp_get_max_active_levels): Likewise.
40 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
41 max_active_levels_var field.
42 (gomp_supported_active_levels): Set to UCHAR_MAX.
43 (gomp_max_active_levels_var): Delete.
44 * libgomp.texi (omp_get_nested): Update documentation.
45 (omp_set_nested): Likewise.
46 (OMP_MAX_ACTIVE_LEVELS): Likewise.
47 (OMP_NESTED): Likewise.
48 (OMP_NUM_THREADS): Likewise.
49 (OMP_PROC_BIND): Likewise.
50 * parallel.c (gomp_resolve_num_threads): Replace reference
51 to nest_var with max_active_levels_var. Use max_active_levels_var
52 field instead of gomp_max_active_levels_var.
53
542020-11-18 Tobias Burnus <tobias@codesourcery.com>
55
56 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
57 nvptx_usleep; use also for device={arch(gcn)}.
58
faab61b5
GA
592020-11-14 Jakub Jelinek <jakub@redhat.com>
60
61 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
62 (foo): Add tests for non-VLA private and firstprivate clauses on
63 omp task.
64 (bar): Likewise. Remove taking of address from private/firstprivate
65 variables.
66 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
67 (foo): Add p, q, px and s arguments. Add tests for array reductions
68 and for non-VLA private and firstprivate clauses on omp task.
69 (bar): Removed.
70 (main): Adjust foo caller. Don't call bar.
71
77f67db2
GA
722020-11-13 Gergö Barany <gergo@codesourcery.com>
73 Thomas Schwinge <thomas@codesourcery.com>
74
75 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
76 New.
77 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
78 Likewise.
79 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
80 Likewise.
81 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
82 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
83
842020-11-13 Gergö Barany <gergo@codesourcery.com>
85 Thomas Schwinge <thomas@codesourcery.com>
86
87 PR fortran/94358
88 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
89
902020-11-13 Jakub Jelinek <jakub@redhat.com>
91
92 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
93 for array reductions.
94 (main): Adjust foo callers.
95
a5a11525
GA
962020-11-12 Jakub Jelinek <jakub@redhat.com>
97
98 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
99 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
100 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
101 * allocator.c (omp_aligned_alloc): New for now static function,
102 add alignment argument and handle it.
103 (omp_alloc): Reimplement using omp_aligned_alloc.
104 (GOMP_alloc, GOMP_free): New functions.
105 (omp_free): Add ialias.
106 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
107 * testsuite/libgomp.c++/allocate-1.C: New test.
108
1092020-11-12 Thomas Schwinge <thomas@codesourcery.com>
110
111 PR fortran/97782
112 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
113
bb622641
GA
1142020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
115
116 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
117 usable.
118 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
119 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
120 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
121 (goacc_enter_data_internal): Likewise.
122 * target.c (gomp_map_vars_internal):
123 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
124 of gomp_attach_pointer for OpenMP cases.
125 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
126 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
127 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
128
0cfd9109
GA
1292020-11-05 Ulrich Drepper <drepper@redhat.com>
130 Kwok Cheung Yeung <kcy@codesourcery.com>
131
132 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
133 * Makefile.in: Regenerate.
134 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
135 pragmas to ignore -Wdeprecated-declarations warnings.
136 * icv.c: Likewise.
137 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
138 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
139 and omp_get_nested with __GOMP_DEPRECATED_5_0.
140 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
141 deprecated.
142 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
143 to test options.
144 * testsuite/libgomp.c/affinity-1.c: Likewise.
145 * testsuite/libgomp.c/affinity-2.c: Likewise.
146 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
147 * testsuite/libgomp.c/lib-1.c: Likewise.
148 * testsuite/libgomp.c/nested-1.c: Likewise.
149 * testsuite/libgomp.c/nested-2.c: Likewise.
150 * testsuite/libgomp.c/nested-3.c: Likewise.
151 * testsuite/libgomp.c/pr32362-1.c: Likewise.
152 * testsuite/libgomp.c/pr32362-2.c: Likewise.
153 * testsuite/libgomp.c/pr32362-3.c: Likewise.
154 * testsuite/libgomp.c/pr35549.c: Likewise.
155 * testsuite/libgomp.c/pr42942.c: Likewise.
156 * testsuite/libgomp.c/pr61200.c: Likewise.
157 * testsuite/libgomp.c/sort-1.c: Likewise.
158 * testsuite/libgomp.c/target-5.c: Likewise.
159 * testsuite/libgomp.c/target-6.c: Likewise.
160 * testsuite/libgomp.c/teams-1.c: Likewise.
161 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
162 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
163 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
164 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
165 * testsuite/libgomp.fortran/lib1.f90: Likewise.
166 * testsuite/libgomp.fortran/lib2.f: Likewise.
167 * testsuite/libgomp.fortran/nested1.f90: Likewise.
168 * testsuite/libgomp.fortran/teams1.f90: Likewise.
169
88ce3d5f
GA
1702020-11-02 Thomas Schwinge <thomas@codesourcery.com>
171
172 PR target/85486
173 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
174 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
175 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
176
1772020-11-02 Thomas Schwinge <thomas@codesourcery.com>
178
179 PR testsuite/80219
180 PR testsuite/85303
181 * testsuite/lib/libgomp.exp (libgomp_init): Set
182 'gcc_warning_prefix', 'gcc_error_prefix'.
183
1842020-10-30 Jakub Jelinek <jakub@redhat.com>
185
186 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
187 even in field_tgt_clear initializer.
188
e93aae4a
GA
1892020-10-28 Jakub Jelinek <jakub@redhat.com>
190
191 * testsuite/libgomp.c/target-42.c: New test.
192
1932020-10-28 Jakub Jelinek <jakub@redhat.com>
194 Tom de Vries <tdevries@suse.de>
195
196 PR testsuite/81690
197 * testsuite/libgomp.c/usleep.h: New file.
198 * testsuite/libgomp.c/target-32.c: Include usleep.h.
199 (main): Use tgt_usleep instead of usleep.
200 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
201 (main): Use tgt_usleep instead of usleep.
202
2032020-10-28 Jakub Jelinek <jakub@redhat.com>
204
205 PR lto/96680
206 * testsuite/libgomp.c/declare-variant-1.c: New test.
207
56ddd5e2
GA
2082020-10-22 Jakub Jelinek <jakub@redhat.com>
209
210 * testsuite/libgomp.c/target-41.c: New test.
211
2122020-10-22 Jakub Jelinek <jakub@redhat.com>
213
214 * icv.c (omp_get_initial_device): Remove including corresponding
215 ialias.
216 * icv-device.c (omp_get_initial_device): New function. Return
217 gomp_get_num_devices (). Add ialias.
218 * target.c (resolve_device): Don't fail with
219 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
220 gomp_get_num_devices ().
221 (omp_target_alloc, omp_target_free, omp_target_is_present,
222 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
223 omp_target_disassociate_ptr, omp_pause_resource): Use
224 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
225 first use in the functions, in uses dominated by the
226 gomp_get_num_devices call use num_devices_openmp instead.
227 * libgomp.texi (omp_get_initial_device): Document.
228 * config/gcn/icv-device.c (omp_get_initial_device): New function.
229 Add ialias.
230 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
231 * testsuite/libgomp.c/target-40.c: New test.
232
2332020-10-21 Jakub Jelinek <jakub@redhat.com>
234
235 * env.c (parse_target_offload): Change new_offload var type to int,
236 preinitialize to -1, remove found var and test new_offload != -1
237 instead of found.
238
e2e04288
GA
2392020-10-20 Jakub Jelinek <jakub@redhat.com>
240
241 * target.c (gomp_target_init): Inside of the function, use automatic
242 variables corresponding to num_devices, num_devices_openmp and devices
243 global variables and update the globals only at the end of the
244 function.
245
2462020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
247
248 * env.c (gomp_target_offload_var): New.
249 (parse_target_offload): New.
250 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
251 (initialize_env): Parse OMP_TARGET_OFFLOAD.
252 * libgomp.h (gomp_target_offload_t): New.
253 (gomp_target_offload_var): New.
254 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
255 * target.c (resolve_device): Generate error if device not found and
256 offloading is mandatory.
257 (gomp_target_fallback): Generate error if offloading is mandatory.
258 (GOMP_target): Add argument in call to gomp_target_fallback.
259 (GOMP_target_ext): Likewise.
260 (gomp_target_data_fallback): Generate error if offloading is mandatory.
261 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
262 (GOMP_target_data_ext): Likewise.
263 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
264 (gomp_target_init): Return early if offloading is disabled.
265
b85d5dc5
GA
2662020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
267
268 * libgomp.texi (omp_get_max_active_levels): Modify description.
269 (omp_get_supported_active_levels): Make descriptions consistent.
270
b2698c21
GA
2712020-10-14 Jakub Jelinek <jakub@redhat.com>
272
273 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
274
bdd74cc2
GA
2752020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
276
277 * env.c (gomp_max_active_levels_var): Initialize to
278 gomp_supported_active_levels.
279 (initialize_env): Limit gomp_max_active_levels_var to be at most
280 equal to gomp_supported_active_levels.
281 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
282 (omp_get_supported_active_levels_): New.
283 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
284 to at most equal to gomp_supported_active_levels.
285 (omp_get_supported_active_levels): New.
286 * libgomp.h (gomp_supported_active_levels): New.
287 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
288 omp_get_supported_active_levels_.
289 * libgomp.texi (omp_get_supported_active_levels): New.
290 (omp_set_max_active_levels): Update. Add reference to
291 omp_get_supported_active_levels.
292 * omp.h.in (omp_get_supported_active_levels): New.
293 * omp_lib.f90.in (omp_get_supported_active_levels): New.
294 * omp_lib.h.in (omp_get_supported_active_levels): New.
295 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
296 against omp_get_supported_active_levels.
297 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
298
2baa36d4
GA
2992020-10-11 Clement Chigot <clement.chigot@atos.net>
300
301 * config/t-aix: Delete and recreate libgomp before creating
302 FAT library.
303
da9df699
GA
3042020-10-08 Tom de Vries <tdevries@suse.de>
305
306 PR libgomp/81802
307 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
308 dimensions.
309
8e97b905
GA
3102020-10-06 Tom de Vries <tdevries@suse.de>
311
312 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
313
3142020-10-06 Tom de Vries <tdevries@suse.de>
315
316 PR middle-end/90861
317 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
318
7e9282ae
GA
3192020-10-05 Tom de Vries <tdevries@suse.de>
320
321 PR fortran/95654
322 * testsuite/libgomp.fortran/pr95654.f90: New test.
323
b0b9b8f0
GA
3242020-10-02 Tobias Burnus <tobias@codesourcery.com>
325
326 * Makefile.in: Regenerate with automake 1.15.1.
327 * aclocal.m4: Likewise.
328 * configure: Likewise.
329 * testsuite/Makefile.in: Likewise.
330
660bfe61
GA
3312020-09-30 Andrew Stubbs <ams@codesourcery.com>
332
333 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
334 and amdgcn targets.
335
3362020-09-30 Tobias Burnus <tobias@codesourcery.com>
337
338 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
339
93bca37c
GA
3402020-09-29 Andrew Stubbs <ams@codesourcery.com>
341
342 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
343 total number of threads is one.
344 (gomp_team_barrier_wake): Likewise.
345 (gomp_team_barrier_wait_end): Likewise.
346 (gomp_team_barrier_wait_cancel_end): Likewise.
347 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
348 (gomp_team_barrier_wake): Likewise.
349 (gomp_team_barrier_wait_end): Likewise.
350 (gomp_team_barrier_wait_cancel_end): Likewise.
351 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
352
e84761c6
GA
3532020-09-28 Tobias Burnus <tobias@codesourcery.com>
354
355 PR middle-end/96390
356 * testsuite/libgomp.c++/pr96390.C: New test.
357 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
358
4383c595
GA
3592020-09-27 Clement Chigot <clement.chigot@atos.net>
360
361 * config/t-aix: Use $(AR) without -X32_64.
362
cdd8f031
GA
3632020-09-25 Jakub Jelinek <jakub@redhat.com>
364
365 * testsuite/libgomp.c/loop-25.c: New test.
366
521d2711
GA
3672020-09-22 Tobias Burnus <tobias@codesourcery.com>
368
369 PR fortran/95654
370 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
371
3722020-09-22 Tom de Vries <tdevries@suse.de>
373
374 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
375 fails.
376
ecde1b0a
GA
3772020-09-16 Nathan Sidwell <nathan@acm.org>
378
379 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
380
9f7ab8c5
GA
3812020-09-15 Tobias Burnus <tobias@codesourcery.com>
382
383 PR fortran/96668
384 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
385
3862020-09-15 Tobias Burnus <tobias@codesourcery.com>
387
388 PR fortran/96668
389 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
390 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
391 (gomp_map_vars_existing): Update call to it.
392 (gomp_map_fields_existing): Likewise
393 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
394 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
395 remapped.
396 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
397 GOMP_MAP_POINTER.
398 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
399 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
400
50a71cd0
GA
4012020-09-14 Tom de Vries <tdevries@suse.de>
402
403 * config/nvptx/atomic.c: New file. Add
404 __sync_val_compare_and_swap_16.
405 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
406 target offload_target_nvptx.
407
31a05046
GA
4082020-09-08 Julian Brown <julian@codesourcery.com>
409
410 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
411 iteration-ordering assumptions.
412
4132020-09-08 Julian Brown <julian@codesourcery.com>
414
415 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
416 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
417
5b9a3d2a
GA
4182020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
419
420 * plugin/plugin-nvptx.c (nvptx_free):
421 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
422 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
423 comments.
424
4252020-08-20 Tobias Burnus <tobias@codesourcery.com>
426
427 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
428
b3cb5606
GA
4292020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
430
431 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
432
4332020-08-13 Jakub Jelinek <jakub@redhat.com>
434
435 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
436 * testsuite/libgomp.c/loop-23.c (main): Likewise.
437 * testsuite/libgomp.c/loop-24.c: New test.
438
bc0ca715
GA
4392020-08-08 Jakub Jelinek <jakub@redhat.com>
440 Tobias Burnus <tobias@codesourcery.com>
441
442 PR fortran/93553
443 * testsuite/libgomp.fortran/pr93553.f90: New test.
444
aa5ea20c
GA
4452020-08-05 Jakub Jelinek <jakub@redhat.com>
446
447 * testsuite/libgomp.c/loop-22.c: New test.
448 * testsuite/libgomp.c/loop-23.c: New test.
449
4502020-08-05 Jakub Jelinek <jakub@redhat.com>
451
452 PR middle-end/96459
453 * testsuite/libgomp.c/teams-3.c: New test.
454 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
455 if not defined yet.
456 (N(test)): Use it before all N(f*) calls.
457 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
458 (main): Don't call all test_* functions from within
459 #pragma omp teams reduction(|:err), call them directly.
460
abba2591
GA
4612020-08-04 Tom de Vries <tdevries@suse.de>
462
463 PR target/96428
464 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
465 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
466
6a1ad710
GA
4672020-08-03 Julian Brown <julian@codesourcery.com>
468 Thomas Schwinge <thomas@codesourcery.com>
469
470 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
471 shared-memory devices. Extend with further checking.
472
4732020-08-03 Martin Jambor <mjambor@suse.cz>
474
475 * plugin/Makefrag.am: Remove configuration of HSA plugin.
476 * aclocal.m4: Regenerated.
477 * Makefile.in: Regenerated.
478 * config.h.in: Regenerated.
479 * configure: Regenerated.
480 * plugin/configfrag.ac: Likewise.
481 * plugin/hsa_ext_finalize.h: Removed.
482 * plugin/plugin-hsa.c: Likewise.
483 * testsuite/Makefile.in: Regenerated.
484 * testsuite/lib/libgomp.exp
485 (offload_target_to_openacc_device_type): Remove hsa case.
486 (check_effective_target_hsa_offloading_selected_nocache): Removed
487 (check_effective_target_hsa_offloading_selected): Likewise.
488 (libgomp_init): Do not add -Wno-hsa to additional_flags.
489 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
490 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
491 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
492 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
493 * testsuite/libgomp.hsa.c/c.exp: Likewise.
494 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
495 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
496 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
497 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
498 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
499 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
500 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
501 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
502 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
503 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
504 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
505 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
506 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
507 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
508 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
509 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
510 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
511 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
512 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
513
e71dab87
GA
5142020-07-27 Julian Brown <julian@codesourcery.com>
515 Thomas Schwinge <thomas@codesourcery.com>
516
517 * libgomp.h (struct target_var_desc): Rename do_detach field to
518 is_attach.
519 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
520 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
521 (goacc_enter_data_internal): Don't affect reference counts
522 for attach mappings.
523 (goacc_exit_data_internal): Don't affect reference counts for detach
524 mappings.
525 * target.c (gomp_map_vars_existing): Don't affect reference counts for
526 attach mappings.
527 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
528 mark attach mappings.
529 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
530 reference count for attach mappings.
531 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
532 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
533 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
534 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
535 test as shouldfail.
536 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
537 gracefully in no-finalize mode.
538 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
539
53256ee3
GA
5402020-07-24 Thomas Schwinge <thomas@codesourcery.com>
541
542 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
543 use.
544 * testsuite/libgomp.oacc-c/c.exp: Likewise.
545 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
546
9bb403dc
GA
5472020-07-23 Julian Brown <julian@codesourcery.com>
548 Thomas Schwinge <thomas@codesourcery.com>
549
550 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
551 finalization for detach operation.
552 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
553 New test.
554
5552020-07-23 Tobias Burnus <tobias@codesourcery.com>
556
557 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
558 * libgomp_f.h.in (omp_check_defines): Check whether
559 sizeof of determined Fortran kind and C typedef match.
560 * omp_lib.f90.in: Add omp_depened_kind.
561 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
562 * configure: Regenerate.
563 * Makefile.in: Regenerate.
564 * testsuite/Makefile.in: Regenerate.
565
3ea9abca
GA
5662020-07-22 Tobias Burnus <tobias@codesourcery.com>
567
568 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
569 gcc/testsuite/c-c++-common/gomp/.
570 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
571 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
572 from gcc/testsuite/gfortran.dg/gomp/.
573 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
574
5752020-07-22 Tobias Burnus <tobias@codesourcery.com>
576
577 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
578 * omp_lib.h.in: Likewise.
579
aeb34e15
GA
5802020-07-18 H.J. Lu <hjl.tools@gmail.com>
581
582 PR target/95620
583 * testsuite/libgomp.c/pr95620.c: New test.
584
96686b3f
GA
5852020-07-16 Julian Brown <julian@codesourcery.com>
586 Thomas Schwinge <thomas@codesourcery.com>
587
588 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
589 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
590
fe8185b5
GA
5912020-07-15 Tobias Burnus <tobias@codesourcery.com>
592
593 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
594 avoid conversion on 32bit systems from 32bit to 64bit due
595 to -fdefault-integer-8.
596
5972020-07-15 Tobias Burnus <tobias@codesourcery.com>
598
599 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
600 variables; add character(kind=4) tests; update TODO comment.
601
6022020-07-15 Tobias Burnus <tobias@codesourcery.com>
603
604 * allocator.c: Add ialias for omp_init_allocator and
605 omp_destroy_allocator.
606 * configure.ac: Set INTPTR_T_KIND.
607 * configure: Regenerate.
608 * Makefile.in: Regenerate.
609 * testsuite/Makefile.in: Regenerate.
610 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
611 omp_set_default_allocator_, omp_get_default_allocator_): New
612 functions and ialias_redirect.
613 * icv.c: Add ialias for omp_set_default_allocator and
614 omp_get_default_allocator.
615 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
616 omp_destroy_allocator_, omp_set_default_allocator_ and
617 omp_get_default_allocator_.
618 * omp_lib.f90.in: Add allocator traits parameters, declare
619 allocator routines and add related kind parameters.
620 * omp_lib.h.in: Likewise.
621 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
622 * testsuite/libgomp.fortran/alloc-1.F90: New test.
623 * testsuite/libgomp.fortran/alloc-2.F90: New test.
624 * testsuite/libgomp.fortran/alloc-3.F: New test.
625 * testsuite/libgomp.fortran/alloc-4.f90: New test.
626 * testsuite/libgomp.fortran/alloc-5.f90: New test.
627
8ca07a30
GA
6282020-07-14 Tom de Vries <tom@codesourcery.com>
629 Cesar Philippidis <cesar@codesourcery.com>
630 Thomas Schwinge <thomas@codesourcery.com>
631 Kwok Cheung Yeung <kcy@codesourcery.com>
632
633 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
634 New variable.
635 (acc_init_1): Set acc_init_thread to pthread_self (). Set
636 acc_init_state to initializing at the start, and to initialized at the
637 end.
638 (self_initializing_p): New function.
639 (acc_get_device_type): Return acc_device_none if called by thread that
640 is currently executing acc_init_1.
641 * libgomp.texi (acc_get_device_type): Update documentation.
642 (Implementation Status and Implementation-Defined Behavior): Likewise.
643 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
644
6452020-07-14 David Edelsohn <dje.gcc@gmail.com>
646
647 * config/t-aix: Set BITS from compiler cpp macro.
648
6492020-07-14 Tobias Burnus <tobias@codesourcery.com>
650
651 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
652
6532020-07-14 Tobias Burnus <tobias@codesourcery.com>
654
655 PR fortran/67311
656 * testsuite/libgomp.fortran/target-map-1.f90: New test.
657
6582020-07-14 Jakub Jelinek <jakub@redhat.com>
659
660 * testsuite/libgomp.c/loop-21.c: New test.
661
ea69fcf9
GA
6622020-07-13 Julian Brown <julian@codesourcery.com>
663 Thomas Schwinge <thomas@codesourcery.com>
664
665 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
666
86536295
GA
6672020-07-10 Julian Brown <julian@codesourcery.com>
668 Thomas Schwinge <thomas@codesourcery.com>
669
670 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
671 dynamic_refcount.
672 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
673 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
674 dynamic_refcount.
675 (acc_unmap_data): Update comment.
676 (goacc_map_var_existing, goacc_enter_datum): Adjust for
677 dynamic_refcount semantics.
678 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
679 Adjust for dynamic_refcount semantics.
680 (goacc_enter_data_internal): Implement "present" case of dynamic
681 memory-map handling here. Update "non-present" case for
682 dynamic_refcount semantics.
683 (goacc_exit_data_internal): Use goacc_exit_datum_1.
684 * target.c (gomp_map_vars_internal): Remove
685 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
686 handling.
687 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
688 (gomp_load_image_to_device): Substitute dynamic_refcount for
689 virtual_refcount.
690 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
691 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
692 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
693 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
694 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
695 trace output.
696 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
697 trace output.
698 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
699 test.
700 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
701 Remove stale comment.
702 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
703 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
704 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
705 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
706 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
707 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
708
7092020-07-10 Julian Brown <julian@codesourcery.com>
710 Thomas Schwinge <thomas@codesourcery.com>
711
712 * oacc-mem.c (goacc_map_var_existing): New function.
713 (goacc_enter_datum): Use above function.
714 (goacc_exit_datum_1): New function.
715 (goacc_exit_datum): Use above function.
716
3f8ca9cb
GA
7172020-07-09 Julian Brown <julian@codesourcery.com>
718 Thomas Schwinge <thomas@codesourcery.com>
719
720 PR middle-end/95270
721 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
722 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
723
7242020-07-09 Julian Brown <julian@codesourcery.com>
725
726 * oacc-mem.c (find_group_last): Group data-movement clauses
727 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
728 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
729
7302020-07-09 Jakub Jelinek <jakub@redhat.com>
731
732 * testsuite/libgomp.c/loop-19.c: New test.
733 * testsuite/libgomp.c/loop-20.c: New test.
734
7352020-07-09 Jakub Jelinek <jakub@redhat.com>
736
737 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
738 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
739 it. Remove __omp_alloctrait_value_max__.
740 * allocator.c (omp_init_allocator): Handle omp_atv_default for
741 omp_atk_alignment and omp_atk_pool_size.
742
b991c834
GA
7432020-07-03 Thomas Schwinge <thomas@codesourcery.com>
744
745 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
746 behavior for 'GOMP_MAP_FORCE_FROM'.
747 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
748
7492020-07-03 Thomas Schwinge <thomas@codesourcery.com>
750
751 * oacc-mem.c (goacc_exit_data_internal): Remove
752 'GOMP_MAP_ALWAYS_FROM' handling.
753
46fbb6c6
GA
7542020-06-30 Thomas Schwinge <thomas@codesourcery.com>
755
756 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
757 'scan-assembler' with 'scan-offload-rtl'.
758 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
759 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
760 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
761 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
762
7632020-06-30 Thomas Schwinge <thomas@codesourcery.com>
764
765 * target.c (gomp_map_vars_existing): Assert 'kind !=
766 GOMP_MAP_ATTACH'.
767 (gomp_map_vars_internal): Clean up.
768
9a33c41f
GA
7692020-06-27 Jakub Jelinek <jakub@redhat.com>
770
771 * testsuite/libgomp.c/loop-17.c: New test.
772 * testsuite/libgomp.c/loop-18.c: New test.
773
c9c05f73
GA
7742020-06-26 Marek Polacek <polacek@redhat.com>
775
776 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
777
4543acc8
GA
7782020-06-23 Alexandre Oliva <oliva@adacore.com>
779
780 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
781 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
782
605a8f3b
GA
7832020-06-22 David Edelsohn <dje.gcc@gmail.com>
784
785 * Makefile.am: Use -include.
786 * Makefile.in: Regenerate.
787
f86e11a2
GA
7882020-06-21 David Edelsohn <dje.gcc@gmail.com>
789
790 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
791 * Makefile.in: Regenerate
792 * configure.ac (tmake_file): Substitute.
793 * configure: Regenerate.
794 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
795 * config/t-aix: New file.
796
aff95ee7
GA
7972020-06-17 Thomas Schwinge <thomas@codesourcery.com>
798
799 PR lto/94848
800 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
801 'dg-do run'.
802
8032020-06-17 Andrew Stubbs <ams@codesourcery.com>
804
805 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
806 variant for HSA_RUNTIME_LIB name.
807 (find_executable_symbol_1): Delete.
808 (find_executable_symbol): Delete.
809 (init_kernel_properties): Add ".kd" suffix to symbol names.
810 (find_load_offset): Delete.
811 (create_and_finalize_hsa_program): Remove relocation handling.
812
56638b9b
GA
8132020-06-16 Tobias Burnus <tobias@codesourcery.com>
814
815 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
816
2c455ae0
GA
8172020-06-08 Tobias Burnus <tobias@codesourcery.com>
818
819 PR lto/94848
820 PR middle-end/95551
821 * testsuite/libgomp.fortran/target-var.f90: New test.
822
1a59f3db
GA
8232020-06-05 Thomas Schwinge <thomas@codesourcery.com>
824 Julian Brown <julian@codesourcery.com>
825
826 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
827 special handling.
828
8292020-06-05 Thomas Schwinge <thomas@codesourcery.com>
830 Julian Brown <julian@codesourcery.com>
831
832 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
833 Simplify.
834
8352020-06-05 Julian Brown <julian@codesourcery.com>
836
837 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
838 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
839
3add3425
GA
8402020-06-04 Thomas Schwinge <thomas@codesourcery.com>
841
842 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
843 Evaluate 'copyfrom' individually for each entry.
844 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
845
8462020-06-04 Thomas Schwinge <thomas@codesourcery.com>
847
848 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
849 Evaluate 'finalize' individually for each entry.
850 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
851 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
852 file.
853
8542020-06-04 Thomas Schwinge <thomas@codesourcery.com>
855
856 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
857 usage.
858 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
859
8602020-06-04 Thomas Schwinge <thomas@codesourcery.com>
861 Julian Brown <julian@codesourcery.com>
862
863 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
864 checking.
865 (acc_unmap_data, goacc_exit_data_internal): Restore
866 'is_tgt_unmapped' checking.
867 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
868 file.
869 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
870 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
871 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
872 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
873 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
874 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
875
8762020-06-04 Thomas Schwinge <thomas@codesourcery.com>
877 Julian Brown <julian@codesourcery.com>
878
879 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
880
8812020-06-04 Thomas Schwinge <thomas@codesourcery.com>
882
883 PR libgomp/92854
884 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
885
8862020-06-04 Thomas Schwinge <thomas@codesourcery.com>
887
888 PR libgomp/92854
889 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
890 more.
891
8922020-06-04 Thomas Schwinge <thomas@codesourcery.com>
893 Julian Brown <julian@codesourcery.com>
894
895 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
896 'gomp_map_vars'.
897 (acc_map_data): Clean up accordingly.
898
8992020-06-04 Thomas Schwinge <thomas@codesourcery.com>
900
901 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
902 of over-eager 'finalize' clause.
903 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
904 file.
905 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
906 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
907 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
908 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
909 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
910 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
911 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
912 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
913
9142020-06-04 Thomas Schwinge <thomas@codesourcery.com>
915
916 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
917
9182020-06-04 Julian Brown <julian@codesourcery.com>
919
920 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
921 error path.
922 (goacc_detach_internal): Likewise.
923
9242020-06-04 Thomas Schwinge <thomas@codesourcery.com>
925
926 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
927 the checkpoint.
928 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
929 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
930 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
931 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
932 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
933
a9312a79
GA
9342020-06-02 Jakub Jelinek <jakub@redhat.com>
935
936 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
937 defined.
938
945b53cc
GA
9392020-05-30 Jakub Jelinek <jakub@redhat.com>
940
941 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
942
9432020-05-30 Jakub Jelinek <jakub@redhat.com>
944
945 * allocator.c (omp_alloc): For size == 0, return NULL early.
946
885ef72f
GA
9472020-05-29 H.J. Lu <hjl.tools@gmail.com>
948
949 PR bootstrap/95413
950 * configure: Regenerated.
951
8df7ee67
TK
9522020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
953
954 PR libfortran/95191
955 * testsuite/libgomp.fortran/async_io_9.f90: New test.
956
800bcc8c
JJ
9572020-05-19 Jakub Jelinek <jakub@redhat.com>
958
959 * omp.h.in (omp_uintptr_t): New typedef.
960 (__GOMP_UINTPTR_T_ENUM): Define.
961 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
962 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
963 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
964 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
965 omp_get_default_allocator, omp_alloc, omp_free): Declare.
966 * libgomp.h (struct gomp_team_state): Add def_allocator field.
967 (gomp_def_allocator): Declare.
968 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
969 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
970 omp_alloc and omp_free.
971 * team.c (gomp_team_start): Copy over ts.def_allocator.
972 * env.c (gomp_def_allocator): New variable.
973 (parse_wait_policy): Adjust function comment.
974 (parse_allocator): New function.
975 (handle_omp_display_env): Print OMP_ALLOCATOR.
976 (initialize_env): Call parse_allocator.
977 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
978 * allocator.c: New file.
979 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
980 functions.
981 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
982 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
983 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
984 * Makefile.in: Regenerated.
985
4c1a5d8b
L
9862020-05-15 H.J. Lu <hongjiu.lu@intel.com>
987
988 PR bootstrap/95147
989 * configure: Regenerated.
990
cdc34b50
TK
9912020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
992
993 PR libfortran/95119
994 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
995
9962020-05-14 H.J. Lu <hongjiu.lu@intel.com>
997
998 * configure: Regenerated.
999
10002020-05-14 Jakub Jelinek <jakub@redhat.com>
1001
1002 * testsuite/libgomp.c-c++-common/target-40.c: New test.
1003
f884bef2
TB
10042020-05-13 Tobias Burnus <tobias@codesourcery.com>
1005
1006 PR fortran/94690
1007 * testsuite/libgomp.fortran/pr66199-3.f90: New.
1008 * testsuite/libgomp.fortran/pr66199-4.f90: New.
1009 * testsuite/libgomp.fortran/pr66199-5.f90: New.
1010 * testsuite/libgomp.fortran/pr66199-6.f90: New.
1011 * testsuite/libgomp.fortran/pr66199-7.f90: New.
1012 * testsuite/libgomp.fortran/pr66199-8.f90: New.
1013 * testsuite/libgomp.fortran/pr66199-9.f90: New.
1014
dc703151
JJ
10152020-05-12 Jakub Jelinek <jakub@redhat.com>
1016
1017 * testsuite/libgomp.c/target-39.c: New test.
1018
b9dc11b6
TS
10192020-04-29 Thomas Schwinge <thomas@codesourcery.com>
1020
a5d0bc12
TS
1021 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
1022 * openacc.f90 (acc_device_current): Likewise.
1023 * openacc.h (acc_device_current): Likewise.
1024 * openacc_lib.h (acc_device_current): Likewise.
1025
7f198924
TS
1026 PR target/94282
1027 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
1028 'dg-allow-blank-lines-in-output'.
1029
4912a04f
TS
1030 * oacc-init.c (get_openacc_name): Handle 'gcn'.
1031 * testsuite/lib/libgomp.exp
1032 (offload_target_to_openacc_device_type) [amdgcn*]: Return
1033 'radeon'. Adjust all users.
1034 (check_effective_target_openacc_amdgcn_accel_present): Rename
1035 to...
1036 (check_effective_target_openacc_radeon_accel_present): ... this.
1037 Adjust all users.
1038 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
1039 (check_effective_target_openacc_radeon_accel_selected): ... this.
1040 Adjust all users.
1041
b9dc11b6
TS
1042 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
1043 'dg-do run'.
1044
966de09b
AS
10452020-04-23 Andrew Stubbs <ams@codesourcery.com>
1046
1047 PR other/94629
1048
1049 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
1050 hsa_iterate_agents.
1051 (GOMP_OFFLOAD_init_device): Check return values from both calls to
1052 hsa_agent_iterate_regions.
1053
3f5d94c1
TS
10542020-04-20 Thomas Schwinge <thomas@codesourcery.com>
1055
1056 PR middle-end/94635
1057 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
1058 run'.
1059
85d8c05a
TB
10602020-04-20 Tobias Burnus <tobias@codesourcery.com>
1061
1062 PR middle-end/94120
1063 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
1064 test case.
1065
af557050
TB
10662020-04-17 Tobias Burnus <tobias@codesourcery.com>
1067
1068 PR middle-end/94635
1069 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
1070
af4c9257
TS
10712020-04-13 Thomas Schwinge <thomas@codesourcery.com>
1072
1073 PR libgomp/92843
1074 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1075 Rename to...
1076 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
1077 ... this.
1078 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1079 Rename to...
1080 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
1081 ... this.
1082 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1083 Rename to...
1084 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
1085 ... this.
1086 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1087 Rename to...
1088 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
1089 ... this.
1090 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1091 Rename to...
1092 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
1093 ... this.
1094 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1095 Rename to...
1096 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
1097 ... this.
1098 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1099 Rename to...
1100 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
1101 ... this.
1102 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1103 Rename to...
1104 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
1105 ... this.
1106 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1107 Rename to...
1108 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
1109 ... this.
1110 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1111 Rename to...
1112 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
1113 ... this.
1114 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1115 Rename to...
1116 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
1117 ... this.
1118 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1119 Rename to...
1120 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
1121 ... this.
1122 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1123 Rename to...
1124 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
1125 ... this.
1126 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1127 Rename to...
1128 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
1129 ... this.
1130 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1131 Rename to...
1132 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
1133 ... this.
1134 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
1135 Rename to...
1136 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
1137 ... this.
1138
be9862dd
JB
11392020-04-10 Julian Brown <julian@codesourcery.com>
1140 Thomas Schwinge <thomas@codesourcery.com>
1141
1142 PR libgomp/92843
1143 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1144 New file.
1145 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1146 Likewise.
1147 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1148 Likewise.
1149 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1150 Likewise.
1151 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1152 Likewise.
1153 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1154 Likewise.
1155 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1156 Likewise.
1157 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1158 Likewise.
1159 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1160 Likewise.
1161 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1162 Likewise.
1163 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1164 Likewise.
1165 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1166 Likewise.
1167 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1168 Likewise.
1169 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1170 Likewise.
1171 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1172 Likewise.
1173 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
1174 Likewise.
1175
6b816a5f
TS
11762020-04-10 Thomas Schwinge <thomas@codesourcery.com>
1177
1178 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
1179 run'.
1180
13e41d8b
TB
11812020-04-08 Tobias Burnus <tobias@codesourcery.com>
1182
1183 PR middle-end/94120
1184 * libgomp.oacc-c++/declare-pr94120.C: New.
1185
749bd22d
MR
11862020-04-06 Maciej W. Rozycki <macro@wdc.com>
1187
1188 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
1189 files.
1190 * configure: Regenerate.
1191 * testsuite/libgomp-site-extra.exp.in: New file.
1192 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
1193 variable.
1194 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
1195 variable.
1196 * testsuite/Makefile.in: Regenerate.
1197
2b1e849b
TS
11982020-04-03 Thomas Schwinge <thomas@codesourcery.com>
1199
1200 PR tree-optimization/89713
1201 PR c/94392
1202 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
1203 'bar.sync'.
1204 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
1205
689418b9
TB
12062020-03-31 Tobias Burnus <tobias@codesourcery.com>
1207
1208 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
1209 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
1210
c2211a60
TB
12112020-03-24 Tobias Burnus <tobias@codesourcery.com>
1212
1213 PR libgomp/81689
1214 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
1215
4897bb00
TB
12162020-03-20 Tobias Burnus <tobias@codesourcery.com>
1217
1218 PR libgomp/94251
1219 * target.c (gomp_load_image_to_device): Fix link
1220 variable handling.
1221
02f7334a
JJ
12222020-03-19 Jakub Jelinek <jakub@redhat.com>
1223
1224 PR c++/93931
1225 * testsuite/libgomp.c++/pr93931.C: New test.
1226
bb83e069
TB
12272020-03-19 Tobias Burnus <tobias@codesourcery.com>
1228
1229 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
1230 dg-allow-blank-lines-in-output.
1231
26cbcfe5
TB
12322020-03-18 Julian Brown <julian@codesourcery.com>
1233 Tobias Burnus <tobias@codesourcery.com>
1234
1235 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
1236 it work concurrently.
1237
4da92887
TB
12382020-03-18 Tobias Burnus <tobias@codesourcery.com>
1239
1240 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
1241 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
1242 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
1243
9c3cdb43
JJ
12442020-03-14 Jakub Jelinek <jakub@redhat.com>
1245
1246 PR middle-end/93566
1247 * testsuite/libgomp.c/pr93566.c: New test.
1248
83d45e1d
FH
12492020-02-21 Frederik Harwath <frederik@codesourcery.com>
1250
1251 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
1252 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
1253 integer(acc_device_property) for the type of the return value of
1254 acc_get_property.
1255
8d1a1cb1
TB
12562020-02-19 Tobias Burnus <tobias@codesourcery.com>
1257
1258 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
1259 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
1260 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
1261 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
1262 (acc_set_device_num): Fix Fortran argument name, use same name for C.
1263 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
1264 corrections; add note about the previous interface and named constant.
1265 (OpenACC library and environment variables): Fix two typos.
1266 * openacc.f90: Use for all procedures the argument names from the spec
1267 as for …_h they are user visible.
1268 (openacc_kinds): Rename acc_device_property to
1269 acc_device_property_kinds and change value to int32 ; and update users.
1270 Re-add acc_device_property for for backward compatibility.
1271 (acc_get_property_string_h): Clean up as acc_device_property_kind
1272 changed.
1273 (acc_get_property_h): Likewise and return c_size_t instead of
1274 acc_device_property.
1275 (openacc): Also export acc_device_property_kinds.
1276 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
1277 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
1278 handling; check against /= 0 instead of == 1 to match C.
1279 * openacc_lib.h: Use for all procedures the argument names from the spec
1280 as for …_h they are user visible. Place !GCC$ into the first column to
1281 be active also for fixed-form souce form.
1282 (acc_device_current, acc_device_property_kind, acc_device_property,
1283 acc_property_memory, acc_property_free_memory, acc_property_name,
1284 acc_property_vendor, acc_property_driver): New named constants.
1285 (acc_get_property, acc_get_property_string): New generic interface.
1286
2d9eb4e4
FH
12872020-02-13 Frederik Harwath <frederik@codesourcery.com>
1288
1289 PR libgomp/93481
1290 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
1291 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
1292 optional.
1293 (gomp_target_task_fn): Assert "devicep->async_run_func".
1294 (clear_unsupported_flags): New function to remove unsupported flags
1295 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
1296 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
1297 * testsuite/libgomp.c/target-33.c:
1298 Remove xfail for offload_target_nvptx.
1299 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
1300
13012020-02-10 Frederik Harwath <frederik@codesourcery.com>
1302
1303 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
1304 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
1305 * testsuite/libgomp.c/target-34.c: Likewise.
1306 * testsuite/libgomp.c/target-link-1.c: Add xfail for
1307 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
1308
9bc3b95d
JJ
13092020-02-09 Jakub Jelinek <jakub@redhat.com>
1310
1311 * testsuite/libgomp.c/target-38.c: New test.
1312
cb3f0648
JJ
13132020-02-06 Jakub Jelinek <jakub@redhat.com>
1314
1315 PR libgomp/93515
1316 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
1317
91bc3c98
TB
13182020-02-05 Tobias Burnus <tobias@codesourcery.com>
1319
1320 * testsuite/lib/libgomp.exp
1321 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
1322 and not as 'source' argument to libgomp_target_compile.
1323
591f869a
AS
13242020-02-03 Andrew Stubbs <ams@codesourcery.com>
1325
1326 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
1327 (gcn_gfx801_s): Remove.
1328 (isa_hsa_name): Remove gfx801.
1329 (isa_gcc_name): Remove gfx801/carizzo.
1330 (isa_code): Remove gfx801.
1331
e464fc90
TB
13322020-02-03 Julian Brown <julian@codesourcery.com>
1333 Tobias Burnus <tobias@codesourcery.com>
1334
1335 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
1336 and *_finalize variants; document acc_attach and acc_detach; update
1337 references from OpenACC 2.0 to 2.6.
1338 * openacc.f90 (openacc_version): Update to 201711.
1339 * openacc_lib.h (openacc_version): Update to 201711.
1340 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
1341 openacc_version to 201711.
1342 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1343
5a28e272
KCY
13442020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
1345
1346 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
1347 and vgpr_count fields.
1348 (struct kernel_info): Add a field for a hsa_kernel_description.
1349 (run_kernel): Reduce the number of threads/workers if the requested
1350 number would require too many VGPRs.
1351 (init_basic_kernel_info): Initialize description field with
1352 the hsa_kernel_description entry for the kernel.
1353
5ab5d81b
TB
13542020-01-29 Tobias Burnus <tobias@codesourcery.com>
1355
1356 PR bootstrap/93409
1357 * plugin/configfrag.ac (enable_offload_targets): Skip
1358 HSA and GCN plugin besides -m32 also for -mx32.
1359 * configure: Regenerate.
1360
989a5fb3
FH
13612020-01-29 Frederik Harwath <frederik@codesourcery.com>
1362
1363 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
1364
13652020-01-29 Frederik Harwath <frederik@codesourcery.com>
1366
1367 * plugin-gcn.c (struct agent_info): Add fields "name" and
1368 "vendor_name" ...
1369 (GOMP_OFFLOAD_init_device): ... and init from here.
1370 (struct hsa_context_info): Add field "driver_version_s" ...
1371 (init_hsa_contest): ... and init from here.
1372 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
1373 implementation.
1374 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1375 Enable test execution for amdgcn and host offloading targets.
1376 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
1377 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1378 (expect_device_properties): Split function into ...
1379 (expect_device_string_properties): ... this new function ...
1380 (expect_device_memory): ... and this new function.
1381 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
1382 Add test.
1383
278c3214
JB
13842020-01-28 Julian Brown <julian@codesourcery.com>
1385
1386 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
1387 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
1388 component/non-component variable refs in a single directive.
1389 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
1390
e8e66971
MR
13912020-01-24 Maciej W. Rozycki <macro@wdc.com>
1392
1393 * configure.ac: Handle `--with-toolexeclibdir='.
1394 * Makefile.in: Regenerate.
1395 * aclocal.m4: Regenerate.
1396 * configure: Regenerate.
1397 * testsuite/Makefile.in: Regenerate.
1398
9e424d97
FH
13992020-01-24 Frederik Harwath <frederik@codesourcery.com>
1400
1401 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1402 (expect_device_properties): Remove "expected_free_mem" argument,
1403 change "expected_total_mem" argument type to size_t;
1404 change types of acc_get_property results to size_t,
1405 adapt format strings.
1406 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1407 Use %zu instead of %zd to print size_t values.
1408 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
1409 rename to ...
1410 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
1411 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
1412 rename to ...
1413 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
1414
14e5e746
AS
14152020-01-23 Andrew Stubbs <ams@codesourcery.com>
1416
1417 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
1418 the device id.
1419
09e0ad62
AS
14202020-01-20 Andrew Stubbs <ams@codesourcery.com>
1421
1422 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
1423 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
1424 Adjust test dimensions for amdgcn.
1425 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
1426 gang/worker/vector expectations dynamically.
1427 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
1428 (main): Likewise.
1429 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
1430 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
1436 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
1437 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1438 (acc_gang): Recognise acc_device_radeon.
1439 (acc_worker): Likewise.
1440 (acc_vector): Likewise.
1441 (main): Set expectations for amdgcn.
1442 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
1443 (main): Adjust gang/worker/vector expectations dynamically.
1444 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
1445 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
1446 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
1447 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
1448 for amdgcn.
1449
6687d13a
AS
14502020-01-17 Andrew Stubbs <ams@codesourcery.com>
1451
1452 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
1453 acc_device_radeon.
1454 (openacc): Likewise.
1455 * openacc.f90 (openacc_kinds): Likewise.
1456 (openacc): Likewise.
1457 * openacc.h (acc_device_t): Likewise.
1458 * openacc_lib.h: Likewise.
1459 * testsuite/lib/libgomp.exp
1460 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
1461 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1462 (cb_compute_construct_end): Likewise.
1463 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1464 (cb_enqueue_launch_start): Likewise.
1465 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1466 (cb_enter_data_end): Likewise.
1467 (cb_exit_data_start): Likewise.
1468 (cb_exit_data_end): Likewise.
1469 (cb_compute_construct_end): Likewise.
1470 (cb_enqueue_launch_start): Likewise.
1471 (cb_enqueue_launch_end): Likewise.
1472 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
1473 (main): Likewise.
1474
b3b75e66
TS
14752020-01-10 Thomas Schwinge <thomas@codesourcery.com>
1476
6fc0385c
TS
1477 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
1478 to use this instead of 'enum gomp_device_property'.
1479 (GOMP_OFFLOAD_get_property): Rename to...
1480 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
1481 * libgomp.h (struct gomp_device_descr): Move
1482 'GOMP_OFFLOAD_openacc_get_property'...
1483 (struct acc_dispatch_t): ... here. Adjust all users.
1484 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
1485
b3b75e66
TS
1486 * target.c (gomp_map_vars_internal)
1487 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
1488 paths.
1489
91df4397
JJ
14902020-01-10 Jakub Jelinek <jakub@redhat.com>
1491
1492 PR libgomp/93219
1493 * libgomp.h (gomp_print_string): Change return type from void to int.
1494 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
1495 not all characters have been written.
1496
df2c0d36
TB
14972020-01-08 Tobias Burnus <tobias@codesourcery.com>
1498
1499 * libgomp.texi: Fix typos, use https.
1500
f760c0c7
TB
15012020-01-03 Tobias Burnus <tobias@codesourcery.com>
1502
1503 * testsuite/libgomp.fortran/optional-map.f90: Add test for
1504 unallocated/disassociated actual arguments to nonallocatable/nonpointer
1505 dummy arguments; those are/shall be regarded as absent arguments.
1506 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1507 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
1508
7e7065b9
JJ
15092020-01-01 Jakub Jelinek <jakub@redhat.com>
1510
8d9254fc
JJ
1511 Update copyright years.
1512
7e7065b9
JJ
1513 * libgomp.texi: Bump @copying's copyright year.
1514
2c829799
AM
15152019-12-31 Ayush Mittal <ayush.m@samsung.com>
1516
1517 PR libgomp/93065
1518 * oacc-init.c (goacc_runtime_deinitialize): New function.
1519
e9dcb75e
JJ
15202019-12-28 Jakub Jelinek <jakub@redhat.com>
1521
1522 PR bootstrap/93074
1523 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
1524 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
1525
6c84c8bf
MR
15262019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
1527 Frederik Harwath <frederik@codesourcery.com>
1528 Thomas Schwinge <tschwinge@codesourcery.com>
1529
1530 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
1531 * libgomp-plugin.h (gomp_device_property_value): New union.
1532 (gomp_device_property_value): New prototype.
1533 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
1534 constant.
1535 (acc_device_property_t): New enum.
1536 (acc_get_property, acc_get_property_string): New prototypes.
1537 * oacc-init.c (acc_get_device_type): Also assert that result
1538 is not `acc_device_current'.
1539 (get_property_any, acc_get_property, acc_get_property_string):
1540 New functions.
1541 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
1542 `acc_property_memory', `acc_property_free_memory',
1543 `acc_property_name', `acc_property_vendor' and
1544 `acc_property_driver' constants. Add `acc_device_property' data
1545 type.
1546 (openacc_internal): Add `acc_get_property' and
1547 `acc_get_property_string' interfaces. Add `acc_get_property_h',
1548 `acc_get_property_string_h', `acc_get_property_l' and
1549 `acc_get_property_string_l'.
1550 * oacc-host.c (host_get_property): New function.
1551 (host_dispatch): Wire it.
1552 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
1553 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
1554 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
1555 * libgomp.texi (OpenACC Runtime Library Routines): Add
1556 `acc_get_property'.
1557 (acc_get_property): New node.
1558 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
1559 function (stub).
1560 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
1561 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
1562 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
1563 calls.
1564 (GOMP_OFFLOAD_get_property): New function.
1565 (struct ptx_device): Add new field "name".
1566 (cuda_driver_version_s): Add new static variable ...
1567 (nvptx_init): ... and init from here.
1568
1569 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
1570 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
1571 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
1572 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
1573 with test helper functions.
1574
1575 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
1576
c8e759b4
MR
15772019-12-22 Maciej W. Rozycki <macro@wdc.com>
1578
1579 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
1580 variable.
1581
b092fb3b
TS
15822019-12-21 Thomas Schwinge <thomas@codesourcery.com>
1583
1584 * target.c (gomp_map_vars_internal): Restore 'omp declare target
1585 link' handling.
1586
9be3ac5d
JB
15872019-12-19 Julian Brown <julian@codesourcery.com>
1588
1589 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
1590 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
1591 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
1592
02817027
JB
15932019-12-19 Julian Brown <julian@codesourcery.com>
1594 Cesar Philippidis <cesar@codesourcery.com>
1595
1596 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1597 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1598 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1599 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1600 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1601 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1602 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1603 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1604 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1605 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1606 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1607 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1608 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1609
c2eb021f
JB
16102019-12-19 Julian Brown <julian@codesourcery.com>
1611
1612 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1613 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1614 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1615 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1616 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1617 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1618 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1619 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1620 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1621 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1622 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1623 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1624
8e7e71ff
JB
16252019-12-19 Julian Brown <julian@codesourcery.com>
1626
1627 * libgomp.h (struct target_var_desc): Add do_detach flag.
1628 * oacc-init.c (acc_shutdown_1): Free aux block if present.
1629 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1630 struct components. Tidy up and add some new checks.
1631 (goacc_enter_data_internal): Update call to find_group_last.
1632 (goacc_exit_data_internal): Support detach operations and
1633 GOMP_MAP_STRUCT.
1634 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1635 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
1636 attach/detach in enter/exit data detection code.
1637 * target.c (gomp_map_vars_existing): Initialise do_detach field of
1638 tgt_var_desc.
1639 (gomp_map_vars_internal): Support attach.
1640 (gomp_unmap_vars_internal): Support detach.
1641
5d5be7bf
JB
16422019-12-19 Julian Brown <julian@codesourcery.com>
1643 Thomas Schwinge <thomas@codesourcery.com>
1644
1645 * libgomp.h (struct splay_tree_aux): Add attach_count field.
1646 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1647 * libgomp.map (OACC_2.6): New section. Add acc_attach,
1648 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1649 acc_detach_finalize_async.
1650 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1651 acc_detach, acc_detach_async, acc_detach_finalize,
1652 acc_detach_finalize_async): New functions.
1653 * openacc.h (acc_attach, acc_attach_async, acc_detach,
1654 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1655 prototypes.
1656 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1657 (gomp_remove_var_internal): Free attachment counts if present.
1658 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1659 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1660
5bcd470b
JB
16612019-12-19 Julian Brown <julian@codesourcery.com>
1662 Cesar Philippidis <cesar@codesourcery.com>
1663
1664 * libgomp.h (gomp_map_val): Add prototype.
1665 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1666 open-coding device-address calculation.
1667 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1668 non-present case.
1669
378da98f
JB
16702019-12-19 Julian Brown <julian@codesourcery.com>
1671
1672 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1673 field for virtual_refcount.
1674 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1675 (gomp_free_memmap): Remove prototype.
1676 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1677 instead of calling gomp_free_memmap.
1678 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1679 dynamic_refcount.
1680 (acc_unmap_data): Open code instead of forcing target_mem_desc's
1681 to_free field to NULL then calling gomp_unmap_vars. Handle
1682 REFCOUNT_INFINITY on target blocks.
1683 (goacc_enter_data): Rename to...
1684 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
1685 handling for mapping groups. Use virtual_refcount instead of
1686 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1687 map_map_vars_async call. Re-do lookup for target pointer return value.
1688 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1689 renamed goacc_enter_datum function.
1690 (goacc_exit_data): Rename to...
1691 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
1692 (acc_delete, acc_delete_async, acc_delete_finalize,
1693 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1694 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1695 goacc_exit_datum function.
1696 (gomp_acc_remove_pointer, find_pointer): Remove functions.
1697 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1698 New functions.
1699 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1700 goacc_exit_data_internal helper functions.
1701 * target.c (gomp_map_vars_internal): Handle
1702 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
1703 semantics.
1704 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1705 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1706 virtual_refcount field instead of dynamic_refcount.
1707 (gomp_free_memmap): Remove function.
1708 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1709 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1710 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1711
2a656a93
JB
17122019-12-19 Julian Brown <julian@codesourcery.com>
1713 Thomas Schwinge <thomas@codesourcery.com>
1714
1715 * libgomp.h (struct splay_tree_aux): New.
1716 (struct splay_tree_key_s): Replace link_key field with aux pointer.
1717 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1718 to aux struct.
1719 (gomp_remove_var_internal): Free aux block if present.
1720 (gomp_load_image_to_device): Zero-initialise aux field instead of
1721 link_key field.
1722 (omp_target_associate_pointer): Zero-initialise aux field.
1723
601399c0
JJ
17242019-12-18 Jakub Jelinek <jakub@redhat.com>
1725
1726 PR middle-end/86416
1727 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1728 q or none.
1729 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1730 L or none.
1731
a6163563
JB
17322019-12-19 Julian Brown <julian@codesourcery.com>
1733 Maciej W. Rozycki <macro@codesourcery.com>
1734 Tobias Burnus <tobias@codesourcery.com>
1735 Thomas Schwinge <thomas@codesourcery.com>
1736
1737 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1738 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1739 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1740 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1741 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1742 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1743 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1744 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1745 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1746
6278b549
TS
17472019-12-18 Thomas Schwinge <thomas@codesourcery.com>
1748
77ce5555
TS
1749 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1750 called...
1751 (goacc_insert_pointer): ... from here, "present" case.
1752 (goacc_insert_pointer): Inline function into...
1753 (GOACC_enter_exit_data): ... here, and simplify.
1754
9444a299
TS
1755 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1756 called...
1757 (goacc_insert_pointer): ... from here, "not present" case.
1758
5031b619
TS
1759 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
1760 all users.
1761
1a79b578
TS
1762 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1763 'goacc_enter_data', 'goacc_exit_data'.
1764
34cfe31e
TS
1765 * oacc-mem.c (delete_copyout): Refactor into...
1766 (goacc_exit_data): ... this. Adjust all users.
1767
aaf0e9d7
TS
1768 * oacc-mem.c (present_create_copy): Refactor into...
1769 (goacc_enter_data): ... this. Adjust all users.
1770
83d1d065
TS
1771 * target.c (gomp_unmap_vars_internal): Add a safeguard to
1772 'gomp_remove_var'.
1773
cc3f11f5
TS
1774 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1775 like 'GOMP_MAP_FROM'.
1776
ddb25eb9
TS
1777 PR libgomp/92726
1778 PR libgomp/92970
1779 PR libgomp/92984
1780 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1781 fails.
1782 (GOACC_enter_exit_data): Simplify accordingly.
1783 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1784 subsuming...
1785 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1786 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1787 file.
1788 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1789 subsuming...
1790 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1791 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1792 file.
1793 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1794 subsuming...
1795 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1796
32128577
TS
1797 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1798 'finalize' handling.
1799
ba40277f
TS
1800 PR libgomp/92848
1801 * oacc-mem.c (acc_map_data, present_create_copy)
1802 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1803 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1804 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1805 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1806 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1807 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1808 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1809 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1810 Remove "XFAIL"s.
1811
6278b549
TS
1812 * target.c (gomp_unmap_tgt): Make it 'static'.
1813 * libgomp.h (gomp_unmap_tgt): Remove.
1814
c80c9e26
TB
18152019-12-18 Tobias Burnus <tobias@codesourcery.com>
1816
1817 PR middle-end/86416
1818 * testsuite/libgomp.c/pr86416-1.c: New.
1819 * testsuite/libgomp.c/pr86416-2.c: New.
1820
0b8499a4
TB
18212019-12-17 Tobias Burnus <tobias@codesourcery.com>
1822
1823 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1824 all symbols as public except for the 'use …, only' imported symbol,
1825 which is private.
1826 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1827 all symbols from module openacc_kinds as PUBLIC
1828 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1829 fix comment typo.
1830 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1831
1cbd94e8
JB
18322019-12-13 Julian Brown <julian@codesourcery.com>
1833
1834 PR libgomp/92881
1835
1836 * libgomp.h (gomp_remove_var_async): Add prototype.
1837 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1838 gomp_remove_var.
1839 * target.c (gomp_unref_tgt): Change return type to bool, indicating
1840 whether target_mem_desc was unmapped.
1841 (gomp_unref_tgt_void): New.
1842 (gomp_remove_var): Reimplement in terms of...
1843 (gomp_remove_var_internal): ...this new helper function.
1844 (gomp_remove_var_async): New, implemented using above helper function.
1845 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1846 gomp_unref_tgt.
1847
26b74ed0
AS
18482019-12-13 Andrew Stubbs <ams@codesourcery.com>
1849
1850 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1851 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1852 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1853 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1854 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1855 Likewise.
1856 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1857 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1858
7858bb96
TB
18592019-12-13 Tobias Burnus <tobias@codesourcery.com>
1860
1861 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1862 as public except for the 'use …, only' imported symbol, which is
1863 private.
1864 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1865 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1866 attributes for acc_copyout_finalize and acc_delete_finalize.
1867
f8ac7d8f
JJ
18682019-12-11 Jakub Jelinek <jakub@redhat.com>
1869
1870 PR fortran/92899
1871 * testsuite/libgomp.fortran/atomic1.f90: New test.
1872
3d1b5e71
TS
18732019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1874
d6e8c01c
TS
1875 PR libgomp/92843
1876 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1877 reference counting for structured 'REFCOUNT_INFINITY'. Add some
1878 assertions.
1879 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1880 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1881 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1882 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1883 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1884
57963e39
TS
1885 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1886 * oacc-mem.c: ... here.
1887 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1888 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1889 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1890 Remove.
1891 * libgomp_g.h: Update.
1892
c5578b56
TS
1893 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1894 * oacc-async.c: ... here.
1895 * oacc-int.h (goacc_wait): Declare.
1896 * libgomp_g.h: Update
1897
3d1b5e71
TS
1898 PR libgomp/92854
1899 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1900 New file.
1901 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1902 Likewise.
1903 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1904 Likewise.
1905 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1906 Likewise.
1907 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1908 Likewise.
1909 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1910 Likewise.
1911
5e939438
TS
19122019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1913 Julian Brown <julian@codesourcery.com>
1914
1915 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1916 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1917
93d90219
TB
19182019-12-11 Tobias Burnus <tobias@codesourcery.com>
1919
1920 * omp_lib.h.in: Fix spelling of function declaration
1921 omp_get_cancell(l)ation.
1922 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1923 Fix typos.
1924 * env.c: Fix comment typos.
1925 * oacc-host.c: Likewise.
1926 * ordered.c: Likewise.
1927 * task.c: Likewise.
1928 * team.c: Likewise.
1929 * config/gcn/task.c: Likewise.
1930 * config/gcn/team.c: Likewise.
1931 * config/nvptx/task.c: Likewise.
1932 * config/nvptx/team.c: Likewise.
1933 * plugin/plugin-gcn.c: Likewise.
1934 * testsuite/libgomp.fortran/jacobi.f: Likewise.
1935 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1936 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1937
a0221aee
TB
19382019-12-11 Tobias Burnus <tobias@codesourcery.com>
1939
1940 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1941 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1942 unnecessary 'dg-additional-options "-w"'.
1943
47afc7b4
TS
19442019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1945 Julian Brown <julian@codesourcery.com>
1946
1947 PR libgomp/92116
1948 PR libgomp/92877
1949
1950 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
1951 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1952 Adjust all users.
1953 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1954 Remove XFAIL.
1955 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1956 Likewise.
1957 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1958
b5859e40
TS
19592019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1960
cec41816
TS
1961 PR libgomp/92503
1962 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1963 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1964 file.
1965 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1966 Likewise.
1967 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1968 Likewise.
1969 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1970 Likewise.
1971 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1972 Likewise.
1973 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1974 Likewise.
1975 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1976 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1977 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1978 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1979 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1980 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1981 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1982 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1983 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1984 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1985
e103542b
TS
1986 PR libgomp/92840
1987 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1988 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1989 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1990 New file.
1991 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
1992 Likewise.
1993 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
1994 Likewise.
1995 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1996 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
1997
41f36f22
TS
1998 PR libgomp/92511
1999 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
2000 this file...
2001 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
2002 this file...
2003 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
2004 file...
2005 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
2006 file...
2007 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
2008 ... with their content moved into, and extended in this new file.
2009 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
2010 New file.
2011 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
2012 Likewise.
2013 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
2014 Likewise.
2015 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
2016 Likewise.
2017
6effebe1
TS
2018 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
2019
7d020473
TS
2020 PR libgomp/92854
2021 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
2022
1e1fb715
TS
2023 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
2024
b5859e40
TS
2025 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
2026
11586ed9
TB
20272019-12-09 Tobias Burnus <tobias@codesourcery.com>
2028
2029 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
2030 unique.
2031 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
2032 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
2033 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
2034 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
2035 Ditto.
2036 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
2037 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
2038
3ad4a03a
KCY
20392019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
2040
2041 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
2042
6e4d01d6
TB
20432019-12-06 Tobias Burnus <tobias@codesourcery.com>
2044 Kwok Cheung Yeung <kcy@codesourcery.com>
2045
2046 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
2047 if input it a NULL pointer.
2048 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
2049 diagnostic of NULL pointer.
2050 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
2051 * testsuite/libgomp.fortran/optional-map.f90: New.
2052 * testsuite/libgomp.fortran/use_device_addr-1.f90
2053 (test_dummy_opt_callee_1_absent): New.
2054 (test_dummy_opt_call_1): Call it.
2055 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2056 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
2057 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2058 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
2059 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
2060 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
2061 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
2062 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
2063 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
2064 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
2065 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
2066 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
2067 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
2068 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
2069 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
2070 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
2071
ad80ec46
TB
20722019-12-05 Tobias Burnus <tobias@codesourcery.com>
2073
2074 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
2075 expect dg-output of 'Error termination.' for GCN.
2076 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2077 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2078
a8a5f4cc
JJ
20792019-12-04 Jakub Jelinek <jakub@redhat.com>
2080
2081 PR fortran/92756
2082 * testsuite/libgomp.fortran/teams1.f90: New test.
2083 * testsuite/libgomp.fortran/teams2.f90: New test.
2084
d8f0024b
FH
20852019-12-03 Frederik Harwath <frederik@codesourcery.com>
2086
2087 * oacc-init.c (acc_known_device_type): Add function.
2088 (unknown_device_type_error): Add function.
2089 (name_of_acc_device_t): Change to call unknown_device_type_error
2090 on unknown type.
2091 (resolve_device): Use acc_known_device_type.
2092 (acc_init): Fail if acc_device_t argument is not valid.
2093 (acc_shutdown): Likewise.
2094 (acc_get_num_devices): Likewise.
2095 (acc_set_device_type): Likewise.
2096 (acc_get_device_num): Likewise.
2097 (acc_set_device_num): Likewise.
2098 (acc_on_device): Add comment that argument validity is not checked.
2099
83caa34e
AS
21002019-12-03 Andrew Stubbs <ams@codesourcery.com>
2101
2102 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2103 Recognize amdgcn.
2104 (check_effective_target_openacc_amdgcn_accel_present): New proc.
2105 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
2106 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
2107 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2108 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2109
00484365
SN
21102019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
2111
2112 PR libgomp/91938
2113 * configure.tgt: Avoid IE tls on *-*-musl*.
2114
9909a059
TB
21152019-11-29 Tobias Burnus <tobias@codesourcery.com>
2116
2117 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
2118 adding a common-block test case.
2119
b3f44388
JJ
21202019-11-29 Jakub Jelinek <jakub@redhat.com>
2121
2122 PR c++/60228
2123 * testsuite/libgomp.c++/udr-20.C: New test.
2124 * testsuite/libgomp.c++/udr-21.C: New test.
2125
b1a73b48
TS
21262019-11-27 Thomas Schwinge <thomas@codesourcery.com>
2127
2128 * testsuite/lib/libgomp.exp
2129 (check_effective_target_offload_target_nvptx): New proc.
2130 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
2131 'dg-skip-if'.
2132 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2133 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
2134 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
2135
b8e72446
RO
21362019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2137
2138 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
2139 * testsuite/libgomp.c/pr39591-2.c: Likewise.
2140 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2141 * testsuite/libgomp.c/private-1.c: Likewise.
2142 * testsuite/libgomp.c/task-1.c: Likewise.
2143 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
2144
d88b27da
JB
21452019-11-20 Julian Brown <julian@codesourcery.com>
2146
2147 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
2148 aq->mutex here.
2149 (queue_push_launch): Lock aq->mutex before calling
2150 wait_for_queue_nonfull.
2151 (queue_push_callback): Likewise.
2152 (queue_push_asyncwait): Likewise.
2153 (queue_push_placeholder): Likewise.
2154
8d2f4ddf
JB
21552019-11-20 Julian Brown <julian@codesourcery.com>
2156
2157 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
2158 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
2159 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
2160 return code.
2161
e307b05f
JB
21622019-11-20 Julian Brown <julian@codesourcery.com>
2163
2164 PR libgomp/92511
2165
2166 * oacc-mem.c (present_create_copy): Fix device pointer return value in
2167 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
2168 in non-present/create case.
2169 (delete_copyout): Change error condition to fail only on copies outside
2170 of mapped block. Adjust error message accordingly.
2171 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
2172 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
2173 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
2174 message.
2175 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2176 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
2177 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2178
83115e9e
MR
21792019-11-20 Maciej W. Rozycki <macro@wdc.com>
2180
2181 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
2182 libatomic in build-tree testing.
2183
a1289887
MR
21842019-11-18 Maciej W. Rozycki <macro@wdc.com>
2185
2186 * testsuite/Makefile.in: Regenerate.
2187
8916ba87
AS
21882019-11-15 Andrew Stubbs <ams@codesourcery.com>
2189
2190 * testsuite/libgomp.c/target-print-1.c: New file.
2191 * testsuite/libgomp.fortran/target-print-1.f90: New file.
2192 * testsuite/libgomp.oacc-c/print-1.c: New file.
2193 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
2194
237957cc
AS
21952019-11-13 Andrew Stubbs <ams@codesourcery.com>
2196 Kwok Cheung Yeung <kcy@codesourcery.com>
2197 Julian Brown <julian@codesourcery.com>
2198 Tom de Vries <tom@codesourcery.com>
2199
2200 * plugin/Makefrag.am: Add amdgcn plugin support.
2201 * plugin/configfrag.ac: Likewise.
2202 * plugin/plugin-gcn.c: New file.
2203 * configure: Regenerate.
2204 * Makefile.in: Regenerate.
2205 * testsuite/Makefile.in: Regenerate.
2206
cee16451
AS
22072019-11-13 Andrew Stubbs <ams@codesourcery.com>
2208
2209 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
2210 and use team_malloc variants.
2211 (gomp_gcn_exit_kernel): Use team_free.
2212 * libgomp.h (TEAM_ARENA_SIZE): Define.
2213 (TEAM_ARENA_START): Define.
2214 (TEAM_ARENA_FREE): Define.
2215 (TEAM_ARENA_END): Define.
2216 (team_malloc): New function.
2217 (team_malloc_cleared): New function.
2218 (team_free): New function.
2219 * team.c (gomp_new_team): Initialize and use team_malloc.
2220 (free_team): Use team_free.
2221 (gomp_free_thread): Use team_free.
2222 (gomp_pause_host): Use team_free.
2223 * work.c (gomp_init_work_share): Use team_malloc.
2224 (gomp_fini_work_share): Use team_free.
2225
fa499995
AS
22262019-11-13 Andrew Stubbs <ams@codesourcery.com>
2227 Kwok Cheung Yeung <kcy@codesourcery.com>
2228 Julian Brown <julian@codesourcery.com>
2229 Tom de Vries <tom@codesourcery.com>
2230
2231 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
2232 * Makefile.in: Regenerate.
2233 * config.h.in (PLUGIN_GCN): Add new undef.
2234 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
2235 * config/gcn/affinity-fmt.c: New file.
2236 * config/gcn/bar.c: New file.
2237 * config/gcn/bar.h: New file.
2238 * config/gcn/doacross.h: New file.
2239 * config/gcn/icv-device.c: New file.
2240 * config/gcn/oacc-target.c: New file.
2241 * config/gcn/simple-bar.h: New file.
2242 * config/gcn/target.c: New file.
2243 * config/gcn/task.c: New file.
2244 * config/gcn/team.c: New file.
2245 * config/gcn/time.c: New file.
2246 * configure.ac: Add amdgcn*-*-*.
2247 * configure: Regenerate.
2248 * configure.tgt: Add amdgcn*-*-*.
2249 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
2250 * libgomp.h (gcn_thrs): Add amdgcn variant.
2251 (set_gcn_thrs): Likewise.
2252 (gomp_thread): Likewise.
2253 * oacc-int.h (goacc_thread): Likewise.
2254 * oacc-target.c: New file.
2255 * openacc.f90 (acc_device_gcn): New parameter.
2256 * openacc.h (acc_device_t): Add acc_device_gcn.
2257 * team.c (gomp_free_pool_helper): Add amdgcn support.
2258
d2903ce0
AS
22592019-11-13 Andrew Stubbs <ams@codesourcery.com>
2260 Julian Brown <julian@codesourcery.com>
2261
2262 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
2263 parameter.
2264 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
2265 queue constructor.
2266 * oacc-host.c (host_openacc_async_construct): Add device parameter.
2267 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
2268 device parameter.
2269
b3d14b3a
AS
22702019-11-13 Andrew Stubbs <ams@codesourcery.com>
2271
2272 * configure.tgt (nvptx*-*-*): Add "accel" directory.
2273 * config/nvptx/libgomp-plugin.c: Move ...
2274 * config/accel/libgomp-plugin.c: ... to here.
2275 * config/nvptx/lock.c: Move ...
2276 * config/accel/lock.c: ... to here.
2277 * config/nvptx/mutex.c: Move ...
2278 * config/accel/mutex.c: ... to here.
2279 * config/nvptx/mutex.h: Move ...
2280 * config/accel/mutex.h: ... to here.
2281 * config/nvptx/oacc-async.c: Move ...
2282 * config/accel/oacc-async.c: ... to here.
2283 * config/nvptx/oacc-cuda.c: Move ...
2284 * config/accel/oacc-cuda.c: ... to here.
2285 * config/nvptx/oacc-host.c: Move ...
2286 * config/accel/oacc-host.c: ... to here.
2287 * config/nvptx/oacc-init.c: Move ...
2288 * config/accel/oacc-init.c: ... to here.
2289 * config/nvptx/oacc-mem.c: Move ...
2290 * config/accel/oacc-mem.c: ... to here.
2291 * config/nvptx/oacc-plugin.c: Move ...
2292 * config/accel/oacc-plugin.c: ... to here.
2293 * config/nvptx/omp-lock.h: Move ...
2294 * config/accel/omp-lock.h: ... to here.
2295 * config/nvptx/openacc.f90: Move ...
2296 * config/accel/openacc.f90: ... to here.
2297 * config/nvptx/pool.h: Move ...
2298 * config/accel/pool.h: ... to here.
2299 * config/nvptx/proc.c: Move ...
2300 * config/accel/proc.c: ... to here.
2301 * config/nvptx/ptrlock.c: Move ...
2302 * config/accel/ptrlock.c: ... to here.
2303 * config/nvptx/ptrlock.h: Move ...
2304 * config/accel/ptrlock.h: ... to here.
2305 * config/nvptx/sem.c: Move ...
2306 * config/accel/sem.c: ... to here.
2307 * config/nvptx/sem.h: Move ...
2308 * config/accel/sem.h: ... to here.
2309 * config/nvptx/thread-stacksize.h: Move ...
2310 * config/accel/thread-stacksize.h: ... to here.
2311
62aee289
MR
23122019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2313 Tobias Burnus <tobias@codesourcery.com>
2314 Frederik Harwath <frederik@codesourcery.com>
2315 Thomas Schwinge <thomas@codesourcery.com>
2316
2317 libgomp/
2318 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
2319 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
2320 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
2321
a2c26c50
TB
23222019-11-11 Tobias Burnus <tobias@codesourcery.com>
2323 Kwok Cheung Yeung <kcy@codesourcery.com>
2324
2325 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
2326 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
2327
6d4868f3
TS
23282019-11-11 Thomas Schwinge <thomas@codesourcery.com>
2329
bfa1837b
TS
2330 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
2331
6d4868f3
TS
2332 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
2333 run'.
2334 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2335 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
2336
5d183d17
FH
23372019-11-06 Thomas Schwinge <thomas@codesourcery.com>
2338
2339 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
2340 Add expected warnings about missing reduction clauses.
2341 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
2342 Likewise.
2343 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
2344 Likewise.
2345 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
2346 Likewise.
2347
d8f03b03
TB
23482019-11-04 Tobias Burnus <tobias@codesourcery.com>
2349
2350 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
2351 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
2352 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
2353 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2354 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2355 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2356
12fd2ec5
TB
23572019-11-04 Tobias Burnus <tobias@codesourcery.com>
2358
2359 PR fortran/92305
2360 * testsuite/libgomp.fortran/allocatable2.f90: Use
2361 unique numbers with 'stop'.
2362 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2363 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2364 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
2365 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
2366 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
2367
92e63bd2
TB
23682019-11-01 Tobias Burnus <tobias@codesourcery.com>
2369
2370 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
2371 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
2372 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2373 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
2374 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
2375 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
2376
91ae0a46
TB
23772019-10-30 Tobias Burnus <tobias@codesourcery.com>
2378
2379 * testsuite/libgomp.fortran/target9.f90: New.
2380
c425e66b
TB
23812019-10-30 Tobias Burnus <tobias@codesourcery.com>
2382
2383 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
2384 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
2385 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
2386 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
2387 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
2388 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
2389 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
2390 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
2391 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
2392 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
2393 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
2394 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
2395 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
2396 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
2397 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
2398 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
2399 * testsuite/libgomp.fortran/associate1.f90: Ditto.
2400 * testsuite/libgomp.fortran/associate2.f90: Ditto.
2401 * testsuite/libgomp.fortran/associate3.f90: Ditto.
2402 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
2403 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
2404 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
2405 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
2406 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
2407 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
2408 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
2409 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
2410 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
2411 * testsuite/libgomp.fortran/character1.f90: Ditto.
2412 * testsuite/libgomp.fortran/character2.f90: Ditto.
2413 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
2414 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
2415 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
2416 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
2417 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
2418 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
2419 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
2420 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
2421 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
2422 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
2423 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
2424 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
2425 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
2426 * testsuite/libgomp.fortran/do1.f90: Ditto.
2427 * testsuite/libgomp.fortran/do2.f90: Ditto.
2428 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
2429 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
2430 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
2431 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
2432 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
2433 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
2434 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
2435 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
2436 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
2437 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
2438 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
2439 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
2440 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
2441 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
2442 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
2443 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
2444 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
2445 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
2446 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
2447 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
2448 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
2449 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
2450 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
2451 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
2452 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
2453 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
2454 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
2455 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
2456 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
2457 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
2458 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
2459 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
2460 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
2461 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
2462 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
2463 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
2464 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
2465 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
2466 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
2467 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
2468 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
2469 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
2470 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
2471 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
2472 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
2473 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
2474 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
2475 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
2476 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
2477 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2478 * testsuite/libgomp.fortran/lib1.f90: Ditto.
2479 * testsuite/libgomp.fortran/lib4.f90: Ditto.
2480 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
2481 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
2482 * testsuite/libgomp.fortran/nested1.f90: Ditto.
2483 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
2484 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
2485 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
2486 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2487 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
2488 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
2489 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2490 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
2491 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
2492 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
2493 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
2494 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
2495 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
2496 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
2497 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2498 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
2499 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2500 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
2501 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
2502 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
2503 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
2504 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
2505 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
2506 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
2507 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2508 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
2509 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
2510 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
2511 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
2512 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
2513 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2514 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
2515 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
2516 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
2517 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
2518 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2519 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
2520 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
2521 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
2522 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
2523 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
2524 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
2525 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
2526 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
2527 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
2528 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
2529 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
2530 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
2531 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
2532 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
2533 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
2534 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
2535 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
2536 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
2537 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
2538 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
2539 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2540 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
2541 * testsuite/libgomp.fortran/reference1.f90: Ditto.
2542 * testsuite/libgomp.fortran/reference2.f90: Ditto.
2543 * testsuite/libgomp.fortran/retval1.f90: Ditto.
2544 * testsuite/libgomp.fortran/retval2.f90: Ditto.
2545 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
2546 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
2547 * testsuite/libgomp.fortran/simd1.f90: Ditto.
2548 * testsuite/libgomp.fortran/simd2.f90: Ditto.
2549 * testsuite/libgomp.fortran/simd3.f90: Ditto.
2550 * testsuite/libgomp.fortran/simd4.f90: Ditto.
2551 * testsuite/libgomp.fortran/simd5.f90: Ditto.
2552 * testsuite/libgomp.fortran/simd6.f90: Ditto.
2553 * testsuite/libgomp.fortran/simd7.f90: Ditto.
2554 * testsuite/libgomp.fortran/stack.f90: Ditto.
2555 * testsuite/libgomp.fortran/strassen.f90: Ditto.
2556 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
2557 * testsuite/libgomp.fortran/tabs2.f: Ditto.
2558 * testsuite/libgomp.fortran/target1.f90: Ditto.
2559 * testsuite/libgomp.fortran/target2.f90: Ditto.
2560 * testsuite/libgomp.fortran/target3.f90: Ditto.
2561 * testsuite/libgomp.fortran/target4.f90: Ditto.
2562 * testsuite/libgomp.fortran/target5.f90: Ditto.
2563 * testsuite/libgomp.fortran/target6.f90: Ditto.
2564 * testsuite/libgomp.fortran/target7.f90: Ditto.
2565 * testsuite/libgomp.fortran/target8.f90: Ditto.
2566 * testsuite/libgomp.fortran/task1.f90: Ditto.
2567 * testsuite/libgomp.fortran/task2.f90: Ditto.
2568 * testsuite/libgomp.fortran/task3.f90: Ditto.
2569 * testsuite/libgomp.fortran/task4.f90: Ditto.
2570 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2571 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2572 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2573 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2574 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2575 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
2576 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
2577 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
2578 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
2579 * testsuite/libgomp.fortran/udr1.f90: Ditto.
2580 * testsuite/libgomp.fortran/udr10.f90: Ditto.
2581 * testsuite/libgomp.fortran/udr11.f90: Ditto.
2582 * testsuite/libgomp.fortran/udr12.f90: Ditto.
2583 * testsuite/libgomp.fortran/udr13.f90: Ditto.
2584 * testsuite/libgomp.fortran/udr14.f90: Ditto.
2585 * testsuite/libgomp.fortran/udr15.f90: Ditto.
2586 * testsuite/libgomp.fortran/udr2.f90: Ditto.
2587 * testsuite/libgomp.fortran/udr3.f90: Ditto.
2588 * testsuite/libgomp.fortran/udr4.f90: Ditto.
2589 * testsuite/libgomp.fortran/udr5.f90: Ditto.
2590 * testsuite/libgomp.fortran/udr6.f90: Ditto.
2591 * testsuite/libgomp.fortran/udr7.f90: Ditto.
2592 * testsuite/libgomp.fortran/udr8.f90: Ditto.
2593 * testsuite/libgomp.fortran/udr9.f90: Ditto.
2594 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2595 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2596 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2597 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2598 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2599 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2600 * testsuite/libgomp.fortran/vla7.f90: Ditto.
2601 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2602 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2603 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2604
01509e2f
TB
26052019-10-30 Tobias Burnus <tobias@codesourcery.com>
2606
2607 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2608 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2609 Ditto; add 'dg-do run' for torture testing.
2610 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
2611 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2612 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2613 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2614 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2615 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2616 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2617 * testsuite/libgomp.fortran/task2.f90: Ditto.
2618 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2619 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2620 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2621 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2622 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2623 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2624
ffbdd78a
TB
26252019-10-28 Tobias Burnus <tobias@codesourcery.com>
2626
2627 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2628 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2629 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2630 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2631 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2632 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2633 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2634 Use 'stop' not abort().
2635 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2636 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2637 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2638 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2639 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2640 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2641 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2642 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2643 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2644 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2645 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2646 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2647 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2648 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2649 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2650 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2651 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2652 Ditto.
2653 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2654 Ditto.
2655 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2656 Ditto.
2657 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2658 Ditto.
2659 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2660 Ditto.
2661 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2662 Ditto.
2663 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2664 Ditto.
2665 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2666 Ditto.
2667 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2668 Ditto.
2669 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2670 Ditto.
2671 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2672 Ditto.
2673 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2674 Ditto.
2675 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2676 Ditto.
2677 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2678 Ditto.
2679 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2680 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2681 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2682 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2683 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2684 Likewise and also add 'dg-do run'.
2685 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2686 Ditto.
2687
ec084613
CP
26882019-10-25 Cesar Philippidis <cesar@codesourcery.com>
2689 Tobias Burnus <tobias@codesourcery.com>
2690
2691 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2692 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2693 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2694
77ef3394
JJ
26952019-10-14 Jakub Jelinek <jakub@redhat.com>
2696
2697 PR libgomp/92081
2698 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2699 than 0.
2700
08c14aaa
TB
27012019-10-11 Tobias Burnus <tobias@codesourcery.com>
2702
2703 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2704 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2705
6bbead0c
TS
27062019-10-09 Thomas Schwinge <thomas@codesourcery.com>
2707
2708 PR middle-end/92036
2709 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2710 file.
2711
eba3dee8
TB
27122019-10-09 Tobias Burnus <tobias@codesourcery.com>
2713
2714 PR testsuite/91884
2715 * testsuite/libgomp.fortran/fortran.exp: Conditionally
2716 add -lquadmath.
2717 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2718
7d48e14f
JJ
27192019-10-09 Jakub Jelinek <jakub@redhat.com>
2720
2721 PR libgomp/92028
2722 * target.c (gomp_map_vars_internal): Readd the previous
2723 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2724 though do that just in the !not_found_cnt case.
2725
65b67cf3
TB
27262019-10-08 Tobias Burnus <tobias@codesourcery.com>
2727
2728 * gfortran.dg/gomp/target-simd.f90: New.
2729
6c7e076b
JB
27302019-10-02 Julian Brown <julian@codesourcery.com>
2731 Cesar Philippidis <cesar@codesourcery.com>
2732
2733 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2734 * target.c (FIELD_TGT_EMPTY): Define.
2735 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
2736 as switch instead of list of ifs.
2737 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2738
d61bff85
AT
27392019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
2740
2741 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2742 include. Replace alloca () with __builtin_alloca ().
2743 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2744
810f316d
JJ
27452019-10-01 Jakub Jelinek <jakub@redhat.com>
2746
2747 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2748 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2749 * oacc-parallel.c: Don't include "libgomp_g.h".
2750 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2751 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2752 * aclocal.m4: Regenerated.
2753 * config.h.in: Regenerated.
2754 * configure: Regenerated.
2755 * Makefile.in: Regenerated.
2756
d7f9ee98
KCY
27572019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
2758
2759 * libgomp_g.h: Include stdint.h instead of gstdint.h.
2760
e9085da5
MR
27612019-09-27 Maciej W. Rozycki <macro@wdc.com>
2762
2763 * configure: Regenerate.
2764
c28712be
TB
27652019-09-13 Tobias Burnus <tobias@codesourcery.com>
2766
2767 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2768 string is initialized.
2769
3c086f8d
FW
27702019-09-06 Florian Weimer <fweimer@redhat.com>
2771
2772 * configure: Regenerate.
2773
c6c2d1bc
CLT
27742019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
2775
2776 PR other/79543
2777 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2778 scanning to conform to the GNU Coding Standards.
2779 * configure: Regenerate.
2780
5cb72d83
JJ
27812019-08-28 Jakub Jelinek <jakub@redhat.com>
2782
2783 PR libgomp/91530
2784 * testsuite/libgomp.c/scan-21.c: New test.
2785 * testsuite/libgomp.c/scan-22.c: New test.
2786
0ad7981c
JJ
27872019-08-27 Jakub Jelinek <jakub@redhat.com>
2788
2789 PR libgomp/91530
2790 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2791 targets.
2792 * testsuite/libgomp.c/scan-12.c: Likewise.
2793 * testsuite/libgomp.c/scan-13.c: Likewise.
2794 * testsuite/libgomp.c/scan-14.c: Likewise.
2795 * testsuite/libgomp.c/scan-15.c: Likewise.
2796 * testsuite/libgomp.c/scan-16.c: Likewise.
2797 * testsuite/libgomp.c/scan-17.c: Likewise.
2798 * testsuite/libgomp.c/scan-18.c: Likewise.
2799 * testsuite/libgomp.c/scan-19.c: Likewise.
2800 * testsuite/libgomp.c/scan-20.c: Likewise.
2801 * testsuite/libgomp.c++/scan-9.C: Likewise.
2802 * testsuite/libgomp.c++/scan-10.C: Likewise.
2803 * testsuite/libgomp.c++/scan-11.C: Likewise.
2804 * testsuite/libgomp.c++/scan-12.C: Likewise.
2805 * testsuite/libgomp.c++/scan-14.C: Likewise.
2806 * testsuite/libgomp.c++/scan-15.C: Likewise.
2807 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
2808 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2809 * testsuite/libgomp.c++/scan-16.C: Likewise.
2810
1e67491a
TK
28112019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
2812
2813 PR fortran/91473
2814 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2815 -std=legacy so invalid code in the test case is accepted.
2816
393fdeb1
TK
28172019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2818
2819 PR fortran/91422
2820 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2821 dimension.
2822
8860d270
JJ
28232019-08-08 Jakub Jelinek <jakub@redhat.com>
2824
2825 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2826 perform the lookup in the first loop only if !not_found_cnt, otherwise
2827 perform lookups for it in the second loop guarded with
2828 if (not_found_cnt || has_firstprivate).
2829 * testsuite/libgomp.c/target-37.c: New test.
2830 * testsuite/libgomp.c++/target-22.C: New test.
2831
398e3feb
JJ
28322019-08-07 Jakub Jelinek <jakub@redhat.com>
2833
2834 * testsuite/libgomp.c/target-18.c (struct S): New type.
2835 (foo): Use use_device_addr clause instead of use_device_ptr clause
2836 where required by OpenMP 5.0, add further tests for both use_device_ptr
2837 and use_device_addr clauses.
2838 * testsuite/libgomp.c++/target-9.C (struct S): New type.
2839 (foo): Use use_device_addr clause instead of use_device_ptr clause
2840 where required by OpenMP 5.0, add further tests for both use_device_ptr
2841 and use_device_addr clauses. Add t and u arguments.
2842 (main): Adjust caller.
2843
d81ab49d
JJ
28442019-08-06 Jakub Jelinek <jakub@redhat.com>
2845
2846 * testsuite/libgomp.c++/loop-13.C: New test.
2847 * testsuite/libgomp.c++/loop-14.C: New test.
2848 * testsuite/libgomp.c++/loop-15.C: New test.
2849
c3ac76aa
JJ
28502019-07-31 Jakub Jelinek <jakub@redhat.com>
2851
2852 PR middle-end/91301
2853 * testsuite/libgomp.c++/for-27.C: New test.
2854
8dc63166
SK
28552019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
2856
393fdeb1 2857 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 2858 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 2859
554a530f
JJ
28602019-07-20 Jakub Jelinek <jakub@redhat.com>
2861
2862 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2863
6cda84b5
JJ
28642019-07-08 Jakub Jelinek <jakub@redhat.com>
2865
2866 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2867 * testsuite/libgomp.c++/scan-16.C: Likewise.
2868
1f52d1a8
JJ
28692019-07-06 Jakub Jelinek <jakub@redhat.com>
2870
6f67abcd
JJ
2871 * testsuite/libgomp.c/scan-19.c: New test.
2872 * testsuite/libgomp.c/scan-20.c: New test.
2873
1f52d1a8
JJ
2874 * testsuite/libgomp.c/scan-11.c: New test.
2875 * testsuite/libgomp.c/scan-12.c: New test.
2876 * testsuite/libgomp.c/scan-13.c: New test.
2877 * testsuite/libgomp.c/scan-14.c: New test.
2878 * testsuite/libgomp.c/scan-15.c: New test.
2879 * testsuite/libgomp.c/scan-16.c: New test.
2880 * testsuite/libgomp.c/scan-17.c: New test.
2881 * testsuite/libgomp.c/scan-18.c: New test.
2882 * testsuite/libgomp.c++/scan-9.C: New test.
2883 * testsuite/libgomp.c++/scan-10.C: New test.
2884 * testsuite/libgomp.c++/scan-11.C: New test.
2885 * testsuite/libgomp.c++/scan-12.C: New test.
2886 * testsuite/libgomp.c++/scan-13.C: New test.
2887 * testsuite/libgomp.c++/scan-14.C: New test.
2888 * testsuite/libgomp.c++/scan-15.C: New test.
2889 * testsuite/libgomp.c++/scan-16.C: New test.
2890
2f03073f
JJ
28912019-07-04 Jakub Jelinek <jakub@redhat.com>
2892
2893 * testsuite/libgomp.c/scan-9.c: New test.
2894 * testsuite/libgomp.c/scan-10.c: New test.
2895
2f6bb511
JJ
28962019-07-03 Jakub Jelinek <jakub@redhat.com>
2897
2898 * testsuite/libgomp.c++/scan-1.C: New test.
2899 * testsuite/libgomp.c++/scan-2.C: New test.
2900 * testsuite/libgomp.c++/scan-3.C: New test.
2901 * testsuite/libgomp.c++/scan-4.C: New test.
2902 * testsuite/libgomp.c++/scan-5.C: New test.
2903 * testsuite/libgomp.c++/scan-6.C: New test.
2904 * testsuite/libgomp.c++/scan-7.C: New test.
2905 * testsuite/libgomp.c++/scan-8.C: New test.
2906 * testsuite/libgomp.c/scan-1.c: New test.
2907 * testsuite/libgomp.c/scan-2.c: New test.
2908 * testsuite/libgomp.c/scan-3.c: New test.
2909 * testsuite/libgomp.c/scan-4.c: New test.
2910 * testsuite/libgomp.c/scan-5.c: New test.
2911 * testsuite/libgomp.c/scan-6.c: New test.
2912 * testsuite/libgomp.c/scan-7.c: New test.
2913 * testsuite/libgomp.c/scan-8.c: New test.
2914
bd194a51
TS
29152019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2916
85fca03a
TS
2917 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2918 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2919 Likewise.
2920
bd194a51
TS
2921 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2922 check.
2923
6652161e
CP
29242019-06-18 Cesar Philippidis <cesar@codesourcery.com>
2925
2926 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2927 file.
2928
3a37d6f6
TS
29292019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2930
4017da8d
TS
2931 PR fortran/90743
2932 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2933 case.
2934 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2935 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2936 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2937 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2938
6f7c1f65
TS
2939 PR testsuite/90861
2940 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2941
3a37d6f6
TS
2942 PR middle-end/90862
2943 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2944
f45ce17d
TV
29452019-06-16 Tom de Vries <tdevries@suse.de>
2946
2947 PR tree-optimization/89376
2948 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2949
00908992
TV
29502019-06-15 Tom de Vries <tdevries@suse.de>
2951
2952 PR tree-optimization/89713
2953 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2954 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2955
211b7533
JJ
29562019-06-15 Jakub Jelinek <jakub@redhat.com>
2957
2958 PR middle-end/90779
2959 * testsuite/libgomp.c/pr90779.c: New test.
2960 * testsuite/libgomp.fortran/pr90779.f90: New test.
2961
120a01d1
TV
29622019-06-15 Tom de Vries <tdevries@suse.de>
2963
2964 PR tree-optimization/90009
2965 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2966
c29c92c7
FX
29672019-06-13 Feng Xue <fxue@os.amperecomputing.com>
2968
2969 PR tree-optimization/89713
2970 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2971
ce9c4ec3
JJ
29722019-06-11 Jakub Jelinek <jakub@redhat.com>
2973
2974 PR target/90811
2975 * testsuite/libgomp.c/pr90811.c: New test.
2976
28b3a77c
JJ
29772019-06-05 Jakub Jelinek <jakub@redhat.com>
2978
2979 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2980 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2981
7855700e
JJ
29822019-06-04 Jakub Jelinek <jakub@redhat.com>
2983
2984 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2985 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2986 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2987 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2988
a7155c2e
RO
29892019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2990
2991 * configure.ac: Call AX_COUNT_CPUS.
2992 Substitute CPU_COUNT.
2993 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
2994 count fallback.
2995 * aclocal.m4: Regenerate.
2996 * configure: Regenerate.
2997 * Makefile.in, testsuite/Makefile.in: Regenerate.
2998
7e47198b
JJ
29992019-05-29 Jakub Jelinek <jakub@redhat.com>
3000
3001 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
3002 to ...
3003 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
3004 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
3005 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
3006
fcfb8032
JJ
30072019-05-27 Jakub Jelinek <jakub@redhat.com>
3008
8e7757ba
JJ
3009 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
3010
36c7a3ff
JJ
3011 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
3012
fcfb8032
JJ
3013 PR libgomp/90641
3014 * work.c (gomp_init_work_share): Instead of aligning final ordered
3015 value to multiples of long long alignment, align to that the
3016 first part (ordered team ids) and if inline_ordered_team_ids
3017 is not on a long long alignment boundary within the structure,
3018 use __alignof__ (long long) - 1 pad size always.
3019 * loop.c (GOMP_loop_start): Fix *mem computation if
3020 inline_ordered_team_ids is not aligned on long long alignment boundary
3021 within the structure.
3022 * loop-ull.c (GOMP_loop_ull_start): Likewise.
3023 * sections.c (GOMP_sections2_start): Likewise.
3024
b5c26449
JJ
30252019-05-24 Jakub Jelinek <jakub@redhat.com>
3026
6c7ae8c5
JJ
3027 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
3028 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
3029
b5c26449
JJ
3030 PR libgomp/90585
3031 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
3032 HAVE_INTTYPES_H is defined.
3033 (print_uint64_t): New typedef.
3034 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
3035 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
3036 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
3037 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
3038 before casting to void *.
3039 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
3040 * oacc-mem.c: Don't include config.h nor stdint.h.
3041 * target.c: Don't include config.h.
3042 * oacc-cuda.c: Likewise.
3043 * oacc-host.c: Don't include stdint.h.
3044
3e03ed66
JJ
30452019-05-20 Jakub Jelinek <jakub@redhat.com>
3046
3047 PR libgomp/90527
3048 * alloc.c (_GNU_SOURCE): Define.
3049
5fae049d
TS
30502019-05-17 Thomas Schwinge <thomas@codesourcery.com>
3051
3052 * acc_prof.h: New file.
3053 * oacc-profiling.c: Likewise.
3054 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
3055 Add these, respectively.
3056 * Makefile.in: Regenerate.
3057 * env.c (initialize_env): Call goacc_profiling_initialize.
3058 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
3059 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
3060 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
3061 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
3062 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
3063 acc_prof_register, acc_prof_unregister, and acc_register_library.
3064 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
3065 GOMP_PLUGIN_goacc_thread.
3066 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
3067 prof_callbacks_enabled members.
3068 (goacc_prof_enabled, goacc_profiling_initialize)
3069 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
3070 (goacc_profiling_dispatch): Declare.
3071 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
3072 (GOACC_PROFILING_SETUP_P): Define.
3073 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
3074 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
3075 OpenACC Profiling Interface.
3076 * oacc-cuda.c (acc_get_current_cuda_device)
3077 (acc_get_current_cuda_context, acc_get_cuda_stream)
3078 (acc_set_cuda_stream): Likewise.
3079 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
3080 (acc_init, acc_set_device_type, acc_get_device_type)
3081 (acc_get_device_num, goacc_lazy_initialize): Likewise.
3082 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
3083 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
3084 (acc_unmap_data, present_create_copy, delete_copyout)
3085 (update_dev_host): Likewise.
3086 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
3087 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
3088 Likewise.
3089 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
3090 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
3091 Likewise.
3092 * libgomp.texi: Update.
3093 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
3094 file.
3095 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
3096 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3097 Likewise.
3098 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
3099 Likewise.
3100 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
3101 Likewise.
3102 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
3103 Likewise.
3104
1f4c5b9b
CLT
31052019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
3106
3107 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
3108 (struct goacc_asyncqueue_list): Likewise.
3109 (goacc_aq): Likewise.
3110 (goacc_aq_list): Likewise.
3111 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3112 (GOMP_OFFLOAD_openacc_async_test): Remove.
3113 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3114 (GOMP_OFFLOAD_openacc_async_wait): Remove.
3115 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3116 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3117 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3118 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3119 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
3120 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
3121 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
3122 (GOMP_OFFLOAD_openacc_async_exec): Declare.
3123 (GOMP_OFFLOAD_openacc_async_construct): Declare.
3124 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
3125 (GOMP_OFFLOAD_openacc_async_test): Declare.
3126 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
3127 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
3128 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
3129 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
3130 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
3131
3132 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
3133 (gomp_acc_insert_pointer): Adjust declaration.
3134 (gomp_copy_host2dev): New declaration.
3135 (gomp_copy_dev2host): Likewise.
3136 (gomp_map_vars_async): Likewise.
3137 (gomp_unmap_tgt): Likewise.
3138 (gomp_unmap_vars_async): Likewise.
3139 (gomp_fini_device): Likewise.
3140
3141 * oacc-async.c (get_goacc_thread): New function.
3142 (get_goacc_thread_device): New function.
3143 (lookup_goacc_asyncqueue): New function.
3144 (get_goacc_asyncqueue): New function.
3145 (acc_async_test): Adjust code to use new async design.
3146 (acc_async_test_all): Likewise.
3147 (acc_wait): Likewise.
3148 (acc_wait_async): Likewise.
3149 (acc_wait_all): Likewise.
3150 (acc_wait_all_async): Likewise.
3151 (goacc_async_free): New function.
3152 (goacc_init_asyncqueues): Likewise.
3153 (goacc_fini_asyncqueues): Likewise.
3154 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
3155 design.
3156 (acc_set_cuda_stream): Likewise.
3157 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
3158 (host_openacc_register_async_cleanup): Remove.
3159 (host_openacc_async_exec): New function.
3160 (host_openacc_async_test): Adjust parameters.
3161 (host_openacc_async_test_all): Remove.
3162 (host_openacc_async_wait): Remove.
3163 (host_openacc_async_wait_async): Remove.
3164 (host_openacc_async_wait_all): Remove.
3165 (host_openacc_async_wait_all_async): Remove.
3166 (host_openacc_async_set_async): Remove.
3167 (host_openacc_async_synchronize): New function.
3168 (host_openacc_async_serialize): New function.
3169 (host_openacc_async_host2dev): New function.
3170 (host_openacc_async_dev2host): New function.
3171 (host_openacc_async_queue_callback): New function.
3172 (host_openacc_async_construct): New function.
3173 (host_openacc_async_destruct): New function.
3174 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 3175 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
3176 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
3177 (goacc_attach_host_thread_to_device): Remove old async code usage.
3178 * oacc-int.h (goacc_init_asyncqueues): New declaration.
3179 (goacc_fini_asyncqueues): Likewise.
3180 (goacc_async_copyout_unmap_vars): Likewise.
3181 (goacc_async_free): Likewise.
3182 (get_goacc_asyncqueue): Likewise.
3183 (lookup_goacc_asyncqueue): Likewise.
3184 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
3185 design.
3186 (present_create_copy): Adjust code to use new async design.
3187 (delete_copyout): Likewise.
3188 (update_dev_host): Likewise.
3189 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
3190 async design.
3191 (gomp_acc_remove_pointer): Adjust code to use new async design.
3192 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
3193 design.
3194 (GOACC_enter_exit_data): Likewise.
3195 (goacc_wait): Likewise.
3196 (GOACC_update): Likewise.
3197 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
3198 when called, warn as obsolete in comment.
3199 * target.c (goacc_device_copy_async): New function.
3200 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
3201 add goacc_device_copy_async case.
3202 (gomp_copy_dev2host): Likewise.
3203 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
3204 (gomp_map_pointer): Likewise.
3205 (gomp_map_fields_existing): Likewise.
3206 (gomp_map_vars_internal): New always_inline function, renamed from
3207 gomp_map_vars.
3208 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
3209 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
3210 passing goacc_asyncqueue argument.
3211 (gomp_unmap_tgt): Remove static, add attribute_hidden.
3212 (gomp_unref_tgt): New function.
3213 (gomp_unmap_vars_internal): New always_inline function, renamed from
3214 gomp_unmap_vars.
3215 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
3216 (gomp_unmap_vars_async): Implement by calling
3217 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
3218 (gomp_fini_device): New function.
3219 (gomp_exit_data): Adjust gomp_copy_dev2host call.
3220 (gomp_load_plugin_for_device): Remove old interface, adjust to load
3221 new async interface.
3222 (gomp_target_fini): Adjust code to call gomp_fini_device.
3223
3224 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
3225 (struct ptx_stream): Remove.
3226 (struct nvptx_thread): Remove current_stream field.
3227 (cuda_map_create): Remove.
3228 (cuda_map_destroy): Remove.
3229 (map_init): Remove.
3230 (map_fini): Remove.
3231 (map_pop): Remove.
3232 (map_push): Remove.
3233 (struct goacc_asyncqueue): Define.
3234 (struct nvptx_callback): Define.
3235 (struct ptx_free_block): Define.
3236 (struct ptx_device): Remove null_stream, active_streams, async_streams,
3237 stream_lock, and next fields.
3238 (enum ptx_event_type): Remove.
3239 (struct ptx_event): Remove.
3240 (ptx_event_lock): Remove.
3241 (ptx_events): Remove.
3242 (init_streams_for_device): Remove.
3243 (fini_streams_for_device): Remove.
3244 (select_stream_for_async): Remove.
3245 (nvptx_init): Remove ptx_events and ptx_event_lock references.
3246 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
3247 case.
3248 (nvptx_open_device): Add free_blocks initialization, remove
3249 init_streams_for_device call.
3250 (nvptx_close_device): Remove fini_streams_for_device call, add
3251 free_blocks destruct code.
3252 (event_gc): Remove.
3253 (event_add): Remove.
3254 (nvptx_exec): Adjust parameters and code.
3255 (nvptx_free): Likewise.
3256 (nvptx_host2dev): Remove.
3257 (nvptx_dev2host): Remove.
3258 (nvptx_set_async): Remove.
3259 (nvptx_async_test): Remove.
3260 (nvptx_async_test_all): Remove.
3261 (nvptx_wait): Remove.
3262 (nvptx_wait_async): Remove.
3263 (nvptx_wait_all): Remove.
3264 (nvptx_wait_all_async): Remove.
3265 (nvptx_get_cuda_stream): Remove.
3266 (nvptx_set_cuda_stream): Remove.
3267 (GOMP_OFFLOAD_alloc): Adjust code.
3268 (GOMP_OFFLOAD_free): Likewise.
3269 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3270 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
3271 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3272 (GOMP_OFFLOAD_openacc_async_wait): Remove.
3273 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3274 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3275 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3276 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3277 (cuda_free_argmem): New function.
3278 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
3279 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
3280 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
3281 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
3282 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
3283 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
3284 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
3285 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
3286 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
3287 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
3288 (cuda_callback_wrapper): New function.
3289 (cuda_memcpy_sanity_check): New function.
3290 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
3291 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
3292 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
3293 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
3294
da2d30c1
TS
32952019-05-07 Thomas Schwinge <thomas@codesourcery.com>
3296
3297 PR target/87835
3298 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
3299
2bbbfa4e
TS
33002019-05-06 Thomas Schwinge <thomas@codesourcery.com>
3301
3302 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
3303
bbf1efe1
KB
33042019-03-27 Kevin Buettner <kevinb@redhat.com>
3305
3306 * team.c (gomp_team_start): Initialize pool->threads[0].
3307
1241136c
TS
33082019-02-22 Thomas Schwinge <thomas@codesourcery.com>
3309
b03d721a
TS
3310 * testsuite/libgomp.oacc-c++/c++.exp: Specify
3311 "-foffload=$offload_target".
3312 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3313 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3314 * testsuite/lib/libgomp.exp
3315 (check_effective_target_openacc_nvidia_accel_configured): Remove,
3316 as (conceptually) merged into
3317 check_effective_target_openacc_nvidia_accel_selected. Adjust all
3318 users.
3319
0a0384b4
TS
3320 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
3321 * testsuite/libgomp-test-support.exp.in: Adjust.
3322 * testsuite/lib/libgomp.exp: Likewise. Don't populate
3323 openacc_device_types_s.
3324 (offload_target_to_openacc_device_type): New proc.
3325 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
3326 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3327 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3328 * Makefile.in: Regenerate.
3329 * configure: Likewise.
3330 * testsuite/Makefile.in: Likewise.
3331
ee332b4a
TS
3332 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
3333 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
3334 instead of OFFLOAD_TARGETS.
3335 * target.c (gomp_target_init): Adjust.
3336 * testsuite/libgomp-test-support.exp.in: Likewise.
3337 * testsuite/lib/libgomp.exp: Likewise. Populate
3338 openacc_device_types_s instead of offload_targets_s_openacc.
3339 (check_effective_target_openacc_nvidia_accel_selected)
3340 (check_effective_target_openacc_host_selected): Adjust.
3341 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3342 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3343 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3344 * Makefile.in: Regenerate.
3345 * config.h.in: Likewise.
3346 * configure: Likewise.
3347 * testsuite/Makefile.in: Likewise.
3348
1241136c
TS
3349 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
3350 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
3351 "offloading: supported, but hardware not accessible".
3352 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3353 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3354
19695f4d
CLT
33552019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
3356
3357 PR c/87924
3358 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
3359 goacc_wait().
3360 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
3361 and related adjustment.
3362
8b44f8ec
JJ
33632019-01-30 Jakub Jelinek <jakub@redhat.com>
3364
3365 PR c++/88988
3366 * testsuite/libgomp.c++/pr88988.C: New test.
3367
be3a87e7
JJ
33682019-01-28 Jakub Jelinek <jakub@redhat.com>
3369
3370 PR middle-end/89002
3371 * testsuite/libgomp.c/pr89002.c: New test.
3372
497ef4d7
RB
33732019-01-28 Richard Biener <rguenther@suse.de>
3374
3375 PR testsuite/89064
3376 PR tree-optimization/86865
3377 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
3378
738c56d4
TV
33792019-01-24 Tom de Vries <tdevries@suse.de>
3380
3381 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
3382 once instantiated_devices drops to 0.
3383
4a75460b
TV
33842019-01-23 Tom de Vries <tdevries@suse.de>
3385
3386 PR target/PR88946
3387 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
3388 cuMemFree.
3389 (nvptx_exec): Don't call map_push if mapnum == 0.
3390 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
3391
4fef8e4d
TV
33922019-01-23 Tom de Vries <tdevries@suse.de>
3393
3394 PR target/88941
3395 PR target/88939
3396 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
3397 (map_fini): Remove "assert (!s->map->active)".
3398 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
3399
2ee6cb22
TV
34002019-01-23 Tom de Vries <tdevries@suse.de>
3401
3402 PR target/87835
3403 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
3404 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
3405
d41d952c
TV
34062019-01-15 Tom de Vries <tdevries@suse.de>
3407
3408 PR target/80547
3409 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
3410 New test.
3411
efb56ae8
TV
34122019-01-12 Tom de Vries <tdevries@suse.de>
3413
3414 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
3415 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
3416 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
3417 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
3418
2c2ff168
TV
34192019-01-12 Tom de Vries <tdevries@suse.de>
3420
3421 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
3422
a1057758
TV
34232019-01-12 Tom de Vries <tdevries@suse.de>
3424
3425 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
3426 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
3427 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
3428
56314b77
TV
34292019-01-12 Tom de Vries <tdevries@suse.de>
3430
3431 PR target/85486
3432 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
3433 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
3434
b39e4366
TV
34352019-01-12 Tom de Vries <tdevries@suse.de>
3436
3437 PR target/85381
3438 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
3439 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
3440
2cb7a501
TV
34412019-01-12 Tom de Vries <tdevries@suse.de>
3442
3443 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
3444 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
3445 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
3446
8e77f71e
TV
34472019-01-12 Tom de Vries <tdevries@suse.de>
3448
3449 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
3450 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
3451 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
3452
52d22ece
TV
34532019-01-12 Tom de Vries <tdevries@suse.de>
3454
3455 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
3456 resources diagnostic.
3457
2b9d9e39
TV
34582019-01-12 Tom de Vries <tdevries@suse.de>
3459
3460 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
3461 vector length to be 128.
3462 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
3463 length 2097152 to be reduced to 1024 instead of 32.
3464
4102bda6
TS
34652019-01-11 Thomas Schwinge <thomas@codesourcery.com>
3466 James Norris <jnorris@codesourcery.com>
3467
3468 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
3469 Library Routines", and "Environment Variables".
3470
052aaace
TV
34712019-01-11 Tom de Vries <tdevries@suse.de>
3472
3473 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
3474 num_workers 16.
3475
9390f916
TV
34762019-01-11 Tom de Vries <tdevries@suse.de>
3477
3478 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
3479 -foffload=-w.
3480 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
3481 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
3482 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
3483 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
3484
2c3e7ad2
TV
34852019-01-11 Tom de Vries <tdevries@suse.de>
3486
3487 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
3488 test.
3489
e222497d
NS
34902019-01-10 Nathan Sidwell <nathan@acm.org>
3491 Julian Brown <julian@codesourcery.com>
3492
3493 PR lto/71959
3494 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
3495 * testsuite/libgomp.oacc-c++/pr71959.C: New.
3496
cb87fec3
SH
34972019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
3498
3499 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
3500 and paste code.
3501
30b4d0d0
SH
35022019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
3503
3504 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
3505 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3506 write.
3507
5d0bc70a
TV
35082019-01-09 Tom de Vries <tdevries@suse.de>
3509
3510 PR target/88756
3511 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
3512 #define instead of "const int".
3513 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
3514 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
3515 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
3516 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
3517
2c372e81
TV
35182019-01-09 Tom de Vries <tdevries@suse.de>
3519
3520 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
3521 one worker.
3522
43493c97
TV
35232019-01-07 Tom de Vries <tdevries@suse.de>
3524
3525 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
3526 GOMP_OPENACC_DIM argument.
3527
5c571497
TV
35282019-01-03 Tom de Vries <tdevries@suse.de>
3529
3530 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
3531 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
3532
a5544970
JJ
35332019-01-01 Jakub Jelinek <jakub@redhat.com>
3534
3535 Update copyright years.
3536
3f27508c
JJ
35372019-01-01 Jakub Jelinek <jakub@redhat.com>
3538
3539 * libgomp.texi: Bump @copying's copyright year.
3540
59d5960c
TS
35412018-12-28 Thomas Schwinge <thomas@codesourcery.com>
3542
3543 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
3544 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
3545 (GOACC_declare): Redefine the "device" argument to "flags".
3546
a44c1790
TS
35472018-12-28 Thomas Schwinge <thomas@codesourcery.com>
3548 Cesar Philippidis <cesar@codesourcery.com>
3549
3550 * target.c (struct gomp_coalesce_chunk): New structure.
3551 (struct gomp_coalesce_buf): Update the chunks member to use that
3552 type. Adjust all users.
3553
a152954e
TV
35542018-12-19 Tom de Vries <tdevries@suse.de>
3555
3556 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
3557 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
3558 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
3559
49188cd1
TV
35602018-12-19 Tom de Vries <tdevries@suse.de>
3561
3562 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
3563 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
3564 gcc/testsuite/gcc.dg/goacc.
3565 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
3566
c759830b
TS
35672018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3568 Chung-Lin Tang <cltang@codesourcery.com>
3569
3570 * oacc-mem.c (acc_present_or_create): Remove definition and change
3571 to alias of acc_create.
3572 (acc_present_or_copyin): Remove definition and change to alias of
3573 acc_copyin.
3574 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
3575 of acc_present_or_create.
3576 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
3577 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3578 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3579 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3580 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3581 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3582 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3583 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3584 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3585 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3586 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3587 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3588 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3589 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3590 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3591 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3592
7de562ee
TS
35932018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3594
f847198e
TS
3595 PR libgomp/88495
3596 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3597 "identical parameters".
3598 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3599 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3600
c8ab8aab
TS
3601 PR libgomp/88484
3602 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3603 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3604
1404af62
TS
3605 PR libgomp/88407
3606 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3607 (nvptx_wait_async): Unseen async-argument is a no-op.
3608 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3609 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3610 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3611 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3612 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3613 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3614 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
3615 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3616 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
3617
7de562ee
TS
3618 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3619 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3620
17469af7
CLT
36212018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
3622
3623 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3624 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3625 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3626
18c247cc
TS
36272018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3628
3629 PR libgomp/88370
3630 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3631 (acc_set_cuda_stream): Clarify.
3632 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3633 "async_valid_p".
3634 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3635 acc_async_sync".
3636 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3637 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3638 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3639 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3640
b0aba46c
TV
36412018-12-14 Tom de Vries <tdevries@suse.de>
3642
3643 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3644 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3645 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3646 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3647 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3648
fe0827ee
TV
36492018-12-13 Tom de Vries <tdevries@suse.de>
3650
3651 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3652 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3653 * fortran.c (omp_display_affinity_): ... here.
3654 * libgomp.h (gomp_print_string): Declare.
3655 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
3656 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3657 write.
3658
a51f8c92
JJ
36592018-12-13 Jakub Jelinek <jakub@redhat.com>
3660
3661 PR libgomp/88460
3662 * testsuite/libgomp.c++/for-24.C (results): Include it in
3663 omp declare target region.
3664 (main): Use map (always, tofrom: results) instead of
3665 map (tofrom: results).
3666
a6ef2ac9
JJ
36672018-12-12 Jakub Jelinek <jakub@redhat.com>
3668
7a289b7d
JJ
3669 PR fortran/88463
3670 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3671 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3672
a6ef2ac9
JJ
3673 * testsuite/libgomp.c-c++-common/for-16.c: New test.
3674
9c47a019
AS
36752018-12-12 Andreas Schwab <schwab@suse.de>
3676
3677 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3678 clobbered.
3679
d0cbb206
TK
36802018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
3681
3682 PR fortran/88411
3683 * testsuite/libgomp.fortran/async_io_8.f90: New test.
3684
84ca08d2
TS
36852018-12-09 Thomas Schwinge <thomas@codesourcery.com>
3686 Jakub Jelinek <jakub@redhat.com>
3687
3688 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3689 devicep->host2dev_func.
3690
6997628d
JJ
36912018-12-08 Jakub Jelinek <jakub@redhat.com>
3692
3693 PR libgomp/87995
3694 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3695 tls_runtime effective target.
3696 (t): New threadprivate variable.
3697 (main): Set t in threads which execute iterations of the worksharing
3698 loop. Propagate that to the task after the loop and don't abort
3699 if the current taskgroup hasn't been cancelled.
3700
daa8c1d7
JJ
37012018-12-02 Jakub Jelinek <jakub@redhat.com>
3702
4a82df9a
JJ
3703 * testsuite/libgomp.c/task-reduction-3.c: New test.
3704
daa8c1d7
JJ
3705 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3706
fe570ff8
CP
37072018-11-30 Cesar Philippidis <cesar@codesourcery.com>
3708
3709 PR libgomp/88288
3710 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3711 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3712
c223608f
TS
37132018-11-30 Thomas Schwinge <thomas@codesourcery.com>
3714
3715 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3716
fc60283c
RB
37172018-10-19 Richard Biener <rguenther@suse.de>
3718
3719 PR tree-optimization/88182
3720 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3721
ffcf3b79
JJ
37222018-11-26 Jakub Jelinek <jakub@redhat.com>
3723
3724 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3725 (RUNTEST): Don't define.
3726 (RUNTESTDEFAULTFLAGS): Add.
3727 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3728 (distclean-am): Depend on distclean-DEJAGNU.
3729 (check-am): If -j% option is present in MFLAGS and if
3730 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3731 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3732 * testsuite/Makefile.in: Regenerated.
3733
ef6e6914
RB
37342018-11-26 Richard Biener <rguenther@suse.de>
3735
3736 PR tree-optimization/88182
3737 * testsuite/libgomp.c++/pr88182.C: New testcase.
3738
72d3bb76
JJ
37392018-11-20 Jakub Jelinek <jakub@redhat.com>
3740
3741 PR bootstrap/88106
3742 * config/mingw32/affinity-fmt.c: New file.
3743
207286c3
JJ
37442018-11-09 Jakub Jelinek <jakub@redhat.com>
3745
9666c522
JJ
3746 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3747 (gomp_display_affinity): Use __builtin_choose_expr to handle
3748 properly handle argument having integral, or pointer or some other
3749 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
3750 with uint64_t type instead of %llx and unsigned long long.
3751
207286c3
JJ
3752 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3753 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3754
2033f45b
RO
37552018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3756
3757 * affinity.c: Include <string.h>, <stdio.h>.
3758 (gomp_display_affinity_place): Remove cpusetp.
3759 * teams.c: Include <limits.h>.
3760
28567c40
JJ
37612018-11-08 Jakub Jelinek <jakub@redhat.com>
3762
8991d779
JJ
3763 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3764 in_reduction clause for s[0].
3765
28567c40
JJ
3766 * affinity.c (gomp_display_affinity_place): New function.
3767 * affinity-fmt.c: New file.
3768 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3769 * config/linux/affinity.c (gomp_display_affinity_place): New function.
3770 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3771 Move these functions to ...
3772 * config/nvptx/teams.c: ... here. New file.
3773 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3774 New functions.
3775 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3776 functions.
3777 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3778 and _aligned_malloc.
3779 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3780 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3781 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3782 gomp_affinity_format_len): New variables.
3783 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3784 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
3785 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3786 modifiers. Display (non-default) chunk sizes. Print
3787 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3788 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
3789 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3790 * fortran.c: Include stdio.h and string.h.
3791 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3792 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3793 (omp_set_affinity_format_, omp_get_affinity_format_,
3794 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3795 omp_pause_resource_all_): New functions.
3796 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3797 switch.
3798 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3799 functions to ...
3800 * teams.c: ... here. New file.
3801 * libgomp_g.h: Include gstdint.h.
3802 (GOMP_loop_nonmonotonic_runtime_start,
3803 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3804 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3805 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3806 GOMP_parallel_loop_nonmonotonic_runtime,
3807 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3808 GOMP_loop_ull_nonmonotonic_runtime_start,
3809 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3810 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3811 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3812 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3813 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3814 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3815 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3816 GOMP_teams_reg): Declare.
3817 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3818 gomp_aligned_alloc uses fallback implementation.
3819 (gomp_aligned_alloc, gomp_aligned_free): Declare.
3820 (enum gomp_schedule_type): Add GFS_MONOTONIC.
3821 (struct gomp_doacross_work_share): Add extra field.
3822 (struct gomp_work_share): Add task_reductions field.
3823 (struct gomp_taskgroup): Add workshare and reductions fields.
3824 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3825 (gomp_thread_handle): New typedef.
3826 (gomp_display_affinity_place, gomp_set_affinity_format,
3827 gomp_display_string, gomp_display_affinity,
3828 gomp_display_affinity_thread): Declare.
3829 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3830 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3831 gomp_workshare_task_reduction_register): Declare.
3832 (gomp_team_start): Add taskgroup argument.
3833 (gomp_pause_host): Declare.
3834 (gomp_init_work_share, gomp_work_share_start): Change bool argument
3835 to size_t.
3836 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3837 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3838 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3839 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3840 GOMP_loop_ull_doacross_start,
3841 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3842 GOMP_loop_maybe_nonmonotonic_runtime_next,
3843 GOMP_loop_maybe_nonmonotonic_runtime_start,
3844 GOMP_loop_nonmonotonic_runtime_next,
3845 GOMP_loop_nonmonotonic_runtime_start,
3846 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3847 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3848 GOMP_loop_ull_nonmonotonic_runtime_next,
3849 GOMP_loop_ull_nonmonotonic_runtime_start,
3850 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3851 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3852 GOMP_taskgroup_reduction_register,
3853 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3854 GOMP_teams_reg and GOMP_taskwait_depend.
3855 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3856 omp_{capture,display}_affinity{,_}, and
3857 omp_[gs]et_affinity_format{,_}.
3858 * loop.c: Include string.h.
3859 (GOMP_loop_runtime_next): Add ialias.
3860 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3861 (gomp_loop_static_start, gomp_loop_dynamic_start,
3862 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3863 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3864 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3865 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3866 or gomp_doacross_init callers.
3867 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3868 GOMP_loop_doacross_start): New functions.
3869 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3870 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3871 Mask off GFS_MONOTONIC bit.
3872 (GOMP_loop_maybe_nonmonotonic_runtime_next,
3873 GOMP_loop_maybe_nonmonotonic_runtime_start,
3874 GOMP_loop_nonmonotonic_runtime_next,
3875 GOMP_loop_nonmonotonic_runtime_start,
3876 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3877 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3878 functions.
3879 (gomp_parallel_loop_start): Pass NULL as taskgroup to
3880 gomp_team_start.
3881 * loop_ull.c: Include string.h.
3882 (GOMP_loop_ull_runtime_next): Add ialias.
3883 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3884 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3885 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3886 gomp_loop_ull_ordered_dynamic_start,
3887 gomp_loop_ull_ordered_guided_start,
3888 gomp_loop_ull_doacross_static_start,
3889 gomp_loop_ull_doacross_dynamic_start,
3890 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3891 and gomp_doacross_ull_init callers.
3892 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3893 GOMP_loop_ull_doacross_start): New functions.
3894 (GOMP_loop_ull_runtime_start,
3895 GOMP_loop_ull_ordered_runtime_start,
3896 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3897 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3898 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3899 GOMP_loop_ull_nonmonotonic_runtime_next,
3900 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3901 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3902 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3903 (omp_pause_resource_t, omp_depend_t): New typedefs.
3904 (enum omp_lock_hint_t): Renamed to ...
3905 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
3906 enumerators using numbers and omp_lock_hint_* as their aliases.
3907 (omp_lock_hint_t): New typedef. Rename to ...
3908 (omp_sync_hint_t): ... this.
3909 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3910 omp_sync_hint_t instead of omp_lock_hint_t.
3911 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3912 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3913 Declare.
3914 (omp_target_is_present, omp_target_disassociate_ptr):
3915 Change first argument from void * to const void *.
3916 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3917 from void * to const void *.
3918 (omp_target_associate_ptr): Change first and second arguments from
3919 void * to const void *.
3920 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3921 omp_pause_hard): New parameters.
3922 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3923 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3924 New interfaces.
3925 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3926 omp_pause_hard): New parameters.
3927 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3928 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3929 New externals.
3930 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3931 EXTRA argument. If not needed to prepare array, if extra is 0,
3932 clear ws->doacross, otherwise allocate just doacross structure and
3933 extra payload. If array is needed, allocate also extra payload.
3934 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3935 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3936 doacross == NULL.
3937 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3938 gomp_team_start.
3939 (GOMP_parallel): Likewise. Formatting fix.
3940 (GOMP_parallel_reductions): New function.
3941 (GOMP_cancellation_point): If taskgroup has workshare
3942 flag set, check cancelled of prev taskgroup if any.
3943 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3944 on prev taskgroup if any.
3945 * sections.c: Include string.h.
3946 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3947 (GOMP_sections_start): Adjust gomp_work_share_start caller.
3948 (GOMP_sections2_start): New function.
3949 (GOMP_parallel_sections_start, GOMP_parallel_sections):
3950 Pass NULL as taskgroup to gomp_team_start.
3951 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3952 gomp_work_share_start callers.
3953 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3954 If taskgroup has workshare flag set, check cancelled on prev
3955 taskgroup if any. Guard all cancellation tests with
3956 gomp_cancel_var test.
3957 (omp_target_is_present, omp_target_disassociate_ptr):
3958 Change ptr argument from void * to const void *.
3959 (omp_target_memcpy): Change src argument from void * to const void *.
3960 (omp_target_memcpy_rect): Likewise.
3961 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
3962 instead of char * where needed.
3963 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3964 from void * to const void *.
3965 (omp_pause_resource, omp_pause_resource_all): New functions.
3966 * task.c (gomp_task_handle_depend): Handle new depend array format
3967 in addition to the old. Handle mutexinoutset kinds the same as
3968 inout for now, handle unspecified kinds.
3969 (gomp_create_target_task): If taskgroup has workshare flag set, check
3970 cancelled on prev taskgroup if any. Guard all cancellation tests with
3971 gomp_cancel_var test. Handle new depend array format count in
3972 addition to the old.
3973 (GOMP_task): Likewise. Adjust function comment.
3974 (gomp_task_run_pre): If taskgroup has workshare flag set, check
3975 cancelled on prev taskgroup if any. Guard all cancellation tests with
3976 gomp_cancel_var test.
3977 (GOMP_taskwait_depend): New function.
3978 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
3979 format in addition to the old. Handle mutexinoutset kinds the same as
3980 inout for now, handle unspecified kinds. Fix a function comment typo.
3981 (gomp_taskgroup_init): New function.
3982 (GOMP_taskgroup_start): Use it.
3983 (gomp_reduction_register, gomp_create_artificial_team,
3984 GOMP_taskgroup_reduction_register,
3985 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3986 gomp_parallel_reduction_register,
3987 gomp_workshare_task_reduction_register,
3988 gomp_workshare_taskgroup_start,
3989 GOMP_workshare_task_reduction_unregister): New functions.
3990 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
3991 check cancelled on prev taskgroup if any. Guard all cancellation
3992 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
3993 by calling GOMP_taskgroup_reduction_register.
3994 * team.c (gomp_thread_attr): Remove comment.
3995 (struct gomp_thread_start_data): Add handle field.
3996 (gomp_thread_start): Call pthread_detach.
3997 (gomp_new_team): Adjust gomp_init_work_share caller.
3998 (gomp_free_pool_helper): Call pthread_detach.
3999 (gomp_team_start): Add taskgroup argument, initialize implicit
4000 tasks' taskgroup field to that. Don't call
4001 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
4002 (gomp_team_end): Determine nesting by thr->ts.level != 0
4003 rather than thr->ts.team != NULL.
4004 (gomp_pause_pool_helper, gomp_pause_host): New functions.
4005 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
4006 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
4007 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
4008 if more than 1 allocate also extra payload at the end of array. Never
4009 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
4010 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
4011 return true instead of ws.
4012 * Makefile.in: Regenerated.
4013 * configure: Regenerated.
4014 * config.h.in: Regenerated.
4015 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
4016 in some cases.
4017 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
4018 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
4019 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
4020 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
4021 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
4022 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
4023 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
4024 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
4025 * testsuite/libgomp.c-c++-common/for-10.c: New test.
4026 * testsuite/libgomp.c-c++-common/for-11.c: New test.
4027 * testsuite/libgomp.c-c++-common/for-12.c: New test.
4028 * testsuite/libgomp.c-c++-common/for-13.c: New test.
4029 * testsuite/libgomp.c-c++-common/for-14.c: New test.
4030 * testsuite/libgomp.c-c++-common/for-15.c: New test.
4031 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
4032 define a different N(test), don't define N(f0) to N(f14), but instead
4033 define N(f20) to N(f34) using != comparisons.
4034 * testsuite/libgomp.c-c++-common/for-7.c: New test.
4035 * testsuite/libgomp.c-c++-common/for-8.c: New test.
4036 * testsuite/libgomp.c-c++-common/for-9.c: New test.
4037 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
4038 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
4039 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
4040 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
4041 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
4042 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
4043 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
4044 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
4045 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
4046 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
4047 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
4048 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
4049 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
4050 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
4051 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
4052 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
4053 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
4054 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
4055 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
4056 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
4057 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
4058 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
4059 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
4060 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
4061 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
4062 * testsuite/libgomp.c++/depend-1.C: New test.
4063 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
4064 * testsuite/libgomp.c++/depobj-1.C: New test.
4065 * testsuite/libgomp.c++/for-16.C: New test.
4066 * testsuite/libgomp.c++/for-21.C: New test.
4067 * testsuite/libgomp.c++/for-22.C: New test.
4068 * testsuite/libgomp.c++/for-23.C: New test.
4069 * testsuite/libgomp.c++/for-24.C: New test.
4070 * testsuite/libgomp.c++/for-25.C: New test.
4071 * testsuite/libgomp.c++/for-26.C: New test.
4072 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
4073 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
4074 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
4075 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
4076 * testsuite/libgomp.c++/task-reduction-10.C: New test.
4077 * testsuite/libgomp.c++/task-reduction-11.C: New test.
4078 * testsuite/libgomp.c++/task-reduction-12.C: New test.
4079 * testsuite/libgomp.c++/task-reduction-13.C: New test.
4080 * testsuite/libgomp.c++/task-reduction-14.C: New test.
4081 * testsuite/libgomp.c++/task-reduction-15.C: New test.
4082 * testsuite/libgomp.c++/task-reduction-16.C: New test.
4083 * testsuite/libgomp.c++/task-reduction-17.C: New test.
4084 * testsuite/libgomp.c++/task-reduction-18.C: New test.
4085 * testsuite/libgomp.c++/task-reduction-19.C: New test.
4086 * testsuite/libgomp.c/task-reduction-1.c: New test.
4087 * testsuite/libgomp.c++/task-reduction-1.C: New test.
4088 * testsuite/libgomp.c/task-reduction-2.c: New test.
4089 * testsuite/libgomp.c++/task-reduction-2.C: New test.
4090 * testsuite/libgomp.c++/task-reduction-3.C: New test.
4091 * testsuite/libgomp.c++/task-reduction-4.C: New test.
4092 * testsuite/libgomp.c++/task-reduction-5.C: New test.
4093 * testsuite/libgomp.c++/task-reduction-6.C: New test.
4094 * testsuite/libgomp.c++/task-reduction-7.C: New test.
4095 * testsuite/libgomp.c++/task-reduction-8.C: New test.
4096 * testsuite/libgomp.c++/task-reduction-9.C: New test.
4097 * testsuite/libgomp.c/teams-1.c: New test.
4098 * testsuite/libgomp.c/teams-2.c: New test.
4099 * testsuite/libgomp.c/thread-limit-4.c: New test.
4100 * testsuite/libgomp.c/thread-limit-5.c: New test.
4101 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
4102
58168bbf
CLT
41032018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
4104
4105 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
4106 acc_memcpy_to/from_device functions, now with async parameter.
4107 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
4108 (acc_memcpy_from_device): Likewise.
4109 (acc_memcpy_to_device_async): New API function.
4110 (acc_memcpy_from_device_async): Likewise.
4111 (present_create_copy): Add async parameter and async setting/unsetting.
4112 (acc_create): Adjust present_create_copy call.
4113 (acc_copyin): Likewise.
4114 (acc_present_or_create): Likewise.
4115 (acc_present_or_copyin): Likewise.
4116 (acc_create_async): New API function.
4117 (acc_copyin_async): New API function.
4118 (delete_copyout): Add async parameter and async setting/unsetting.
4119 (acc_delete): Adjust delete_copyout call.
4120 (acc_copyout): Likewise.
4121 (acc_delete_async): New API function.
4122 (acc_copyout_async): Likewise.
4123 (update_dev_host): Add async parameter and async setting/unsetting.
4124 (acc_update_device): Adjust update_dev_host call.
4125 (acc_update_self): Likewise.
4126 (acc_update_device_async): New API function.
4127 (acc_update_self_async): Likewise.
4128 * openacc.h (acc_copyin_async): Declare new API function.
4129 (acc_create_async): Likewise.
4130 (acc_copyout_async): Likewise.
4131 (acc_delete_async): Likewise.
4132 (acc_update_device_async): Likewise.
4133 (acc_update_self_async): Likewise.
4134 (acc_memcpy_to_device_async): Likewise.
4135 (acc_memcpy_from_device_async): Likewise.
4136 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
4137 (acc_copyin_async_64_h): New subroutine.
4138 (acc_copyin_async_array_h): New subroutine.
4139 (acc_create_async_32_h): New subroutine.
4140 (acc_create_async_64_h): New subroutine.
4141 (acc_create_async_array_h): New subroutine.
4142 (acc_copyout_async_32_h): New subroutine.
4143 (acc_copyout_async_64_h): New subroutine.
4144 (acc_copyout_async_array_h): New subroutine.
4145 (acc_delete_async_32_h): New subroutine.
4146 (acc_delete_async_64_h): New subroutine.
4147 (acc_delete_async_array_h): New subroutine.
4148 (acc_update_device_async_32_h): New subroutine.
4149 (acc_update_device_async_64_h): New subroutine.
4150 (acc_update_device_async_array_h): New subroutine.
4151 (acc_update_self_async_32_h): New subroutine.
4152 (acc_update_self_async_64_h): New subroutine.
4153 (acc_update_self_async_array_h): New subroutine.
4154 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
4155 (acc_copyin_async_64_h): New subroutine.
4156 (acc_copyin_async_array_h): New subroutine.
4157 (acc_create_async_32_h): New subroutine.
4158 (acc_create_async_64_h): New subroutine.
4159 (acc_create_async_array_h): New subroutine.
4160 (acc_copyout_async_32_h): New subroutine.
4161 (acc_copyout_async_64_h): New subroutine.
4162 (acc_copyout_async_array_h): New subroutine.
4163 (acc_delete_async_32_h): New subroutine.
4164 (acc_delete_async_64_h): New subroutine.
4165 (acc_delete_async_array_h): New subroutine.
4166 (acc_update_device_async_32_h): New subroutine.
4167 (acc_update_device_async_64_h): New subroutine.
4168 (acc_update_device_async_array_h): New subroutine.
4169 (acc_update_self_async_32_h): New subroutine.
4170 (acc_update_self_async_64_h): New subroutine.
4171 (acc_update_self_async_array_h): New subroutine.
4172 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
4173 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
4174 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
4175 acc_memcpy_to_device_async*, acc_update_device_async*, and
4176 acc_update_self_async* entries.
4177 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
4178 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
4179 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
4180
22e05272
JM
41812018-10-31 Joseph Myers <joseph@codesourcery.com>
4182
4183 PR bootstrap/82856
4184 * Makefile.am: Include multilib.am
4185 (AUTOMAKE_OPTIONS): Add info-in-builddir.
4186 (CLEANFILES): Remove libgomp.info.
4187 * configure.ac: Remove AC_PREREQ.
4188 * testsuite/Makefile.am (RUNTEST): Remove quotes.
4189 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
4190 Regenerate.
4191
87a5ccfb
JM
41922018-10-29 Joseph Myers <joseph@codesourcery.com>
4193 Julian Brown <julian@codesourcery.com>
4194
4195 * testsuite/libgomp.oacc-c++/this.C: New.
4196
2049befd
CP
41972018-09-18 Cesar Philippidis <cesar@codesourcery.com>
4198
4199 * plugin/plugin-nvptx.c (struct cuda_map): New.
4200 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
4201 h_tail with (cuda_map *) map.
4202 (cuda_map_create): New function.
4203 (cuda_map_destroy): New function.
4204 (map_init): Update to use a linked list of cuda_map objects.
4205 (map_fini): Likewise.
4206 (map_pop): Likewise.
4207 (map_push): Likewise. Return CUdeviceptr instead of void.
4208 (init_streams_for_device): Remove stales references to ptx_stream
4209 members.
4210 (select_stream_for_async): Likewise.
4211 (nvptx_exec): Update call to map_init.
4212
8e36332c
CP
42132018-09-09 Cesar Philippidis <cesar@codesourcery.com>
4214 Julian Brown <julian@codesourcery.com>
4215
4216 PR middle-end/86336
4217 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
4218
2b4c9065
NK
42192018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
4220 Thomas Koenig <tkoenig@gcc.gnu.org>
4221
4222 PR fortran/25829
4223 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4224 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4225 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4226 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4227 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4228 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4229 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4230
bd9b3d3d
CP
42312018-08-13 Cesar Philippidis <cesar@codesourcery.com>
4232 Tom de Vries <tdevries@suse.de>
4233
4234 PR target/85590
4235 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
4236 (cuOccupancyMaxPotentialBlockSize): Declare.
4237 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
4238 CUDA_ONE_CALL_MAYBE_NULL.
4239 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
4240 CUoccupancyB2DSize and declare
4241 cuOccupancyMaxPotentialBlockSize.
4242 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
4243 default num_gangs and num_workers when the driver supports it.
4244
8e09a12f
TV
42452018-08-08 Tom de Vries <tdevries@suse.de>
4246
4247 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
4248 CUDA_ONE_CALL_MAYBE_NULL.
4249 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
4250 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
4251 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
4252 are not found.
4253
cedd9bd0
TV
42542018-08-08 Tom de Vries <tdevries@suse.de>
4255
4256 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
4257 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
4258 present.
4259
b113af95
TV
42602018-08-08 Tom de Vries <tdevries@suse.de>
4261
4262 * plugin/plugin-nvptx.c
4263 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
4264 (nvptx_open_device): Use
4265 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
4266
94767dac
TV
42672018-08-08 Tom de Vries <tdevries@suse.de>
4268
4269 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
4270 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
4271
02150de8
TV
42722018-08-07 Tom de Vries <tdevries@suse.de>
4273
4274 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
4275 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
4276 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
4277 corresponding call in CUDA_ONE_CALL. Add def/undef of
4278 CUDA_ONE_CALL_MAYBE_NULL.
4279 (CUDA_CALL_EXISTS): Define.
4280
9e28b107
TV
42812018-08-07 Tom de Vries <tdevries@suse.de>
4282
4283 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
4284 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
4285 corresponding undefs right after.
4286
09940090
TV
42872018-08-04 Tom de Vries <tdevries@suse.de>
4288
4289 * plugin/configfrag.ac: For --without-cuda-driver, set
4290 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
4291 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
4292 * configure: Regenerate.
4293
77e0a97a
TV
42942018-08-02 Tom de Vries <tdevries@suse.de>
4295
4296 PR target/86660
4297 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
4298 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
4299 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4300 Same.
4301 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
4302 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
4303 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
4304
701d080a
CP
43052018-08-01 Cesar Philippidis <cesar@codesourcery.com>
4306 Thomas Schwinge <thomas@codesourcery.com>
4307
4308 * config/nvptx/oacc-parallel.c: Truncate.
4309
094db6be
CP
43102018-08-01 Cesar Philippidis <cesar@codesourcery.com>
4311 James Norris <jnorris@codesourcery.com>
4312
4313 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
4314 (map_init, map_pop): Remove use of struct map.
4315 (map_push): Likewise and change argument list.
094db6be
CP
4316 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
4317
8c6310a2
TV
43182018-08-01 Tom de Vries <tdevries@suse.de>
4319
4320 * plugin/cuda-lib.def: New file. Factor out of ...
4321 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
4322 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
4323 using CUDA_CALLS.
4324
1d4a51cf
AV
43252018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
4326
4327 Revert 'AsyncI/O patch committed'.
4328 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
4329 Thomas Koenig <tkoenig@gcc.gnu.org>
4330
4331 PR fortran/25829
4332 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4333 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4334 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4335 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4336 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4337 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4338 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4339
4cdfee3f
TV
43402018-07-30 Tom de Vries <tdevries@suse.de>
4341
4342 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
4343 (nvptx_exec): Ensure worker and vector default dims don't exceed
4344 targ_fn->max_threads_per_block.
4345
0b210c43
TV
43462018-07-30 Tom de Vries <tdevries@suse.de>
4347
4348 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
4349 (nvptx_open_device): Init default_dims for device.
4350 (nvptx_exec): Use default_dims from device.
4351
5883c5cc
JJ
43522018-07-26 Jakub Jelinek <jakub@redhat.com>
4353
5d36384c
JJ
4354 PR testsuite/86660
4355 * testsuite/libgomp.c++/for-15.C (results): Include it in
4356 omp declare target region.
4357 (main): Use map (always, tofrom: results) instead of
4358 map (tofrom: results).
4359
5883c5cc
JJ
4360 PR middle-end/86660
4361 * testsuite/libgomp.c/pr86660.c: New test.
4362
88a4654d
CP
43632018-07-26 Cesar Philippidis <cesar@codesourcery.com>
4364 Tom de Vries <tdevries@suse.de>
4365
4366 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
4367 sufficient resources to launch a kernel, and give a hint on how to fix
4368 it.
4369
0c6c2f5f
CP
43702018-07-26 Cesar Philippidis <cesar@codesourcery.com>
4371 Tom de Vries <tdevries@suse.de>
4372
4373 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
4374 max_threads_per_block and max_threads_per_multiprocessor fields.
4375 (nvptx_open_device): Initialize new fields.
4376 (nvptx_exec): Use num_sms, and new fields.
4377
6dd58010
TV
43782018-07-26 Tom de Vries <tdevries@suse.de>
4379
4380 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
4381 to correct locations. Remove xfail.
4382
b2eb1779
TV
43832018-07-26 Tom de Vries <tdevries@suse.de>
4384
4385 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
4386 acc_wait. Move acc_async_test calls to correct locations. Remove
4387 xfail.
4388
b1f45884
NK
43892018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
4390 Thomas Koenig <tkoenig@gcc.gnu.org>
4391
4392 PR fortran/25829
4393 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4394 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4395 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4396 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4397 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4398 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4399 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4400
3a106211
JJ
44012018-07-17 Jakub Jelinek <jakub@redhat.com>
4402
a3bccfa1
JJ
4403 PR middle-end/86542
4404 * testsuite/libgomp.c++/pr86542.C: New test.
4405
3a106211
JJ
4406 PR middle-end/86539
4407 * testsuite/libgomp.c++/pr86539.C: New test.
4408
2bae8b2f
JJ
44092018-07-11 Jakub Jelinek <jakub@redhat.com>
4410
4411 PR c++/86443
4412 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
4413 (results): Make sure the variable is not inside declare target region.
4414 (qux): Remove unused function.
4415
0b27c3ed
JJ
44162018-07-10 Jakub Jelinek <jakub@redhat.com>
4417
4418 PR c++/86443
4419 * testsuite/libgomp.c++/for-15.C: New test.
4420
f0391511
JJ
44212018-06-26 Jakub Jelinek <jakub@redhat.com>
4422
4423 PR c++/86291
4424 * testsuite/libgomp.c++/pr86291.C: New test.
4425
1a6d1d24
GP
44262018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
4427
4428 * libgomp.texi (Top): Move www.openmp.org to https.
4429 (Enabling OpenMP): Ditto.
4430 (omp_get_active_level): Ditto.
4431 (omp_get_ancestor_thread_num): Ditto.
4432 (omp_get_cancellation): Ditto.
4433 (omp_get_default_device): Ditto.
4434 (omp_get_dynamic): Ditto.
4435 (omp_get_level): Ditto.
4436 (omp_get_max_active_levels): Ditto.
4437 (omp_get_max_task_priority): Ditto.
4438 (omp_get_max_threads): Ditto.
4439 (omp_get_nested): Ditto.
4440 (omp_get_num_devices): Ditto.
4441 (omp_get_num_procs): Ditto.
4442 (omp_get_num_teams): Ditto.
4443 (omp_get_num_threads): Ditto.
4444 (omp_get_proc_bind): Ditto.
4445 (omp_get_schedule): Ditto.
4446 (omp_get_team_num): Ditto.
4447 (omp_get_team_size): Ditto.
4448 (omp_get_thread_limit): Ditto.
4449 (omp_get_thread_num): Ditto.
4450 (omp_in_parallel): Ditto.
4451 (omp_in_final): Ditto.
4452 (omp_is_initial_device): Ditto.
4453 (omp_set_default_device): Ditto.
4454 (omp_set_dynamic): Ditto.
4455 (omp_set_max_active_levels): Ditto.
4456 (omp_set_nested): Ditto.
4457 (omp_set_num_threads): Ditto.
4458 (omp_set_schedule): Ditto.
4459 (omp_init_lock): Ditto.
4460 (omp_set_lock): Ditto.
4461 (omp_test_lock): Ditto.
4462 (omp_unset_lock): Ditto.
4463 (omp_destroy_lock): Ditto.
4464 (omp_init_nest_lock): Ditto.
4465 (omp_set_nest_lock): Ditto.
4466 (omp_test_nest_lock): Ditto.
4467 (omp_unset_nest_lock): Ditto.
4468 (omp_destroy_nest_lock): Ditto.
4469 (omp_get_wtick): Ditto.
4470 (omp_get_wtime): Ditto.
4471 (OMP_CANCELLATION): Ditto.
4472 (OMP_DISPLAY_ENV): Ditto.
4473 (OMP_DEFAULT_DEVICE): Ditto.
4474 (OMP_DYNAMIC): Ditto.
4475 (OMP_MAX_ACTIVE_LEVELS): Ditto.
4476 (OMP_MAX_TASK_PRIORITY): Ditto.
4477 (OMP_NESTED): Ditto.
4478 (OMP_NUM_THREADS): Ditto.
4479 (OMP_PROC_BIND): Ditto.
4480 (OMP_PLACES): Ditto.
4481 (OMP_STACKSIZE): Ditto.
4482 (OMP_SCHEDULE): Ditto.
4483 (OMP_THREAD_LIMIT): Ditto.
4484 (OMP_WAIT_POLICY): Ditto.
4485
31dd69b7
CP
44862018-06-22 Cesar Philippidis <cesar@codesourcery.com>
4487 James Norris <jnorris@codesourcery.com>
4488 Julian Brown <julian@codesourcery.com>
4489 Thomas Schwinge <thomas@codesourcery.com>
4490 Tom de Vries <tom@codesourcery.com>
4491
4492 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
4493 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
4494 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
4495 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
4496 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4497 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4498 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
4499 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4500 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
4501 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
4502 Likewise.
4503 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4504 Likewise.
4505 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4506 Likewise.
4507 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
4508 Likewise.
4509 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
4510 Likewise.
4511 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4512 Likewise.
4513 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4514 Likewise.
4515 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4516 Likewise.
4517 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4518 Likewise.
4519 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4520 Likewise.
4521 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4522 Likewise.
4523 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4524 Likewise.
4525 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4526 Likewise.
4527 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4528 Likewise.
4529 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4530 Likewise.
4531 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4532 Likewise.
4533 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4534 Likewise.
4535 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4536 Likewise.
4537 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4538 Likewise.
4539 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4540 Likewise.
4541 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4542 Likewise.
4543 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4544 Likewise.
4545 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4546 Likewise.
4547 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4548 Likewise.
4549 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4550 Likewise.
4551 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4552 Likewise.
4553 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4554 Likewise.
4555 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
4556 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
4557 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
4558 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
4559 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
4560 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4561 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4562 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
4563 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4564 Likewise.
4565 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4566 Likewise.
4567 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
4568 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
4569 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
4570 Likewise.
4571 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
4572 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
4573 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4574 Likewise.
4575 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4576 Likewise.
4577 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4578 Likewise.
4579 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4580 Likewise.
4581 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4582 Likewise.
4583 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4584 Likewise.
4585 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4586 Likewise.
4587 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4588 Likewise.
4589 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4590 Likewise.
4591 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4592 Likewise.
4593 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4594 Likewise.
4595 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4596 Likewise.
4597 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4598 Likewise.
4599 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4600 Likewise.
4601 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4602 Likewise.
4603 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4604 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4605 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4606 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4607 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4608 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4609 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4610
829c6349
CLT
46112018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4612 Thomas Schwinge <thomas@codesourcery.com>
4613 Cesar Philippidis <cesar@codesourcery.com>
4614
4615 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4616 (gomp_acc_remove_pointer): Update declaration.
4617 (gomp_acc_declare_allocate): Declare.
4618 (gomp_remove_var): Declare.
4619 * libgomp.map (OACC_2.5): Define.
4620 * oacc-mem.c (acc_map_data): Update refcount.
4621 (acc_unmap_data): Likewise.
4622 (present_create_copy): Likewise.
4623 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4624 (acc_copyin): Likewise.
4625 (FLAG_FINALIZE): Define.
4626 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4627 (acc_delete_finalize): New function.
4628 (acc_delete_finalize_async): New function.
4629 (acc_copyout_finalize): New function.
4630 (acc_copyout_finalize_async): New function.
4631 (gomp_acc_insert_pointer): Update refcounts.
4632 (gomp_acc_remove_pointer): Return if data is not present on the
4633 accelerator.
4634 * oacc-parallel.c (find_pset): Rename to find_pointer.
4635 (find_pointer): Add support for GOMP_MAP_POINTER.
4636 (handle_ftn_pointers): New function.
4637 (GOACC_parallel_keyed): Update refcounts of variables.
4638 (GOACC_enter_exit_data): Add support for finalized data mappings.
4639 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4640 of fortran arrays.
4641 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4642 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4643 for GOMP_MAP_FORCE_FROM.
4644 * openacc.f90 (module openacc_internal): Add
4645 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4646 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4647 acc_copyout_finalize and acc_delete_finalize.
4648 (acc_copyout_finalize_32_h): New subroutine.
4649 (acc_copyout_finalize_64_h): New subroutine.
4650 (acc_copyout_finalize_array_h): New subroutine.
4651 (acc_delete_finalize_32_h): New subroutine.
4652 (acc_delete_finalize_64_h): New subroutine.
4653 (acc_delete_finalize_array_h): New subroutine.
4654 * openacc.h (acc_copyout_finalize): Declare.
4655 (acc_copyout_finalize_async): Declare.
4656 (acc_delete_finalize): Declare.
4657 (acc_delete_finalize_async): Declare.
4658 * openacc_lib.h (acc_copyout_finalize): New interface.
4659 (acc_delete_finalize): New interface.
4660 * target.c (gomp_map_vars): Update dynamic_refcount.
4661 (gomp_remove_var): New function.
4662 (gomp_unmap_vars): Use it.
4663 (gomp_unload_image_from_device): Likewise.
4664 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4665 case to utilize OpenACC 2.5 data clause semantics.
4666 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4667 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4668 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4669 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4670 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4671 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4672 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4673 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4674 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4675 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4677 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4678 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4679 utilize OpenACC 2.5 data clause semantics.
4680 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4681 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4682 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4683 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4684 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4685 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4686 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4687 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4688 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4689
4358400b
JW
46902018-05-21 Janus Weil <janus@gcc.gnu.org>
4691
4692 PR fortran/85841
4693 PR testsuite/85865
4694 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4695 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4696 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4697 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4698 * testsuite/libgomp.fortran/task2.f90: Ditto.
4699 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4700 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4701 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4702 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4703 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4704 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4705 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4706 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4707 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4708
950ad0ba
CP
47092018-05-18 Cesar Philippidis <cesar@codesourcery.com>
4710
4711 PR c++/85782
4712 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4713
f5ad16f1
TV
47142018-05-09 Tom de Vries <tom@codesourcery.com>
4715
4716 PR libgomp/82901
4717 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4718 to GOACC_enter_exit_data.
4719
edbd038a
TV
47202018-05-09 Tom de Vries <tom@codesourcery.com>
4721
4722 PR libgomp/83792
4723 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4724 (async_synchronous_p): New function.
4725 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4726 async_valid_p.
4727 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4728 async_valid_stream_id_p.
4729 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4730 * oacc-parallel.c (GOACC_parallel_keyed): Same.
4731
37d6c719
TV
47322018-05-07 Tom de Vries <tom@codesourcery.com>
4733
4734 PR testsuite/85677
4735 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4736 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4737
63f12215
TV
47382018-05-03 Tom de Vries <tom@codesourcery.com>
4739
4740 PR testsuite/85106
4741 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4742 extra_tool_flags if it contains an -foffload=-fdump-* flag.
4743 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4744 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4745
ec00d3fa
TV
47462018-05-02 Tom de Vries <tom@codesourcery.com>
4747
4748 PR libgomp/85411
4749 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4750 GOMP_OPENACC_DIM ...
4751 * env.c (parse_gomp_openacc_dim): ... here. New function.
4752 (initialize_env): Call parse_gomp_openacc_dim.
4753 (goacc_default_dims): Define.
4754 * libgomp.h (goacc_default_dims): Declare.
4755 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4756 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4757 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4758 GOMP_PLUGIN_acc_default_dim.
4759 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4760 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4761
92243e7c
TV
47622018-05-02 Tom de Vries <tom@codesourcery.com>
4763
4764 PR testsuite/83791
4765 * testsuite/libgomp.c++/udr-9.C: Update.
4766 * testsuite/libgomp.c++/atomic-16.C: Remove.
4767 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4768 * testsuite/libgomp.c++/loop-13.C: Remove.
4769 * testsuite/libgomp.c++/loop-14.C: Remove.
4770 * testsuite/libgomp.c++/loop-15.C: Remove.
4771 * testsuite/libgomp.c++/monotonic-1.C: Remove.
4772 * testsuite/libgomp.c++/monotonic-2.C: Remove.
4773 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4774 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4775 * testsuite/libgomp.c++/ordered-1.C: Remove.
4776 * testsuite/libgomp.c++/pr45784.C: Remove.
4777 * testsuite/libgomp.c++/pr64824.C: Remove.
4778 * testsuite/libgomp.c++/pr64868.C: Remove.
4779 * testsuite/libgomp.c++/pr66199-1.C: Remove.
4780 * testsuite/libgomp.c++/pr66199-2.C: Remove.
4781 * testsuite/libgomp.c++/pr66199-3.C: Remove.
4782 * testsuite/libgomp.c++/pr66199-4.C: Remove.
4783 * testsuite/libgomp.c++/pr66199-5.C: Remove.
4784 * testsuite/libgomp.c++/pr66199-6.C: Remove.
4785 * testsuite/libgomp.c++/pr66199-7.C: Remove.
4786 * testsuite/libgomp.c++/pr66199-8.C: Remove.
4787 * testsuite/libgomp.c++/pr66199-9.C: Remove.
4788 * testsuite/libgomp.c++/pr69389.C: Remove.
4789 * testsuite/libgomp.c++/simd10.C: Remove.
4790 * testsuite/libgomp.c++/simd11.C: Remove.
4791 * testsuite/libgomp.c++/simd12.C: Remove.
4792 * testsuite/libgomp.c++/simd13.C: Remove.
4793 * testsuite/libgomp.c++/target-1.C: Remove.
4794 * testsuite/libgomp.c++/target-3.C: Remove.
4795 * testsuite/libgomp.c++/target-4.C: Remove.
4796 * testsuite/libgomp.c++/target-5.C: Remove.
4797 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4798 * testsuite/libgomp.c++/taskloop-1.C: Remove.
4799 * testsuite/libgomp.c++/taskloop-2.C: Remove.
4800 * testsuite/libgomp.c++/taskloop-3.C: Remove.
4801 * testsuite/libgomp.c++/taskloop-4.C: Remove.
4802 * testsuite/libgomp.c++/udr-9.C: Remove.
4803 * testsuite/libgomp.c++/for-10.C: Remove.
4804 * testsuite/libgomp.c++/for-11.C: Remove.
4805 * testsuite/libgomp.c++/for-12.C: Remove.
4806 * testsuite/libgomp.c++/for-13.C: Remove.
4807 * testsuite/libgomp.c++/for-14.C: Remove.
4808 * testsuite/libgomp.c++/for-9.C: Remove.
4809 * testsuite/libgomp.c/atomic-18.c: Move ...
4810 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4811 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4812 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4813 * testsuite/libgomp.c/loop-13.c: Move ...
4814 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4815 * testsuite/libgomp.c/loop-14.c: Move ...
4816 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4817 * testsuite/libgomp.c/loop-15.c: Remove.
4818 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4819 * testsuite/libgomp.c/monotonic-1.c: Move ...
4820 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4821 * testsuite/libgomp.c/monotonic-2.c: Move ...
4822 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4823 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4824 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4825 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4826 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4827 * testsuite/libgomp.c/ordered-4.c: Move ...
4828 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4829 * testsuite/libgomp.c/pr45784.c: Move ...
4830 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4831 * testsuite/libgomp.c/pr64824.c: Move ...
4832 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4833 * testsuite/libgomp.c/pr64868.c: Move ...
4834 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4835 * testsuite/libgomp.c/pr66199-1.c: Move ...
4836 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4837 * testsuite/libgomp.c/pr66199-2.c: Move ...
4838 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4839 * testsuite/libgomp.c/pr66199-3.c: Move ...
4840 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4841 * testsuite/libgomp.c/pr66199-4.c: Move ...
4842 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4843 * testsuite/libgomp.c/pr66199-5.c: Move ...
4844 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4845 * testsuite/libgomp.c/pr66199-6.c: Move ...
4846 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4847 * testsuite/libgomp.c/pr66199-7.c: Move ...
4848 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4849 * testsuite/libgomp.c/pr66199-8.c: Move ...
4850 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4851 * testsuite/libgomp.c/pr66199-9.c: Move ...
4852 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4853 * testsuite/libgomp.c/pr69389.c: Move ...
4854 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4855 * testsuite/libgomp.c/simd-14.c: Move ...
4856 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4857 * testsuite/libgomp.c/simd-15.c: Move ...
4858 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4859 * testsuite/libgomp.c/simd-16.c: Move ...
4860 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4861 * testsuite/libgomp.c/simd-17.c: Move ...
4862 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4863 * testsuite/libgomp.c/target-1.c: Move ...
4864 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4865 * testsuite/libgomp.c/target-10.c: Move ...
4866 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4867 * testsuite/libgomp.c/target-13.c: Move ...
4868 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4869 * testsuite/libgomp.c/target-2.c: Move ...
4870 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4871 * testsuite/libgomp.c/taskgroup-1.c: Move ...
4872 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4873 * testsuite/libgomp.c/taskloop-1.c: Move ...
4874 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4875 * testsuite/libgomp.c/taskloop-2.c: Move ...
4876 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4877 * testsuite/libgomp.c/taskloop-3.c: Move ...
4878 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4879 * testsuite/libgomp.c/taskloop-4.c: Move ...
4880 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4881 * testsuite/libgomp.c/udr-1.c: Move ...
4882 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4883 * testsuite/libgomp.c/for-1.c: Move ...
4884 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4885 * testsuite/libgomp.c/for-1.h: Move ...
4886 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4887 * testsuite/libgomp.c/for-2.c: Move ...
4888 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4889 * testsuite/libgomp.c/for-2.h: Move ...
4890 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4891 * testsuite/libgomp.c/for-3.c: Move ...
4892 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4893 * testsuite/libgomp.c/for-4.c: Move ...
4894 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4895 * testsuite/libgomp.c/for-5.c: Move ...
4896 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4897 * testsuite/libgomp.c/for-6.c: Move ...
4898 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4899
1f62d637
TV
49002018-05-02 Tom de Vries <tom@codesourcery.com>
4901
4902 PR libgomp/82428
4903 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4904 __builtin_goacc_parlevel_{id,size}.
4905 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4906 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4907 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4908 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4909 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4910 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4911 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4912 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4913 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4914 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4915 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4916 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4917 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4918 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4919 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4920 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4921 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4922 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4923 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4924 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4925 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4926 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4927 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4928
9220b511
TV
49292018-05-02 Tom de Vries <tom@codesourcery.com>
4930
4931 PR testsuite/85106
4932 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4933
6c3c13c1
TV
49342018-05-02 Tom de Vries <tom@codesourcery.com>
4935
4936 PR testsuite/85106
4937 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4938
8d70b61e
JB
49392018-04-29 Julian Brown <julian@codesourcery.com>
4940 Tom de Vries <tom@codesourcery.com>
4941
4942 PR testsuite/85527
4943 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4944 arbitrary order for iterations of atomic subtract check.
4945
4a57a4b6
TV
49462018-04-28 Tom de Vries <tom@codesourcery.com>
4947
4948 PR testsuite/85527
4949 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4950 atomic capture results obtained in parallel loop to an array, instead of
4951 to a scalar.
4952
df36a3d3
TV
49532018-04-26 Tom de Vries <tom@codesourcery.com>
4954
4955 PR libgomp/84020
4956 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4957 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4958 (process_GOMP_NVPTX_JIT): New function.
4959 (link_ptx): Use process_GOMP_NVPTX_JIT.
4960
d160ae78
RB
49612018-04-26 Richard Biener <rguenther@suse.de>
4962 Tom de Vries <tom@codesourcery.com>
4963
4964 PR lto/85422
4965 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4966
ca9dc642
TV
49672018-04-26 Tom de Vries <tom@codesourcery.com>
4968
4969 PR target/85519
4970 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4971 recursion depth from 25 to 23.
4972 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4973
7b47ecf2
L
49742018-04-24 H.J. Lu <hongjiu.lu@intel.com>
4975
4976 * configure: Regenerated.
4977
e91eba31
NS
49782018-04-20 Nathan Sidwell <nathan@codesourcery.com>
4979 Tom de Vries <tom@codesourcery.com>
4980
4981 PR target/85445
4982 * testsuite/libgomp.oacc-c++/ref-1.C: New.
4983
6e0d40b6
TS
49842018-04-19 Thomas Schwinge <thomas@codesourcery.com>
4985
4986 PR libgomp/85463
4987 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4988 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4989 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4990 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4991 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4992 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4993
4994 PR libfortran/85166
4995 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
4996 abort".
4997 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4998
a0e1df88
JJ
49992018-04-19 Jakub Jelinek <jakub@redhat.com>
5000
5001 * configure: Regenerated.
5002
001ddaa8
DM
50032018-04-18 David Malcolm <dmalcolm@redhat.com>
5004
5005 PR jit/85384
5006 * configure: Regenerate.
5007
05e0af43
CP
50082018-04-16 Cesar Philippidis <cesar@codesourcery.com>
5009 Tom de Vries <tom@codesourcery.com>
5010
5011 PR middle-end/84955
5012 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5013 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5014
bc436e10
TK
50152018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
5016
5017 PR fortran/83064
5018 PR testsuite/85346
5019 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
5020 test from gfortran.dg to here.
5021
ffb164c7
JJ
50222018-04-12 Cesar Philippidis <cesar@codesourcery.com>
5023
5024 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
5025 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
5026
50272018-04-12 Cesar Philippidis <cesar@codesourcery.com>
5028
5029 PR middle-end/84955
5030 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5031 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5032
2ba16fd2
TV
50332018-04-05 Tom de Vries <tom@codesourcery.com>
5034
5035 PR target/85204
5036 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
5037
46dbeb40
TV
50382018-03-26 Tom de Vries <tom@codesourcery.com>
5039
5040 PR tree-optimization/85063
5041 * testsuite/libgomp.c/switch-conversion-2.c: New test.
5042 * testsuite/libgomp.c/switch-conversion.c: New test.
5043 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
5044 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
5045
bfc24e32
TK
50462018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
5047
5048 PR fortran/84381
5049 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
5050 call abort by STOP n.
5051 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
5052 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
5053 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
5054 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
5055 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
5056 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
5057 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
5058 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
5059 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
5060 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
5061 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
5062 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
5063 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
5064 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
5065 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
5066 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
5067 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
5068 * testsuite/libgomp.fortran/associate1.f90: Likewise.
5069 * testsuite/libgomp.fortran/associate2.f90: Likewise.
5070 * testsuite/libgomp.fortran/associate3.f90: Likewise.
5071 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
5072 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
5073 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
5074 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
5075 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
5076 * testsuite/libgomp.fortran/character1.f90: Likewise.
5077 * testsuite/libgomp.fortran/character2.f90: Likewise.
5078 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
5079 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
5080 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
5081 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
5082 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
5083 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
5084 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
5085 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
5086 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
5087 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
5088 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
5089 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
5090 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
5091 * testsuite/libgomp.fortran/do1.f90: Likewise.
5092 * testsuite/libgomp.fortran/do2.f90: Likewise.
5093 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
5094 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
5095 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
5096 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
5097 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
5098 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
5099 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5100 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
5101 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
5102 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
5103 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
5104 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
5105 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5106 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
5107 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
5108 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
5109 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
5110 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
5111 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
5112 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
5113 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
5114 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
5115 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
5116 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
5117 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
5118 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
5119 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
5120 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5121 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
5122 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
5123 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
5124 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
5125 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
5126 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5127 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5128 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
5129 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
5130 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
5131 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
5132 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
5133 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
5134 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
5135 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
5136 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
5137 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5138 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
5139 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
5140 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
5141 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
5142 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5143 * testsuite/libgomp.fortran/lib2.f: Likewise.
5144 * testsuite/libgomp.fortran/lib3.f: Likewise.
5145 * testsuite/libgomp.fortran/lib4.f90: Likewise.
5146 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
5147 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
5148 * testsuite/libgomp.fortran/nested1.f90: Likewise.
5149 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
5150 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
5151 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
5152 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
5153 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
5154 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
5155 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
5156 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
5157 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
5158 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
5159 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
5160 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
5161 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
5162 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
5163 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
5164 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
5165 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
5166 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
5167 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
5168 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5169 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
5170 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
5171 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
5172 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
5173 * testsuite/libgomp.fortran/pr25162.f: Likewise.
5174 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
5175 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
5176 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
5177 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
5178 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
5179 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
5180 * testsuite/libgomp.fortran/pr28390.f: Likewise.
5181 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
5182 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
5183 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
5184 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
5185 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
5186 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
5187 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
5188 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
5189 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
5190 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
5191 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
5192 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
5193 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
5194 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
5195 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
5196 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
5197 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
5198 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
5199 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
5200 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
5201 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
5202 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
5203 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
5204 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
5205 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
5206 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
5207 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
5208 * testsuite/libgomp.fortran/reference1.f90: Likewise.
5209 * testsuite/libgomp.fortran/reference2.f90: Likewise.
5210 * testsuite/libgomp.fortran/retval1.f90: Likewise.
5211 * testsuite/libgomp.fortran/retval2.f90: Likewise.
5212 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
5213 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
5214 * testsuite/libgomp.fortran/simd1.f90: Likewise.
5215 * testsuite/libgomp.fortran/simd2.f90: Likewise.
5216 * testsuite/libgomp.fortran/simd3.f90: Likewise.
5217 * testsuite/libgomp.fortran/simd4.f90: Likewise.
5218 * testsuite/libgomp.fortran/simd5.f90: Likewise.
5219 * testsuite/libgomp.fortran/simd6.f90: Likewise.
5220 * testsuite/libgomp.fortran/simd7.f90: Likewise.
5221 * testsuite/libgomp.fortran/stack.f90: Likewise.
5222 * testsuite/libgomp.fortran/strassen.f90: Likewise.
5223 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
5224 * testsuite/libgomp.fortran/tabs2.f: Likewise.
5225 * testsuite/libgomp.fortran/target1.f90: Likewise.
5226 * testsuite/libgomp.fortran/target2.f90: Likewise.
5227 * testsuite/libgomp.fortran/target3.f90: Likewise.
5228 * testsuite/libgomp.fortran/target4.f90: Likewise.
5229 * testsuite/libgomp.fortran/target5.f90: Likewise.
5230 * testsuite/libgomp.fortran/target6.f90: Likewise.
5231 * testsuite/libgomp.fortran/target7.f90: Likewise.
5232 * testsuite/libgomp.fortran/target8.f90: Likewise.
5233 * testsuite/libgomp.fortran/task1.f90: Likewise.
5234 * testsuite/libgomp.fortran/task2.f90: Likewise.
5235 * testsuite/libgomp.fortran/task3.f90: Likewise.
5236 * testsuite/libgomp.fortran/task4.f90: Likewise.
5237 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
5238 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
5239 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
5240 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
5241 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
5242 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
5243 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
5244 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
5245 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
5246 * testsuite/libgomp.fortran/udr1.f90: Likewise.
5247 * testsuite/libgomp.fortran/udr10.f90: Likewise.
5248 * testsuite/libgomp.fortran/udr11.f90: Likewise.
5249 * testsuite/libgomp.fortran/udr12.f90: Likewise.
5250 * testsuite/libgomp.fortran/udr13.f90: Likewise.
5251 * testsuite/libgomp.fortran/udr14.f90: Likewise.
5252 * testsuite/libgomp.fortran/udr15.f90: Likewise.
5253 * testsuite/libgomp.fortran/udr2.f90: Likewise.
5254 * testsuite/libgomp.fortran/udr3.f90: Likewise.
5255 * testsuite/libgomp.fortran/udr4.f90: Likewise.
5256 * testsuite/libgomp.fortran/udr5.f90: Likewise.
5257 * testsuite/libgomp.fortran/udr6.f90: Likewise.
5258 * testsuite/libgomp.fortran/udr7.f90: Likewise.
5259 * testsuite/libgomp.fortran/udr8.f90: Likewise.
5260 * testsuite/libgomp.fortran/udr9.f90: Likewise.
5261 * testsuite/libgomp.fortran/vla1.f90: Likewise.
5262 * testsuite/libgomp.fortran/vla2.f90: Likewise.
5263 * testsuite/libgomp.fortran/vla3.f90: Likewise.
5264 * testsuite/libgomp.fortran/vla4.f90: Likewise.
5265 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5266 * testsuite/libgomp.fortran/vla6.f90: Likewise.
5267 * testsuite/libgomp.fortran/vla7.f90: Likewise.
5268 * testsuite/libgomp.fortran/vla8.f90: Likewise.
5269 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
5270 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
5271 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5272 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5273 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5274 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5275 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5276 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5277 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5278 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5279 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5280 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
5281 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5282 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
5283 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5284 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
5285 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5286 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
5287 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
5288 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
5289 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
5290 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
5291 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
5292 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
5293 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
5294 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5295 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5296 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
5297 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5298 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
5299 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5300 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5301 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5302 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5303 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5304 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5305 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5306 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5307 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
5308 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5309 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
5310 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5311 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
5312 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
5313 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
5314 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
5315 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5316 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5317 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
5318 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5319 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
5320 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
5321 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
5322 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5323 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
5324 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5325 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
5326 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5327 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5328 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
5329 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5330 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5331 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5332 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5333 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
5334 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5335 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5336 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5337 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5338 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
5339 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
5340 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
5341 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
5342 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5343 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5344 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
5345 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5346 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5347 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5348 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5349 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5350 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5351 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5352 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
5353 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
5354 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
5355 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
5356 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
5357 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
5358 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5359 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
5360 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
5361 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
5362 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
5363
79cf14ae
RB
53642018-03-20 Richard Biener <rguenther@suse.de>
5365
5366 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
5367 parallelizable loop.
5368
14e335ed
IT
53692018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
5370
5371 PR target/84148
5372 * configure: Regenerate.
5373
83d9be55
JJ
53742018-02-16 Jakub Jelinek <jakub@redhat.com>
5375
5376 PR fortran/84418
5377 * libgomp.fortran/pr84418-1.f90: New test.
5378 * libgomp.fortran/pr84418-2.f90: New test.
5379
d1fe6124
JJ
53802018-02-14 Jakub Jelinek <jakub@redhat.com>
5381
5382 PR fortran/84313
5383 * testsuite/libgomp.fortran/threadprivate4.f90: Add
5384 -std=f2003 -fall-intrinsics into dg-additional-options.
5385
3d224921
MJ
53862018-02-08 Martin Jambor <mjambor@suse.cz>
5387
5388 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
5389 clonable.
5390
c7c30edd
MJ
53912018-02-08 Martin Jambor <mjambor@suse.cz>
5392
5393 * testsuite/libgomp.hsa.c/staticvar.c: New test.
5394
f320fdfd
RO
53952018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5396
5397 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
5398 [__cplusplus]: Declare extern "C".
5399
c31bc4ac
TV
54002018-02-07 Tom de Vries <tom@codesourcery.com>
5401
5402 PR libgomp/84217
5403 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
5404
99ae7ce5
CS
54052018-01-29 Christoph Spiel <cspiel@freenet.de>
5406 Jakub Jelinek <jakub@redhat.com>
5407
5408 PR libgomp/84096
5409 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
5410 instead of omp_lock_t.
5411
e77a1236
TV
54122018-01-25 Tom de Vries <tom@codesourcery.com>
5413
5414 PR target/84028
5415 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
5416
3dede32b
TV
54172018-01-24 Tom de Vries <tom@codesourcery.com>
5418
5419 PR target/83589
5420 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
5421
be606483
TV
54222018-01-24 Tom de Vries <tom@codesourcery.com>
5423
5424 PR target/81352
5425 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
5426
8c8e9a6b
TV
54272018-01-19 Tom de Vries <tom@codesourcery.com>
5428 Cesar Philippidis <cesar@codesourcery.com>
5429
5430 PR target/83920
5431 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
5432 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
5433
65e6aea3
JJ
54342018-01-03 Jakub Jelinek <jakub@redhat.com>
5435
85ec4feb
JJ
5436 Update copyright years.
5437
65e6aea3
JJ
5438 * libgomp.texi: Bump @copying's copyright year.
5439
60bf575c
TV
54402017-12-30 Tom de Vries <tom@codesourcery.com>
5441
5442 PR libgomp/83046
5443 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
5444 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
5445
7ec16b79
TV
54462017-12-27 Tom de Vries <tom@codesourcery.com>
5447
5448 PR c++/83046
5449 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
5450 (test_nonstatic): Fix return type to workaround PR83046.
5451
ac550b9a
JJ
54522017-12-05 Jakub Jelinek <jakub@redhat.com>
5453
5454 PR testsuite/83281
5455 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
5456 j suffix instead of i.
5457 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
5458 Likewise.
5459
ebdc83f0
CP
54602017-12-01 Cesar Philippidis <cesar@codesourcery.com>
5461
5462 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
5463 call to acc_wait (1).
5464
3b3e6283
JJ
54652017-11-24 Jakub Jelinek <jakub@redhat.com>
5466
5467 PR fortran/81304
5468 * testsuite/libgomp.fortran/pr81304.f90: New test.
5469
3b575376
JJ
54702017-11-23 Jakub Jelinek <jakub@redhat.com>
5471
5472 PR fortran/81841
5473 * libgomp.fortran/pr81841.f90: New test.
5474
b13547d8
JJ
54752017-11-22 Jakub Jelinek <jakub@redhat.com>
5476
5477 PR libgomp/83106
5478 * target.c (gomp_target_init): Compute lengths just once and
5479 use them in both malloc size and subsequent copying.
5480
efe33ced
IT
54812017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
5482
5483 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
5484 * acinclude.m4: Add cet.m4.
5485 * configure: Regenerate.
5486 * Makefile.in: Likewise.
5487 * testsuite/Makefile.in: Likewise.
5488
a7cf2612
TV
54892017-11-15 Tom de Vries <tom@codesourcery.com>
5490
5491 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
5492 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
5493 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
5494 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
5495 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
5496 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
5497
dde76623
TV
54982017-11-14 Tom de Vries <tom@codesourcery.com>
5499
5500 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
5501 non-nvidia devices.
5502
4dbeb716
JJ
55032017-11-07 Jakub Jelinek <jakub@redhat.com>
5504
5505 PR c++/82835
5506 * testsuite/libgomp.c++/pr82835.C: New test.
5507
454f8b2b
ML
55082017-11-06 Martin Liska <mliska@suse.cz>
5509
5510 * testsuite/libgomp.c++/loop-2.C: Return a value
5511 for functions with non-void return type, or change type to void,
5512 or add -Wno-return-type for test.
5513 * testsuite/libgomp.c++/loop-4.C: Likewise.
5514 * testsuite/libgomp.c++/parallel-1.C: Likewise.
5515 * testsuite/libgomp.c++/shared-1.C: Likewise.
5516 * testsuite/libgomp.c++/single-1.C: Likewise.
5517 * testsuite/libgomp.c++/single-2.C: Likewise.
5518
12e9c8ce
TV
55192017-10-31 Tom de Vries <tom@codesourcery.com>
5520
5521 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
5522 "do {} while (false)".
5523 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
5524 after HSA_DEBUG call.
5525
7324369a
JJ
55262017-10-28 Jakub Jelinek <jakub@redhat.com>
5527
5528 * target.c (struct gomp_coalesce_buf): New type.
5529 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
5530 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
5531 (gomp_copy_host2dev): Add CBUF argument, if copying into
5532 the cached ranges, memcpy into buffer instead of copying
5533 into device.
5534 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
5535 Add CBUF argument, pass it through to other calls.
5536 (gomp_map_vars): Aggregate copies from host to device if small enough
5537 and with small enough gaps in between into memcpy into a buffer and
5538 fewer host to device copies from the buffer.
5539 (gomp_update): Adjust gomp_copy_host2dev caller.
5540
933ab0e6
TS
55412017-10-17 Thomas Schwinge <thomas@codesourcery.com>
5542
5543 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
5544 run" directive.
5545 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5546 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5547 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5548 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5549
92d5d01a
TV
55502017-10-16 Tom de Vries <tom@codesourcery.com>
5551
5552 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
5553 openacc_nvidia_accel_selected.
5554 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
5555 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
5556 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
5557 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
5558 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
5559 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
5560 openacc_nvidia_accel_selected. Skip for shared memory device.
5561 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
5562 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
5563
191411e4
MJ
55642017-10-09 Martin Jambor <mjambor@suse.cz>
5565
5566 PR hsa/82416
5567 * testsuite/libgomp.hsa.c/pr82416.c: New test.
5568
e923330e
TV
55692017-10-07 Tom de Vries <tom@codesourcery.com>
5570
5571 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
5572 Remove acc_device_nvidia references.
5573 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
5574 Same.
5575
8fe3ed4c
TV
55762017-10-05 Tom de Vries <tom@codesourcery.com>
5577
5578 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
5579 vector_length(32) clause from acc parallel directive.
5580 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
5581
26596ee5
TV
55822017-10-04 Tom de Vries <tom@codesourcery.com>
5583
5584 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
5585 (main): Reduce sum of arr elements. Assert that hres is exactly
5586 representable in 32-bit floating point.
5587 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
5588 (main): Reduce sum of arr elements. Assert that hres and hmres are
5589 exactly representable in 32-bit floating point.
5590 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
5591
5c561fa9
TV
55922017-09-28 Tom de Vries <tom@codesourcery.com>
5593
5594 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5595 setting.
5596 * testsuite/libgomp.c++/pr69393.C: Same.
5597 * testsuite/libgomp.c++/taskloop-1.C: Same.
5598 * testsuite/libgomp.c++/taskloop-3.C: Same.
5599 * testsuite/libgomp.c++/taskloop-4.C: Same.
5600 * testsuite/libgomp.c/for-4.c: Same.
5601 * testsuite/libgomp.c/pr66199-3.c: Same.
5602 * testsuite/libgomp.c/pr66199-4.c: Same.
5603 * testsuite/libgomp.c/pr66199-6.c: Same.
5604 * testsuite/libgomp.c/taskloop-1.c: Same.
5605 * testsuite/libgomp.c/taskloop-3.c: Same.
5606 * testsuite/libgomp.c/taskloop-4.c: Same.
5607 * testsuite/libgomp.fortran/aligned1.f03: Same.
5608 * testsuite/libgomp.fortran/condinc1.f: Same.
5609 * testsuite/libgomp.fortran/condinc3.f90: Same.
5610 * testsuite/libgomp.fortran/crayptr1.f90: Same.
5611 * testsuite/libgomp.fortran/crayptr2.f90: Same.
5612 * testsuite/libgomp.fortran/crayptr3.f90: Same.
5613 * testsuite/libgomp.fortran/omp_cond1.f: Same.
5614 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5615 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5616 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5617 * testsuite/libgomp.fortran/recursion1.f90: Same.
5618 * testsuite/libgomp.fortran/target2.f90: Same.
5619 * testsuite/libgomp.fortran/target5.f90: Same.
5620 * testsuite/libgomp.fortran/task3.f90: Same.
5621
7d6206fe
TV
56222017-09-28 Tom de Vries <tom@codesourcery.com>
5623
5624 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5625 vector_length(32) clause from acc parallel directive.
5626 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5627
84c8627c
TV
56282017-09-27 Tom de Vries <tom@codesourcery.com>
5629
5630 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5631 Remove acc_device_nvidia references.
5632
ebc6a85e
TV
56332017-09-16 Tom de Vries <tom@codesourcery.com>
5634
5635 PR c/81875
5636 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5637
82419efb
TV
56382017-09-14 Tom de Vries <tom@codesourcery.com>
5639
5640 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5641 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5642 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5643 * testsuite/libgomp.c/c.exp: Include test-cases from
5644 libgomp.c-c++-common.
5645 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
5646 files.
5647
8b586510
JJ
56482017-09-14 Jakub Jelinek <jakub@redhat.com>
5649
5650 PR c++/81314
5651 * testsuite/libgomp.c++/pr81314.C: New test.
5652
9651fbaf
GP
56532017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
5654
5655 * libgomp.texi (Top): www.openacc.org now uses https.
5656 (Enabling OpenACC): Ditto.
5657 (acc_get_num_devices): Ditto.
5658 (acc_set_device_type): Ditto.
5659 (acc_get_device_type): Ditto.
5660 (acc_set_device_num): Ditto.
5661 (acc_get_device_num): Ditto.
5662 (acc_async_test): Ditto.
5663 (acc_async_test_all): Ditto.
5664 (acc_wait): Ditto.
5665 (acc_wait_all): Ditto.
5666 (acc_wait_all_async): Ditto.
5667 (acc_wait_async): Ditto.
5668 (acc_init): Ditto.
5669 (acc_shutdown): Ditto.
5670 (acc_on_device): Ditto.
5671 (acc_malloc): Ditto.
5672 (acc_free): Ditto.
5673 (acc_copyin): Ditto.
5674 (acc_present_or_copyin): Ditto.
5675 (acc_create): Ditto.
5676 (acc_present_or_create): Ditto.
5677 (acc_copyout): Ditto.
5678 (acc_delete): Ditto.
5679 (acc_update_device): Ditto.
5680 (acc_update_self): Ditto.
5681 (acc_map_data): Ditto.
5682 (acc_unmap_data): Ditto.
5683 (acc_deviceptr): Ditto.
5684 (acc_hostptr): Ditto.
5685 (acc_is_present): Ditto.
5686 (acc_memcpy_to_device): Ditto.
5687 (acc_memcpy_from_device): Ditto.
5688 (acc_get_current_cuda_device): Ditto.
5689 (acc_get_current_cuda_context): Ditto.
5690 (acc_get_cuda_stream): Ditto.
5691 (acc_set_cuda_stream): Ditto.
5692 (ACC_DEVICE_TYPE): Ditto.
5693 (ACC_DEVICE_NUM): Ditto.
5694 (OpenACC Library Interoperability): Ditto.
5695
50aa16c3
JJ
56962017-08-09 Jakub Jelinek <jakub@redhat.com>
5697
5698 PR c/81687
5699 * testsuite/libgomp.c/pr81687-1.c: New test.
5700 * testsuite/libgomp.c/pr81687-2.c: New test.
5701
56b5041c
JJ
57022017-08-07 Jakub Jelinek <jakub@redhat.com>
5703
5704 PR c/69389
5705 * testsuite/libgomp.c/pr69389.c: New test.
5706 * testsuite/libgomp.c++/pr69389.C: New test.
5707
f4c222c0
TV
57082017-08-07 Tom de Vries <tom@codesourcery.com>
5709
5710 PR middle-end/78266
5711 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5712 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5713
a40ff0ae
JJ
57142017-07-27 Jakub Jelinek <jakub@redhat.com>
5715
5716 PR c/45784
5717 * testsuite/libgomp.c/pr45784.c: New test.
5718 * testsuite/libgomp.c++/pr45784.C: New test.
5719
3717fbe3
TV
57202017-07-19 Tom de Vries <tom@codesourcery.com>
5721
5722 * testsuite/libgomp.oacc-c/vec.c: New test.
5723
9607b014
TV
57242017-07-03 Tom de Vries <tom@codesourcery.com>
5725
5726 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5727
dfb15f6b
TV
57282017-06-27 Tom de Vries <tom@codesourcery.com>
5729
5730 * plugin/plugin-nvptx.c (notify_var): New function.
5731 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5732
22f1a037
TV
57332017-06-27 Tom de Vries <tom@codesourcery.com>
5734
5735 * env.c (parse_unsigned_long_1): Factor out of ...
5736 (parse_unsigned_long): ... here.
5737 (parse_int_1): Factor out of ...
5738 (parse_int): ... here.
5739 (parse_int_secure): New function.
5740 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5741 * secure_getenv.h: Factor out of ...
5742 * plugin/plugin-hsa.c: ... here.
5743 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5744
d54d1fc3
JJ
57452017-06-21 Jakub Jelinek <jakub@redhat.com>
5746
5747 PR c++/81130
5748 * testsuite/libgomp.c++/pr81130.C: New test.
5749
4f4b0ab8
RO
57502017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5751
5752 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5753 default args.
5754 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5755 dg-xfail-run-if default args.
5756
40ffd95f
BE
57572017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5758
5759 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5760 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5761
01275e1e
JJ
57622017-05-30 Jakub Jelinek <jakub@redhat.com>
5763
5764 PR libgomp/80822
5765 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5766 (gomp_affinity_init_level): Use it. Always analyze the core and thread
5767 sibling lists, depending on level just pick up what CPUs to put
5768 together into a place vs. whether add multiple ordered places.
5769
78672bd8
TS
57702017-05-24 Thomas Schwinge <thomas@codesourcery.com>
5771
7ce64403
TS
5772 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5773 * libgomp.map (OACC_2.0.1): Add these.
5774 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5775 for "acc_wait", and "acc_wait_all", respectively.
5776 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5777 for "acc_wait", and "acc_wait_all", respectively.
5778 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5779 * libgomp.texi (acc_wait, acc_wait_all): Update.
5780 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5781 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5782 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5783
318686c2
TS
5784 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5785 acc_present_or_copyin and acc_present_or_create procedures,
5786 respectively.
5787 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5788 generally different variants of OpenACC Runtime Library functions.
5789 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5790
a6745534
TS
5791 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5792 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5793
9b94fbc7
TS
5794 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5795 of preprocessor definitions.
5796 * libgomp.h (strong_alias): Guard by "#ifdef
5797 HAVE_ATTRIBUTE_ALIAS".
5798 * oacc-mem.c: Provide "acc_pcreate" as alias for
5799 "acc_present_or_create", and "acc_pcopyin" as alias for
5800 "acc_present_or_copyin".
5801 * libgomp.map: New version "OACC_2.0.1".
5802 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5803 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5804 its content into...
5805 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5806 Extend testing.
5807
78672bd8
TS
5808 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5809 when disabling nvptx offloading.
5810
0c36d0d5
TS
58112017-05-23 Thomas Schwinge <thomas@codesourcery.com>
5812
fd71a9a2
TS
5813 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5814 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5815 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5816
0c36d0d5
TS
5817 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5818 * testsuite/lib/libgomp.exp
5819 (check_effective_target_openacc_nvidia_accel_configured): New
5820 proc.
5821 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5822 (check_effective_target_c++): New procs.
5823 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5824 (check_effective_target_c++): Likewise.
5825
c24783c4
JJ
58262017-05-22 Jakub Jelinek <jakub@redhat.com>
5827
655e5265
JJ
5828 PR middle-end/80809
5829 * testsuite/libgomp.c/pr80809-2.c: New test.
5830 * testsuite/libgomp.c/pr80809-3.c: New test.
5831
e9e2ef9f
JJ
5832 PR middle-end/80809
5833 * testsuite/libgomp.c/pr80809-1.c: New test.
5834
c24783c4
JJ
5835 PR middle-end/80853
5836 * testsuite/libgomp.c/pr80853.c: New test.
5837
0da2f96a
TS
58382017-05-19 Thomas Schwinge <thomas@codesourcery.com>
5839
7fd549d2
TS
5840 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5841 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5842 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5843 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5844 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5845
0da2f96a
TS
5846 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5847 Debug output for failure.
5848
62ffe920
RO
58492017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5850
5851 * testsuite/lib/libgomp.exp: Load scanlang.exp.
5852
f49215b1
JJ
58532017-04-27 Jakub Jelinek <jakub@redhat.com>
5854
5855 PR bootstrap/80531
5856 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5857 bootstrap compare failures.
5858
2260d19d
AM
58592017-04-20 Alexander Monakov <amonakov@ispras.ru>
5860
5861 * testsuite/libgomp.c/target-36.c: New testcase.
5862
19929ba9
JJ
58632017-04-13 Jakub Jelinek <jakub@redhat.com>
5864
5865 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5866 instead of char.
5867
fbc698e0
JJ
58682017-04-11 Jakub Jelinek <jakub@redhat.com>
5869
5870 PR libgomp/80394
5871 * testsuite/libgomp.c/pr80394.c: New test.
5872
c4060df4
JJ
58732017-04-04 Jakub Jelinek <jakub@redhat.com>
5874
5875 PR libgomp/79876
5876 * config/posix/thread-stacksize.h: New file.
5877 * config/darwin/thread-stacksize.h: New file.
5878 * config/nvptx/thread-stacksize.h: New file.
5879 * env.c: Include thread-stacksize.h.
5880 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5881 instead of 0. Call pthread_attr_setstacksize even if
5882 GOMP_DEFAULT_STACKSIZE is non-zero.
5883
e02d868a
JJ
58842017-03-30 Jakub Jelinek <jakub@redhat.com>
5885
5886 * env.c (initialize_env): Initialize stacksize to 0.
5887
7ba8651e
CP
58882017-03-22 Cesar Philippidis <cesar@codesourcery.com>
5889
5890 PR c++/80029
5891 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5892
eebc5e2d
JJ
58932017-03-08 Jakub Jelinek <jakub@redhat.com>
5894
5895 PR c/79940
5896 * testsuite/libgomp.c/pr79940.c: New test.
5897
1eb08f52
RO
58982017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5899
5900 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5901 targets.
5902 Add __float128 options.
5903
b0f78ff3
JDA
59042017-02-11 John David Anglin <danglin@gcc.gnu.org>
5905
5906 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5907 hppa*-*-* dg-skip-if directive.
5908
1bbe0d8f
JJ
59092017-02-09 Jakub Jelinek <jakub@redhat.com>
5910
5911 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5912 dg-skip-if directive into a comment.
5913
02889d23
CLT
59142017-02-09 Nathan Sidwell <nathan@codesourcery.com>
5915 Chung-Lin Tang <cltang@codesourcery.com>
5916
5917 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5918 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5919 add additional case.
5920 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5921 "openacc_nvidia_accel_selected".
5922 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5923 Add num_workers(8) clause.
5924
5896a41d
JDA
59252017-02-08 John David Anglin <danglin@gcc.gnu.org>
5926
5927 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5928 hppa*-*-*.
5929 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5930 include complex.h on hppa*-*-hpux*.
5931 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5932
345a8c17
TS
59332017-02-02 Thomas Schwinge <thomas@codesourcery.com>
5934
e70ab10d
TS
5935 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5936
345a8c17
TS
5937 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5938 GOMP_OFFLOAD_openacc_exec. Adjust all users.
5939 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5940 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
5941 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5942 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
5943 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5944 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
5945 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5946 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
5947
dced339c
TS
59482017-01-31 Thomas Schwinge <thomas@codesourcery.com>
5949
5950 * libgomp-plugin.h: #include <stdbool.h>.
5951 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5952 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5953 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5954 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5955 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5956 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5957 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5958 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5959 (GOMP_OFFLOAD_openacc_register_async_cleanup)
5960 (GOMP_OFFLOAD_openacc_async_test)
5961 (GOMP_OFFLOAD_openacc_async_test_all)
5962 (GOMP_OFFLOAD_openacc_async_wait)
5963 (GOMP_OFFLOAD_openacc_async_wait_async)
5964 (GOMP_OFFLOAD_openacc_async_wait_all)
5965 (GOMP_OFFLOAD_openacc_async_wait_all_async)
5966 (GOMP_OFFLOAD_openacc_async_set_async)
5967 (GOMP_OFFLOAD_openacc_create_thread_data)
5968 (GOMP_OFFLOAD_openacc_destroy_thread_data)
5969 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5970 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5971 (GOMP_OFFLOAD_openacc_get_cuda_stream)
5972 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5973 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5974 these.
5975 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5976 (GOMP_OFFLOAD_unload_image): Fix argument types.
5977
23749904
JJ
59782017-01-26 Jakub Jelinek <jakub@redhat.com>
5979
c1cadde1
JJ
5980 * testsuite/lib/libgomp.exp
5981 (check_effective_target_hsa_offloading_selected_nocache): Fix up
5982 check_compile invocation. Fix up removal of executable. Drop
5983 bogus "2>&1" argument.
5984
23749904
JJ
5985 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5986 directive.
5987
59882017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
5989 Martin Jambor <mjambor@suse.cz>
5990
5991 * plugin/hsa.h: Moved to top level include.
5992 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
5993
73aa401e
JJ
59942017-01-21 Jakub Jelinek <jakub@redhat.com>
5995
5996 PR other/79046
5997 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
5998 of cat to get version from BASE-VER file.
5999 * testsuite/Makefile.in: Regenerated.
6000
b32e85fa
JJ
60012017-01-19 Jakub Jelinek <jakub@redhat.com>
6002
6003 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
6004 for _WIN64.
6005
3c36aa6b
JJ
60062017-01-17 Jakub Jelinek <jakub@redhat.com>
6007
d190d5c0
JJ
6008 * plugin/hsa.h: Add GCC runtime library exception.
6009 * plugin/hsa_ext_finalize.h: Likewise.
6010
2393d337
JJ
6011 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
6012 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
6013 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
6014 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
6015 plugin/include/cuda as include dir and -ldl instead of -lcuda as
6016 library to link ptx plugin against.
6017 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
6018 (CUDA_CALLS): Define.
6019 (cuda_lib, cuda_lib_inited): New variables.
6020 (init_cuda_lib): New function.
6021 (CUDA_CALL_PREFIX): Define.
6022 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
6023 (CUDA_CALL): Use FN instead of (FN).
6024 (CUDA_CALL_NOCHECK): Define.
6025 (cuda_error, fini_streams_for_device, select_stream_for_async,
6026 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
6027 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
6028 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
6029 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
6030 CUDA_CALL_NOCHECK.
6031 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
6032 CUDA_CALL_NOCHECK.
6033 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
6034 Use CUDA_CALL_NOCHECK.
6035 * plugin/cuda/cuda.h: New file.
6036 * config.h.in: Regenerated.
6037 * configure: Regenerated.
6038
3c36aa6b
JJ
6039 PR other/79046
6040 * configure.ac: Add GCC_BASE_VER.
6041 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
6042 get version from BASE-VER file.
6043 * testsuite/Makefile.in: Regenerated.
6044 * configure: Regenerated.
6045 * Makefile.in: Regenerated.
6046
c508bc2d
FXC
60472017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6048
6049 PR libgomp/60670
6050 * Makefile.am: Make fincludedir multilib-aware.
6051 * Makefile.in: Regenerate.
6052
c1a9c369
JJ
60532017-01-01 Jakub Jelinek <jakub@redhat.com>
6054
cbe34bb5
JJ
6055 Update copyright years.
6056
c1a9c369
JJ
6057 * libgomp.texi: Bump @copying's copyright year.
6058
e7a7f4be
SH
60592016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
6060
6061 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
6062 pthread_spinlock_t instead of gomp_mutex_t lock.
6063 (gomp_get_thread_pool): Likewise.
6064 (gomp_release_thread_pool): Likewise.
6065 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
6066 Likewise.
6067
d313d52c
SH
60682016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
6069
6070 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
6071 thread pool in case nthreads == 1.
6072
630e3c3a
AM
60732016-11-30 Alexander Monakov <amonakov@ispras.ru>
6074
6075 * config/nvptx/env.c: Delete.
6076 * icv.c: Move definitions of ICV variables back ...
6077 * env.c: ...here. Do not compile environment-related functionality if
6078 LIBGOMP_OFFLOADED_ONLY is set.
6079
9e38af5c
AM
60802016-11-30 Alexander Monakov <amonakov@ispras.ru>
6081
6082 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
6083 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
6084 * configure: Regenerate.
6085 * config.h.in: Likewise.
6086
f96b7f1f
AM
60872016-11-30 Alexander Monakov <amonakov@ispras.ru>
6088
6089 * Makefile.in: Regenerate with automake-1.11.6.
6090 * aclocal.m4: Likewise.
6091 * configure: Likewise.
6092 * testsuite/Makefile.in: Likewise.
6093
6a6951b1
AM
60942016-11-28 Alexander Monakov <amonakov@ispras.ru>
6095
6096 * config/nvptx/critical.c: Delete to use generic implementation.
6097
c7ac071f
JH
60982016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
6099
6100 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
6101 ../../affinity.c as fallback.
6102 * config/nvptx/affinity.c: Delete to use fallback implementation.
6103
6103184e 61042016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 6105 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
6106 Dmitry Melnik <dm@ispras.ru>
6107
6108 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
6109 * Makefile.in. Regenerate.
6110 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
6111 (LIBGOMP_USE_PTHREADS): ...here; new define.
6112 * configure: Regenerate.
6113 * config.h.in: Likewise.
6114 * config/posix/affinity.c: Move to...
6115 * affinity.c: ...here (new file). Guard use of Pthreads-specific
6116 interface by LIBGOMP_USE_PTHREADS.
6117 * critical.c: Split out GOMP_atomic_{start,end} into...
6118 * atomic.c: ...here (new file).
6119 * env.c: Split out ICV definitions into...
6120 * icv.c: ...here (new file) and...
6121 * icv-device.c: ...here. New file.
6122 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
6123 (gomp_destroy_lock_30): Ditto.
6124 (gomp_set_lock_30): Ditto.
6125 (gomp_unset_lock_30): Ditto.
6126 (gomp_test_lock_30): Ditto.
6127 (gomp_init_nest_lock_30): Ditto.
6128 (gomp_destroy_nest_lock_30): Ditto.
6129 (gomp_set_nest_lock_30): Ditto.
6130 (gomp_unset_nest_lock_30): Ditto.
6131 (gomp_test_nest_lock_30): Ditto.
6132 * lock.c: New.
6133 * config/nvptx/lock.c: New.
6134 * config/nvptx/bar.c: New.
6135 * config/nvptx/bar.h: New.
6136 * config/nvptx/doacross.h: New.
6137 * config/nvptx/error.c: New.
6138 * config/nvptx/icv-device.c: New.
6139 * config/nvptx/mutex.h: New.
6140 * config/nvptx/pool.h: New.
6141 * config/nvptx/proc.c: New.
6142 * config/nvptx/ptrlock.h: New.
6143 * config/nvptx/sem.h: New.
6144 * config/nvptx/simple-bar.h: New.
6145 * config/nvptx/target.c: New.
6146 * config/nvptx/task.c: New.
6147 * config/nvptx/team.c: New.
6148 * config/nvptx/time.c: New.
6149 * config/posix/simple-bar.h: New.
6150 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
6151 (gomp_num_teams_var): Declare.
6152 (struct gomp_thread_pool): Change threads_dock member to
6153 gomp_simple_barrier_t.
6154 [__nvptx__] (gomp_thread): New implementation.
6155 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
6156 (gomp_thread_destructor): Ditto.
6157 (gomp_init_thread_affinity): Ditto.
6158 * team.c: Guard uses of Pthreads-specific interfaces by
6159 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
6160 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
6161 * config/nvptx/alloc.c: Delete.
6162 * config/nvptx/barrier.c: Ditto.
6163 * config/nvptx/fortran.c: Ditto.
6164 * config/nvptx/iter.c: Ditto.
6165 * config/nvptx/iter_ull.c: Ditto.
6166 * config/nvptx/loop.c: Ditto.
6167 * config/nvptx/loop_ull.c: Ditto.
6168 * config/nvptx/ordered.c: Ditto.
6169 * config/nvptx/parallel.c: Ditto.
6170 * config/nvptx/priority_queue.c: Ditto.
6171 * config/nvptx/sections.c: Ditto.
6172 * config/nvptx/single.c: Ditto.
6173 * config/nvptx/splay-tree.c: Ditto.
6174 * config/nvptx/work.c: Ditto.
6175 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
6176 -foffload=-lgfortran in addition to -lgfortran.
6177 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
6178 * plugin/plugin-nvptx.c: Include <limits.h>.
6179 (struct targ_fn_descriptor): Add new fields.
6180 (struct ptx_device): Ditto. Set them...
6181 (nvptx_open_device): ...here.
6182 (nvptx_adjust_launch_bounds): New.
6183 (nvptx_host2dev): Allow NULL 'nvthd'.
6184 (nvptx_dev2host): Ditto.
6185 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
6186 (link_ptx): Adjust log sizes.
6187 (nvptx_host2dev): Allow NULL 'nvthd'.
6188 (nvptx_dev2host): Ditto.
6189 (nvptx_set_clocktick): New. Use it...
6190 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
6191 fields.
6192 (GOMP_OFFLOAD_dev2dev): New.
6193 (nvptx_adjust_launch_bounds): New.
6194 (nvptx_stacks_size): New.
6195 (nvptx_stacks_alloc): New.
6196 (nvptx_stacks_free): New.
6197 (GOMP_OFFLOAD_run): New.
6198 (GOMP_OFFLOAD_async_run): New (stub).
6199
56b1c60e
MJ
62002016-11-23 Martin Jambor <mjambor@suse.cz>
6201
6202 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
6203 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6204 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6205
b8d89b03 62062016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 6207 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
6208
6209 * plugin/hsa.h: New file.
6210 * plugin/hsa_ext_finalize.h: New file.
6211 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
6212 header file unistd.h, and functions secure_getenv, __secure_getenv,
6213 getuid, geteuid, getgid and getegid.
6214 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
6215 -D_GNU_SOURCE.
6216 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
6217 Handle various cases of secure_getenv presence, add an implementation
6218 when we can test effective UID and GID.
6219 (struct hsa_runtime_fn_info): New structure.
6220 (hsa_runtime_fn_info hsa_fns): New variable.
6221 (hsa_runtime_lib): Likewise.
6222 (support_cpu_devices): Likewise.
6223 (init_enviroment_variables): Load newly introduced ENV
6224 variables.
6225 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
6226 (hsa_fatal): Likewise.
6227 (DLSYM_FN): New macro.
6228 (init_hsa_runtime_functions): New function.
6229 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
6230 structure. Depending on environment, also allow CPU devices.
6231 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
6232 (get_kernarg_memory_region): Likewise.
6233 (GOMP_OFFLOAD_init_device): Likewise.
6234 (destroy_hsa_program): Likewise.
6235 (init_basic_kernel_info): New function.
6236 (GOMP_OFFLOAD_load_image): Use it.
6237 (create_and_finalize_hsa_program): Call hsa run-time functions via
6238 hsa_fns structure.
6239 (create_single_kernel_dispatch): Likewise.
6240 (release_kernel_dispatch): Likewise.
6241 (init_single_kernel): Likewise.
6242 (parse_target_attributes): Allow up multiple HSA grid dimensions.
6243 (get_group_size): New function.
6244 (run_kernel): Likewise.
6245 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
6246 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
6247 structure.
6248 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
6249 * testsuite/libgomp-test-support.exp.in: Likewise.
6250 * Makefile.in: Regenerated.
6251 * aclocal.m4: Likewise.
6252 * config.h.in: Likewise.
6253 * configure: Likewise.
6254 * testsuite/Makefile.in: Likewise.
6255
18d2ada8 62562016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 6257 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
6258
6259 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
6260 mapping clauses to target constructs.
6261 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
6262
84c1b9d3
MK
62632016-11-15 Matthias Klose <doko@ubuntu.com>
6264
6265 * configure: Regenerate.
6266
b4c3a85b
JJ
62672016-11-10 Jakub Jelinek <jakub@redhat.com>
6268
8ebd1b31
JJ
6269 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
6270 * omp_lib.h.in (openmp_version): Likewise.
6271 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
6272 of 201307.
6273 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6274
b4c3a85b
JJ
6275 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
6276 (fib_wrapper): Add map(from: x) clause.
6277 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
6278 (e_53_2): Likewise.
6279 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
6280 (accum): Add map(tmp) clause.
6281 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
6282 (accum): Add map(tofrom: tmp) clause.
6283 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
6284 (gramSchmidt): Likewise.
6285 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
6286 map(tofrom: sum) clause.
6287 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
6288 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
6289 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
6290 only allowed on the loop iterator.
6291 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
6292 * testsuite/libgomp.fortran/taskloop2.f90: New test.
6293 * testsuite/libgomp.fortran/taskloop4.f90: New test.
6294 * testsuite/libgomp.fortran/doacross1.f90: New test.
6295 * testsuite/libgomp.fortran/doacross3.f90: New test.
6296 * testsuite/libgomp.fortran/taskloop1.f90: New test.
6297 * testsuite/libgomp.fortran/taskloop3.f90: New test.
6298 * testsuite/libgomp.fortran/doacross2.f90: New test.
6299 * testsuite/libgomp.c/doacross-1.c (main): Add missing
6300 #pragma omp atomic read.
6301 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6302 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
6303
6668eb45
CP
63042016-11-02 Cesar Philippidis <cesar@codesourcery.com>
6305 Nathan Sidwell <nathan@acm.org>
6306
6307 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
6308 to determine default geometry.
6309 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
6310 dimension.
6311
f10e37a1
JJ
63122016-11-01 Jakub Jelinek <jakub@redhat.com>
6313
6314 * hashtab.h: Use standard GPLv3 with runtime exception
6315 boilerplate.
6316
015c7760
AH
63172016-10-27 Aldy Hernandez <aldyh@redhat.com>
6318
6319 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
6320 size when allocating new thread.
6321
20a1e5b8
MP
63222016-09-14 Marek Polacek <polacek@redhat.com>
6323
6324 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
6325
1cad9284
JJ
63262016-08-19 Jakub Jelinek <jakub@redhat.com>
6327
6328 PR fortran/71014
6329 * testsuite/libgomp.fortran/pr71014.f90: New test.
6330
2c71d454
CLT
63312016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
6332
6333 PR middle-end/70895
6334 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
6335 firstprivate clauses.
6336 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
6337 copy clauses.
6338 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6339 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
6340 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
6341 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6342 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6343 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6344 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6345 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6346 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6347 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6348 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6349 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
6350
7c713714
CLT
63512016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
6352
6353 PR fortran/70598
6354 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
6355
5c934396
JJ
63562016-08-08 Jakub Jelinek <jakub@redhat.com>
6357
6358 PR c++/58706
6359 * testsuite/libgomp.c++/pr58706.C: New test.
6360
9ef64248
TS
63612016-08-04 Thomas Schwinge <thomas@codesourcery.com>
6362
bbc79c0e
TS
6363 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
6364 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
6365 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6366 Likewise.
6367 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
6368 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
6369 Likewise.
6370 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
6371
9ef64248
TS
6372 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
6373 test, and don't hardcode -O0.
6374
c1311c86
NS
63752016-08-03 Nathan Sidwell <nathan@codesourcery.com>
6376
6377 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
6378
b1c9c068
CP
63792016-07-15 Cesar Philippidis <cesar@codesourcery.com>
6380
6381 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
6382 test.
6383
b4410f63
L
63842016-07-03 H.J. Lu <hongjiu.lu@intel.com>
6385
6386 PR middle-end/71734
6387 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
6388 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
6389
a8dbab92
JJ
63902016-07-01 Jakub Jelinek <jakub@redhat.com>
6391
6392 PR fortran/71717
6393 * testsuite/libgomp.fortran/associate3.f90: New test.
6394
9b6a8d0f
JJ
63952016-06-17 Jakub Jelinek <jakub@redhat.com>
6396
6397 * testsuite/libgomp.c++/target-21.C: New test.
6398
283635f9
JJ
63992016-06-16 Jakub Jelinek <jakub@redhat.com>
6400
6401 * testsuite/libgomp.c++/target-20.C: New test.
6402
27d6ba88
TS
64032016-06-10 Thomas Schwinge <thomas@codesourcery.com>
6404 Cesar Philippidis <cesar@codesourcery.com>
6405
6406 PR middle-end/71373
6407 * libgomp.oacc-c/nested-function-1.c: New file.
6408 * libgomp.oacc-c/nested-function-2.c: Likewise.
6409 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
6410 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
6411 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
6412
4b1ffdb1
TS
64132016-06-10 Thomas Schwinge <thomas@codesourcery.com>
6414
6415 PR c/71381
6416 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
6417 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
6418 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
6419
d821b794
CLT
64202016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
6421
6422 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
6423 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
6424
3616a8c5
CP
64252016-06-01 Cesar Philippidis <cesar@codesourcery.com>
6426
6427 PR c/70688
5eed9a88 6428 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 6429
7211a097
JJ
64302016-05-26 Jakub Jelinek <jakub@redhat.com>
6431
6432 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
6433 instead of invalid schedule(static, 0).
6434 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6435
b4557008
CLT
64362016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
6437
6438 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
6439 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
6440 parameter, use to set async stream around call to gomp_unmap_vars,
6441 call gomp_unmap_vars() with 'do_copyfrom' set to true.
6442 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
6443 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
6444 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
6445 (event_add): Add int parameter, initialize 'val' field when
6446 adding new ptx_event struct.
6447 (nvptx_evec): Adjust event_add() call arguments.
6448 (nvptx_host2dev): Likewise.
6449 (nvptx_dev2host): Likewise.
6450 (nvptx_wait_async): Likewise.
6451 (nvptx_wait_all_async): Likewise.
6452 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
6453 pass to event_add() call.
6454 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
6455 parameter.
6456 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
6457 call openacc.register_async_cleanup_func() hook.
6458 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
6459 * target.c (gomp_copy_from_async): Delete function.
6460 (gomp_map_vars): Remove async_refcount.
6461 (gomp_unmap_vars): Likewise.
6462 (gomp_load_image_to_device): Likewise.
6463 (omp_target_associate_ptr): Likewise.
6464 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
6465 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
6466 (gomp_copy_from_async): Remove.
6467
6ce13072
CLT
64682016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
6469
6470 * target.c (gomp_device_copy): New function.
6471 (gomp_copy_host2dev): Likewise.
6472 (gomp_copy_dev2host): Likewise.
6473 (gomp_free_device_memory): Likewise.
6474 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
6475 (gomp_map_pointer): Likewise.
6476 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
6477 NULL value from alloc_func plugin hook.
6478 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
6479 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
6480 (gomp_unmap_vars): Likewise.
6481 (gomp_update): Adjust to call gomp_copy_dev2host and
6482 gomp_copy_host2dev functions.
6483 (gomp_unload_image_from_device): Handle false value from
6484 unload_image_func plugin hook.
6485 (gomp_init_device): Handle false value from init_device_func
6486 plugin hook.
6487 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
6488 (omp_target_free): Adjust to call gomp_free_device_memory.
6489 (omp_target_memcpy): Handle return values from host2dev_func,
6490 dev2host_func, and dev2dev_func plugin hooks.
6491 (omp_target_memcpy_rect_worker): Likewise.
6492 (gomp_target_fini): Handle false value from fini_device_func
6493 plugin hook.
6494 * libgomp.h (struct gomp_device_descr): Adjust return type of
6495 init_device_func, fini_device_func, unload_image_func, free_func,
6496 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
6497 * oacc-init.c (acc_shutdown_1): Handle false value from
6498 fini_device_func plugin hook.
6499 * oacc-host.c (host_init_device): Change return type to bool.
6500 (host_fini_device): Likewise.
6501 (host_unload_image): Likewise.
6502 (host_free): Likewise.
6503 (host_dev2host): Likewise.
6504 (host_host2dev): Likewise.
6505 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
6506 (acc_memcpy_to_device): Likewise.
6507 (acc_memcpy_from_device): Likewise.
6508 (delete_copyout): Add libfnname parameter, handle free_func
6509 hook fatal error case.
6510 (acc_delete): Adjust delete_copyout call.
6511 (acc_copyout): Likewise.
6512 (update_dev_host): Move gomp_mutex_unlock to after
6513 host2dev/dev2host hook calls.
6514
6515 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
6516 to 'hsa_error_msg', for clarity.
6517 (hsa_fatal): Likewise.
6518 (hsa_error): New function.
6519 (init_hsa_context): Change return type to bool, adjust to return
6520 false on error.
6521 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
6522 return value.
6523 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
6524 return false on error.
6525 (get_agent_info): Adjust to return NULL on error.
6526 (destroy_hsa_program): Change return type to bool, adjust to
6527 return false on error.
6528 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
6529 (destroy_module): Change return type to bool, adjust to
6530 return false on error.
6531 (GOMP_OFFLOAD_unload_image): Likewise.
6532 (GOMP_OFFLOAD_fini_device): Likewise.
6533 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
6534 (GOMP_OFFLOAD_free): Change to return false when called.
6535 (GOMP_OFFLOAD_dev2host): Likewise.
6536 (GOMP_OFFLOAD_host2dev): Likewise.
6537 (GOMP_OFFLOAD_dev2dev): Likewise.
6538
6539 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
6540 (CUDA_CALL): Likewise.
6541 (CUDA_CALL_ASSERT): Likewise.
6542 (map_init): Change return type to bool, use CUDA_CALL* macros.
6543 (map_fini): Likewise.
6544 (init_streams_for_device): Change return type to bool, adjust
6545 call to map_init.
6546 (fini_streams_for_device): Change return type to bool, adjust
6547 call to map_fini.
6548 (select_stream_for_async): Release stream_lock before calls to
6549 GOMP_PLUGIN_fatal, adjust call to map_init.
6550 (nvptx_init): Use CUDA_CALL* macros.
6551 (nvptx_attach_host_thread_to_device): Change return type to bool,
6552 use CUDA_CALL* macros.
6553 (nvptx_open_device): Use CUDA_CALL* macros.
6554 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
6555 macros.
6556 (nvptx_get_num_devices): Use CUDA_CALL* macros.
6557 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
6558 (nvptx_exec): Use CUDA_CALL* macros.
6559 (nvptx_alloc): Use CUDA_CALL* macros.
6560 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
6561 (nvptx_host2dev): Likewise.
6562 (nvptx_dev2host): Likewise.
6563 (nvptx_wait): Use CUDA_CALL* macros.
6564 (nvptx_wait_async): Likewise.
6565 (nvptx_wait_all): Likewise.
6566 (nvptx_wait_all_async): Likewise.
6567 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
6568 use CUDA_CALL* macros, adjust call to map_fini.
6569 (GOMP_OFFLOAD_init_device): Change return type to bool,
6570 adjust code accordingly.
6571 (GOMP_OFFLOAD_fini_device): Likewise.
6572 (GOMP_OFFLOAD_load_image): Adjust calls to
6573 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
6574 use CUDA_CALL* macros.
6575 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
6576 return code.
6577 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
6578 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
6579 handle error return.
6580 (GOMP_OFFLOAD_dev2host): Likewise.
6581 (GOMP_OFFLOAD_host2dev): Likewise.
6582 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
6583 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
6584
e46c7770
CP
65852016-05-24 Cesar Philippidis <cesar@codesourcery.com>
6586
6587 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
6588 (acc_free): Likewise.
6589 (acc_memcpy_to_device): Likewise.
6590 (acc_memcpy_from_device): Likewise.
6591 (acc_deviceptr): Likewise.
6592 (acc_hostptr): Likewise.
6593 (acc_is_present): Likewise.
6594 (acc_map_data): Likewise.
6595 (acc_unmap_data): Likewise.
6596 (present_create_copy): Likewise.
6597 (delete_copyout): Likewise.
6598 (update_dev_host): Likewise.
6599 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6600 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6601 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6602 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6603 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6604 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6605 it only runs on nvptx targets.
6606 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6607 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6608 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6609 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6610 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6611 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6612 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6613 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6614 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6615 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6616 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6617 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6618 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6619 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6620 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6621 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6622 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6623 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6624 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6625 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6626 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6627 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6628 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6629
a5057543
MJ
66302016-05-23 Martin Jambor <mjambor@suse.cz>
6631
6632 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6633
e37288a6
CLT
66342016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
6635
6636 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6637 to gomp_init_targets_once.
6638 (acc_set_device_type): Remove !cached_base_dev condition on call to
6639 gomp_init_targets_once, move call to before acc_device_lock acquire,
6640 to avoid deadlock.
6641 (acc_get_device_num): Remove !cached_base_dev condition on call to
6642 gomp_init_targets_once.
6643 (acc_set_device_num): Likewise.
6644
51d9ed48
MJ
66452016-05-16 Martin Jambor <mjambor@suse.cz>
6646
92a285c1 6647 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 6648
5b37e866
NS
66492016-05-02 Nathan Sidwell <nathan@codesourcery.com>
6650
6651 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6652 expected partitioning.
6653
e7ff0319
CP
66542016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6655
6656 PR middle-end/70626
6657 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6658 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6659 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6660
c2bd3b69
AM
66612016-04-21 Alexander Monakov <amonakov@ispras.ru>
6662
6663 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6664 non-fatal.
6665
84311083
JJ
66662016-04-19 Jakub Jelinek <jakub@redhat.com>
6667
6668 PR middle-end/70680
6669 * testsuite/libgomp.c/pr70680-1.c: New test.
6670 * testsuite/libgomp.c/pr70680-2.c: New test.
6671
aadc043f
CP
66722016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6673
6674 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6675 pass parameter variables to subroutines.
6676
e387fc64
CP
66772016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6678
6679 PR middle-end/70643
6680 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6681
10c3c424
CP
66822016-04-13 Cesar Philippidis <cesar@codesourcery.com>
6683
6684 PR testsuite/68242
6685 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6686 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6687
27f9add3
TS
66882016-04-12 Thomas Schwinge <thomas@codesourcery.com>
6689
58d32aeb
TS
6690 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6691 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6692 GOACC_declare prototype.
6693
d97633ef
TS
6694 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6695 Merge this file, and...
6696 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6697 ... this file, and...
6698 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6699 ... this file, and...
6700 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6701 ... this file, and...
6702 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6703 ... this file, and...
6704 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6705 ... this file, and...
6706 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6707 ... this file, and...
6708 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6709 ... this file, and...
6710 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6711 ... this file, and...
6712 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6713 ... this file, and...
6714 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6715 ... this file, and...
6716 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6717 ... this file, and...
6718 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6719 ... this file into...
6720 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6721 file.
6722
27f9add3
TS
6723 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6724 Make failure observable.
6725
21f3a236
JJ
67262016-04-12 Jakub Jelinek <jakub@redhat.com>
6727
6728 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6729 field.
6730 * target.c (gomp_target_fallback_firstprivate,
6731 gomp_target_unshare_firstprivate): Removed.
6732 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6733 before waiting for dependencies.
6734 (gomp_target_task_fn): Don't copy firstprivate vars here.
6735 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6736 firstprivate_copies here.
6737 (gomp_create_target_task): Don't initialize firstprivate_copies field.
6738 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6739 explicit/implicit firstprivate.
6740
c42cfb5c
CP
67412016-04-08 Cesar Philippidis <cesar@codesourcery.com>
6742
6743 PR lto/70289
6744 PR ipa/70348
6745 PR tree-optimization/70373
6746 PR middle-end/70533
6747 PR middle-end/70534
6748 PR middle-end/70535
6749 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6750 test.
6751 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6752 test.
6753 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6754 test.
6755 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6756 test.
6757 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6758 test.
6759 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6760 test.
6761 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6762 test.
6763 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6764 test.
6765 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6766 test.
6767 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6768 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6769 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6770 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6771 test.
6772 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6773 test.
6774 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6775 test.
6776 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6777 test.
6778 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6779 coverage.
6780 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6781 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6782 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6783 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6784 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6785 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6786 coverage.
6787 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6788 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6789 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6790 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6791 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6792 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6793 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6794 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6795 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6796 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6797 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6798 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6799 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6800 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6801 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6802
2620c80d
TS
68032016-03-30 Thomas Schwinge <thomas@codesourcery.com>
6804 James Norris <jnorris@codesourcery.com>
6805 Nathan Sidwell <nathan@codesourcery.com>
6806 Julian Brown <julian@codesourcery.com>
6807 Cesar Philippidis <cesar@codesourcery.com>
6808 Chung-Lin Tang <cltang@codesourcery.com>
6809 Tom de Vries <tom@codesourcery.com>
6810
6811 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6812 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6813 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6814 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6815 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6816 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6817 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6818 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6819 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6820 XFAIL.
6821 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6822 Incorporate...
6823 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6824 file.
6825 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6826 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6827 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6828 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6829 Likewise.
6830 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6831 Likewise.
6832 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6833 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6834 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6835 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6836 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6837 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6838 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6839 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6840 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6841 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6842 Likewise.
6843 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6844 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6845 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6846 file...
6847 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6848 file into...
6849 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6850 file. Update.
6851 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6852 file.
6853 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6854 Likewise.
6855 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6856 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6857 ... this new file. Update.
6858 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6859 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6860 ... this new file. Update.
6861 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6862 file. Incorporate...
6863 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6864 file, and...
6865 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6866 file, and...
6867 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6868 file.
6869 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6870
ce83104b
TS
68712016-03-29 Thomas Schwinge <thomas@codesourcery.com>
6872
6873 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6874 set-torture-options.
6875
6e0df3b7
TS
68762016-03-24 Thomas Schwinge <thomas@codesourcery.com>
6877
6878 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6879 gcc-dg-runtest.
6880 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6881 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6882 -fno-builtin-acc_on_device instead of -O0.
6883 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6884 -O0.
6885 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6886 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6887 Likewise.
6888 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6889 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6890 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6891 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6892 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6893 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6894 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6895 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6896 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6897 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6898 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6899 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6900 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6901 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6902 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6903 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6904 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6905 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6906 Don't specify -O2.
6907 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6908 Likewise.
6909 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6910 Likewise.
6911
f9c8babb
ML
69122016-03-24 Martin Liska <mliska@suse.cz>
6913
6914 * plugin/plugin-hsa.c (packet_store_release): New function
6915 that is taken from the HSA runtime manual.
6916 (GOMP_OFFLOAD_run): Use the function.
6917
04833609
JJ
69182016-03-23 Jakub Jelinek <jakub@redhat.com>
6919
6920 PR c++/70376
6921 * testsuite/libgomp.c++/pr70376.C: New test.
6922
d79ee524
TV
69232016-03-23 Tom de Vries <tom@codesourcery.com>
6924
6925 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6926 initialization of lresult and lvresult.
6927 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6928
b6d1f2b5
JN
69292016-03-23 James Norris <jnorris@codesourcery.com>
6930 Daichi Fukuoka <dc-fukuoka@sgi.com>
6931
6932 PR libgomp/69414
6933 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6934 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6935 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6936 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6937
7397fce2
ML
69382016-03-23 Martin Liska <mliska@suse.cz>
6939
6940 PR hsa/70337
6941 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6942 argument just in case a dispatched kernel uses that argument.
6943
ee2e7d51
TS
69442016-03-16 Thomas Schwinge <thomas@codesourcery.com>
6945
6946 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6947 -ftree-parallelize-loops/-fopenacc changes.
6948 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6949 Likewise.
6950 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6951 Likewise.
6952 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6953 Likewise.
6954 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6955 Likewise.
6956 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6957 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6958
be9f7143
TS
69592016-03-13 Thomas Schwinge <thomas@codesourcery.com>
6960
6961 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6962 always_ld_library_path the path to libgcc_s.
6963
f6c1032d
CP
69642016-03-10 Cesar Philippidis <cesar@codesourcery.com>
6965
6966 PR testsuite/70009
6967 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6968
5a6452e6
TV
69692016-03-09 Tom de Vries <tom@codesourcery.com>
6970
6971 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6972 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6973 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6974 Same.
6975 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6976 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6977 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6978 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6979
96a71bd5
MJ
69802016-03-07 Martin Jambor <mjambor@suse.cz>
6981
6982 * testsuite/lib/libgomp.exp
6983 (check_effective_target_hsa_offloading_selected_nocache): New.
6984 (check_effective_target_hsa_offloading_selected): Likewise.
6985 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6986 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6987 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6988 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6989 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6990 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6991 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6992 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6993 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6994 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6995 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6996 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6997 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6998 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6999 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7000 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7001 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7002
02e0b5b2
MJ
70032016-03-07 Martin Jambor <mjambor@suse.cz>
7004
7005 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
7006 non-shared memory accelerators.
7007 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
7008 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
7009 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
7010 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
7011 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7012 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7013 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7014 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7015 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7016
45548f30
MJ
70172016-03-07 Martin Jambor <mjambor@suse.cz>
7018
7019 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
7020 ALWAYS_CFLAGS.
7021
da3d46cb
JJ
70222016-03-02 Jakub Jelinek <jakub@redhat.com>
7023
7024 PR libgomp/69555
7025 * testsuite/libgomp.c++/pr69555-1.C: New test.
7026 * testsuite/libgomp.c++/pr69555-2.C: New test.
7027
622174b2
KM
70282016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
7029 Martin Jambor <mjambor@suse.cz>
7030
7031 * testsuite/lib/libgomp.exp
7032 (check_effective_target_offload_device_shared_as): New proc.
7033 * testsuite/libgomp.c++/declare_target-1.C: New test.
7034
e6861a99
IV
70352016-02-25 Ilya Verbin <ilya.verbin@intel.com>
7036
7037 PR driver/68463
7038 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
7039
f99c3557
TS
70402016-02-23 Thomas Schwinge <thomas@codesourcery.com>
7041
7042 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
7043 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
7044 dims.
7045 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
7046 -ftree-parallelize-loops/-fopenacc changes.
7047 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
7048 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
7049 Likewise.
7050 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
7051 Likewise.
7052 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
7053 Likewise.
7054 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
7055 Likewise.
7056 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
7057 Likewise.
7058 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
7059 Likewise.
7060 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
7061 Likewise.
7062 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
7063 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
7064 Likewise.
7065 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
7066 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
7067 Likewise.
7068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
7069 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
7070 Likewise.
7071
d5ace3b5
CP
70722016-02-22 Cesar Philippidis <cesar@codesourcery.com>
7073
7074 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
7075
f3609a89
JJ
70762016-02-19 Jakub Jelinek <jakub@redhat.com>
7077
7078 PR driver/69805
7079 * testsuite/libgomp.c/pr69805.c: New test.
7080
2175df99
TV
70812016-02-16 Tom de Vries <tom@codesourcery.com>
7082
7083 PR lto/67709
7084 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
7085
17b6426c
TV
70862016-02-09 Tom de Vries <tom@codesourcery.com>
7087
7088 PR tree-optimization/69599
7089 * testsuite/libgomp.c/omp-nested-3.c: New test.
7090 * testsuite/libgomp.c/pr46032-2.c: New test.
7091 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
7092 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
7093
34df756c
TV
70942016-02-09 Tom de Vries <tom@codesourcery.com>
7095
7096 PR lto/69707
7097 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
7098
5854ee30
AM
70992016-02-02 Alexander Monakov <amonakov@ispras.ru>
7100
7101 * testsuite/libgomp.c/target-31.c: Fix testcase.
7102
e70b6ad7
AM
71032016-02-02 Alexander Monakov <amonakov@ispras.ru>
7104
7105 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
7106 clause.
7107 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
7108 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
7109 reduction and map clauses.
7110 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7111
bd78a45f
JN
71122016-02-02 James Norris <jnorris@codesourcery.com>
7113
7114 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
7115
41d809d3
TS
71162016-02-02 Thomas Schwinge <thomas@codesourcery.com>
7117
18f60146
TS
7118 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
7119 * oacc-parallel.c (GOACC_host_data): Remove function definition.
7120
1a06f5e6
TS
7121 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
7122 cases.
7123
033ff3d1
TS
7124 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
7125 variables.
7126 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
7127 (hsa_kmt_lib): Set variables.
7128 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
7129 always_ld_library_path.
7130 * Makefile.in: Regenerate.
7131 * configure: Likewise.
7132 * testsuite/Makefile.in: Likewise.
7133
4a88d9b7
TS
7134 * plugin/configfrag.ac (offload_additional_options)
7135 (offload_additional_lib_paths): Don't amend for hsa offloading.
7136 * configure: Regenerate.
7137
41d809d3
TS
7138 * plugin/configfrag.ac: Don't configure for offloading target if
7139 we don't build the corresponding plugin.
7140 * configure: Regenerate.
7141
b6adbb9f
NS
71422016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7143
7144 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
7145 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
7146
8dfdb419
TV
71472016-01-26 Tom de Vries <tom@codesourcery.com>
7148
7149 PR tree-optimization/69110
7150 * testsuite/libgomp.c/pr69110.c: New test.
7151
02ef53f2
RB
71522016-01-25 Richard Biener <rguenther@suse.de>
7153
7154 PR lto/69393
7155 * testsuite/libgomp.c++/pr69393.C: New testcase.
7156
eb4048f2
IV
71572016-01-22 Ilya Verbin <ilya.verbin@intel.com>
7158
7159 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
7160 function wasn't mapped to the device with non-shared memory.
7161
b235cdd5
IV
71622016-01-20 Ilya Verbin <ilya.verbin@intel.com>
7163
7164 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
7165
b2b40051
MJ
71662016-01-19 Martin Jambor <mjambor@suse.cz>
7167 Martin Liska <mliska@suse.cz>
7168
7169 * plugin/Makefrag.am: Add HSA plugin requirements.
7170 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
7171 (HSA_RUNTIME_LIB): Likewise.
7172 (HSA_RUNTIME_CPPFLAGS): Likewise.
7173 (HSA_RUNTIME_INCLUDE): New substitution.
7174 (HSA_RUNTIME_LIB): Likewise.
7175 (HSA_RUNTIME_LDFLAGS): Likewise.
7176 (hsa-runtime): New configure option.
7177 (hsa-runtime-include): Likewise.
7178 (hsa-runtime-lib): Likewise.
7179 (PLUGIN_HSA): New substitution variable.
7180 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
7181 configure options.
7182 (PLUGIN_HSA_CPPFLAGS): Likewise.
7183 (PLUGIN_HSA_LDFLAGS): Likewise.
7184 (PLUGIN_HSA_LIBS): Likewise.
7185 Check that we have access to HSA run-time.
7186 * libgomp-plugin.h (offload_target_type): New element
7187 OFFLOAD_TARGET_TYPE_HSA.
7188 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
7189 args.
7190 (bool gomp_create_target_task): Updated.
7191 (gomp_device_descr): Extra parameter of run_func and async_run_func,
7192 new field can_run_func.
7193 * libgomp_g.h (GOMP_target_ext): Update prototype.
7194 * oacc-host.c (host_run): Added a new parameter args.
7195 * target.c (calculate_firstprivate_requirements): New function.
7196 (copy_firstprivate_data): Likewise.
7197 (gomp_target_fallback_firstprivate): Use them.
7198 (gomp_target_unshare_firstprivate): New function.
7199 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
7200 devices.
7201 (GOMP_target): Do host fallback for all shared memory devices. Do not
7202 pass any args to plugins.
7203 (GOMP_target_ext): Introduce device-specific argument parameter args.
7204 Allow host fallback if device shares memory. Do not remap data if
7205 device has shared memory.
7206 (gomp_target_task_fn): Likewise. Also treat shared memory devices
7207 like host fallback for mappings.
7208 (GOMP_target_data): Treat shared memory devices like host fallback.
7209 (GOMP_target_data_ext): Likewise.
7210 (GOMP_target_update): Likewise.
7211 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
7212 gomp_create_target_task.
7213 (GOMP_target_enter_exit_data): Likewise.
7214 (omp_target_alloc): Treat shared memory devices like host fallback.
7215 (omp_target_free): Likewise.
7216 (omp_target_is_present): Likewise.
7217 (omp_target_memcpy): Likewise.
7218 (omp_target_memcpy_rect): Likewise.
7219 (omp_target_associate_ptr): Likewise.
7220 (gomp_load_plugin_for_device): Also load can_run.
7221 * task.c (GOMP_PLUGIN_target_task_completion): Free
7222 firstprivate_copies.
7223 (gomp_create_target_task): Accept new argument args and store it to
7224 ttask.
7225 * plugin/plugin-hsa.c: New file.
7226
5d7804a9
TV
72272016-01-18 Tom de Vries <tom@codesourcery.com>
7228
7229 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
7230 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
7231 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
7232 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
7233 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
7234 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
7235 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
7236 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
7237 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
7238 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
7239 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7240 Same.
7241 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7242 Same.
7243 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
7244 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
7245 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
7246 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
7247 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
7248 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
7249 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
7250 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7251 Same.
7252 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
7253
cb11f3cf
JJ
72542016-01-15 Jakub Jelinek <jakub@redhat.com>
7255
7256 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
7257
33a126a6
CP
72582016-01-15 Cesar Philippidis <cesar@codesourcery.com>
7259
7260 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
7261
cdf6119d
JN
72622016-01-12 James Norris <jnorris@codesourcery.com>
7263
7264 * libgomp.texi: Updates for OpenACC.
7265
0d58938e
AM
72662016-01-11 Alexander Monakov <amonakov@ispras.ru>
7267
7268 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
7269
95918b49
L
72702016-01-07 H.J. Lu <hongjiu.lu@intel.com>
7271
7272 PR fortran/66680
7273 * testsuite/libgomp.fortran/pr66680.f90: New test.
7274
8fc708b7
JJ
72752016-01-07 Jakub Jelinek <jakub@redhat.com>
7276
7277 PR middle-end/68960
7278 * testsuite/libgomp.c/pr68960.c: New test.
7279
e9b596c1
NS
72802016-01-06 Nathan Sidwell <nathan@acm.org>
7281
1a14faf2 7282 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
7283 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
7284
21fa2a29
JJ
72852016-01-04 Jakub Jelinek <jakub@redhat.com>
7286
818ab71a
JJ
7287 Update copyright years.
7288
21fa2a29
JJ
7289 * libgomp.texi: Bump @copying's copyright year.
7290
9310efbc
NS
72912015-12-31 Nathan Sidwell <nathan@acm.org>
7292
7293 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
7294 dg-additional-options syntax.
7295 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
7296 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
7297 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
7298 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7299 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
7300 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
7301 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
7302 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
7303 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
7304 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
7305 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7306 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
7307 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
7308 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
7309 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
7310 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
7311 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7312 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7313
4a38b02b
IV
73142015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7315
7316 * libgomp.h (REFCOUNT_LINK): Define.
7317 (struct splay_tree_key_s): Add link_key.
7318 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
7319 Replace target address of the pointer with target address of newly
7320 mapped object in the splay tree. Set link pointer on target to the
7321 device address of the mapped object.
7322 (gomp_unmap_vars): Restore target address of the pointer in the splay
7323 tree for REFCOUNT_LINK objects after unmapping.
7324 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
7325 declare target link" objects.
7326 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
7327 "omp declare target link" objects, which were mapped for the image.
7328 (gomp_exit_data): Restore target address of the pointer in the splay
7329 tree for REFCOUNT_LINK objects after unmapping.
7330 * testsuite/libgomp.c/target-link-1.c: New file.
7331
d84ffc0a
IV
73322015-12-14 Ilya Verbin <ilya.verbin@intel.com>
7333
7334 * libgomp.h (gomp_device_state): New enum.
7335 (struct gomp_device_descr): Replace is_initialized with state.
7336 (gomp_fini_device): Remove declaration.
7337 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
7338 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
7339 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
7340 (acc_set_device_type): Use state instead of is_initialized.
7341 (acc_set_device_num): Likewise.
7342 * target.c (resolve_device): Use state instead of is_initialized.
7343 Do not initialize finalized device.
7344 (gomp_map_vars): Do nothing if device is finalized.
7345 (gomp_unmap_vars): Likewise.
7346 (gomp_update): Likewise.
7347 (GOMP_offload_register_ver): Use state instead of is_initialized.
7348 (GOMP_offload_unregister_ver): Likewise.
7349 (gomp_init_device): Likewise.
7350 (gomp_unload_device): Likewise.
7351 (gomp_fini_device): Remove.
7352 (gomp_get_target_fn_addr): Do nothing if device is finalized.
7353 (GOMP_target): Go to host fallback if device is finalized.
7354 (GOMP_target_ext): Likewise.
7355 (gomp_exit_data): Do nothing if device is finalized.
7356 (gomp_target_task_fn): Go to host fallback if device is finalized.
7357 (gomp_target_fini): New static function.
7358 (gomp_target_init): Use state instead of is_initialized.
7359 Call gomp_target_fini at exit.
7360
76680678
TV
73612015-12-09 Tom de Vries <tom@codesourcery.com>
7362
7363 PR tree-optimization/68716
7364 * testsuite/libgomp.c/omp-nested-2.c: New test.
7365
ff7a55bf
TS
73662015-12-02 Thomas Schwinge <thomas@codesourcery.com>
7367
7368 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
7369 target openacc_nvidia_accel_selected.
7370 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
7371 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
7372 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
7373 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
7374
37d5ad46
JB
73752015-12-01 Julian Brown <julian@codesourcery.com>
7376 James Norris <James_Norris@mentor.com>
7377
7378 * oacc-parallel.c (GOACC_host_data): New function.
7379 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
7380 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
7381 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
7382 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
7383 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
7384 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
7385 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
7386
db941d7e
CP
73872015-11-30 James Norris <jnorris@codesourcery.com>
7388 Cesar Philippidis <cesar@codesourcery.com>
7389
7390 libgomp/
7391 * libgomp.oacc-fortran/routine-5.f90: New test.
7392 * libgomp.oacc-fortran/routine-7.f90: New test.
7393 * libgomp.oacc-fortran/routine-9.f90: New test.
7394
e0ca27c5
TV
73952015-11-30 Tom de Vries <tom@codesourcery.com>
7396
7397 PR tree-optimization/46032
7398 * testsuite/libgomp.c/pr46032.c: New test.
7399
aec17bfe
JJ
74002015-11-27 Jakub Jelinek <jakub@redhat.com>
7401
8e4e4719
JJ
7402 PR libgomp/68579
7403 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
7404 (gomp_create_target_task): Call it before freeing
7405 GOMP_TARGET_TASK_DATA tasks.
7406
aec17bfe
JJ
7407 PR c/63326
7408 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
7409 in between case label and OpenMP standalone directives.
7410 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
7411
6cfe90e6
DE
74122015-11-26 David Edelsohn <dje.gcc@gmail.com>
7413
7414 * configure: Regenerate.
7415
0e65fd7d
JJ
74162015-11-26 Jakub Jelinek <jakub@redhat.com>
7417
7418 * testsuite/libgomp.c/target-35.c: New test.
7419
dc7a8b4b
JN
74202015-11-22 James Norris <jnorris@codesourcery.com>
7421 Cesar Philippidis <cesar@codesourcery.com>
7422
7423 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
7424 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7425 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7426 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7427 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7428
48a78aee
JJ
74292015-11-20 Jakub Jelinek <jakub@redhat.com>
7430
7431 PR middle-end/68221
7432 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
7433 * testsuite/libgomp.c/reduction-12.c: Likewise.
7434 * testsuite/libgomp.c++/reduction-11.C: Likewise.
7435 * testsuite/libgomp.c++/reduction-12.C: Likewise.
7436
2d256816
NS
74372015-11-19 Nathan Sidwell <nathan@codesourcery.com>
7438
7439 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
7440 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
7441 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
7442 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
7443 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
7444 and fix.
7445 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7446 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7447
33f47f42
NS
74482015-11-18 Nathan Sidwell <nathan@codesourcery.com>
7449
7450 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
7451 worker & gang cases.
7452 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7453
3d7bfee0
CP
74542015-11-17 Cesar Philippidis <cesar@codesourcery.com>
7455
7456 * config/nvptx/priority_queue.c: New file.
7457
00b9bd52
JJ
74582015-11-14 Jakub Jelinek <jakub@redhat.com>
7459
7460 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
7461 sections.
7462
e4606348
JJ
74632015-11-14 Jakub Jelinek <jakub@redhat.com>
7464 Aldy Hernandez <aldyh@redhat.com>
7465 Ilya Verbin <ilya.verbin@intel.com>
7466
7467 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
7468 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
7469 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
7470 iterators or IV by chunk size.
7471 * parallel.c (gomp_resolve_num_threads): Don't assume that
7472 if thr->ts.team is non-NULL, then pool must be non-NULL.
7473 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
7474 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
7475 GOMP_PLUGIN_target_task_completion.
7476 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
7477 * Makefile.in: Regenerate.
7478 * libgomp.h: Shuffle prototypes and forward definitions around so
7479 priority queues can be defined.
7480 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
7481 (enum gomp_target_task_state): New enum.
7482 (struct gomp_target_task): Add state, tgt, task and team fields.
7483 (gomp_create_target_task): Change return type to bool, add
7484 state argument.
7485 (gomp_target_task_fn): Change return type to bool.
7486 (struct gomp_device_descr): Add async_run_func.
7487 (struct gomp_task): Remove children, next_child, prev_child,
7488 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
7489 Add pnode field.
7490 (struct gomp_taskgroup): Remove children.
7491 Add taskgroup_queue.
7492 (struct gomp_team): Change task_queue type to a priority queue.
7493 (splay_compare): Define inline.
7494 (priority_queue_offset): New.
7495 (priority_node_to_task): New.
7496 (task_to_priority_node): New.
7497 * oacc-mem.c: Do not include splay-tree.h.
7498 * priority_queue.c: New file.
7499 * priority_queue.h: New file.
7500 * splay-tree.c: Do not include splay-tree.h.
7501 (splay_tree_foreach_internal): New.
7502 (splay_tree_foreach): New.
7503 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
7504 (splay_tree_callback): Define typedef.
7505 * target.c (splay_compare): Move to libgomp.h.
7506 (GOMP_target): Don't adjust *thr in any way around running offloaded
7507 task.
7508 (GOMP_target_ext): Likewise. Handle target nowait.
7509 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
7510 return value from gomp_create_target_task, if false, fallthrough
7511 as if no dependencies exist.
7512 (gomp_target_task_fn): Change return type to bool, return true
7513 if the task should have another part scheduled later. Handle
7514 target nowait.
7515 (gomp_load_plugin_for_device): Initialize async_run.
7516 * task.c (gomp_init_task): Initialize children_queue.
7517 (gomp_clear_parent_in_list): New.
7518 (gomp_clear_parent_in_tree): New.
7519 (gomp_clear_parent): Handle priorities.
7520 (GOMP_task): Likewise.
7521 (priority_queue_move_task_first,
7522 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
7523 New functions.
7524 (gomp_create_target_task): Use priority queues. Change return type
7525 to bool, add state argument, return false if for async
7526 {{enter,exit} data,update} constructs no dependencies need to be
7527 waited for, handle target nowait. Set task->fn to NULL instead of
7528 gomp_target_task_fn.
7529 (verify_children_queue): Remove.
7530 (priority_list_upgrade_task): New.
7531 (priority_queue_upgrade_task): New.
7532 (verify_task_queue): Remove.
7533 (priority_list_downgrade_task): New.
7534 (priority_queue_downgrade_task): New.
7535 (gomp_task_run_pre): Use priority queues.
7536 Abstract code out to priority_queue_downgrade_task.
7537 (gomp_task_run_post_handle_dependers): Use priority queues.
7538 (gomp_task_run_post_remove_parent): Likewise.
7539 (gomp_task_run_post_remove_taskgroup): Likewise.
7540 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
7541 tasks specially.
7542 (GOMP_taskwait): Likewise.
7543 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
7544 priority-queue_upgrade_task.
7545 (GOMP_taskgroup_start): Use priority queues.
7546 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
7547 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
7548 barrier.
7549 * taskloop.c (GOMP_taskloop): Handle priorities.
7550 * team.c (gomp_new_team): Call priority_queue_init.
7551 (free_team): Call priority_queue_free.
7552 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
7553 team created for target nowait in implicit parallel region.
7554 (gomp_team_start): For nested check, test thr->ts.level instead of
7555 thr->ts.team != NULL.
7556 * testsuite/libgomp.c/doacross-3.c: New test.
7557 * testsuite/libgomp.c/ordered-5.c: New test.
7558 * testsuite/libgomp.c/priority.c: New test.
7559 * testsuite/libgomp.c/target-31.c: New test.
7560 * testsuite/libgomp.c/target-32.c: New test.
7561 * testsuite/libgomp.c/target-33.c: New test.
7562 * testsuite/libgomp.c/target-34.c: New test.
7563
1d1ab74f
NS
75642015-11-13 Nathan Sidwell <nathan@codesourcery.com>
7565
c5a64cfe
NS
7566 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
7567
1d1ab74f
NS
7568 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
7569 loop is sequential.
7570
dd3c1b14
NS
75712015-11-13 Nathan Sidwell <nathan@codesourcery.com>
7572
7573 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
7574 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
7575
6e232ba4
JN
75762015-11-12 James Norris <jnorris@codesourcery.com>
7577 Joseph Myers <joseph@codesourcery.com>
7578
7579 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
7580 * oacc-parallel.c (GOACC_declare): New function.
7581 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
7582 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
7583 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
7584 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
7585 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
7586
fffeedeb
NS
75872015-11-12 Nathan Sidwell <nathan@codesourcery.com>
7588
7589 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
7590
182190f2
NS
75912015-11-1 Nathan Sidwell <nathan@codesourcery.com>
7592
7593 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7594 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7595
36fa0f5f
NS
75962015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7597
d350c40c
NS
7598 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7599 inadvertent commit.
7600
76012015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7602
36fa0f5f
NS
7603 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7604 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7605 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7606 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7607 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7608
66a5f0b4
TS
76092015-11-06 Thomas Schwinge <thomas@codesourcery.com>
7610
7611 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7612 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7613
e01d41e5
JJ
76142015-11-05 Jakub Jelinek <jakub@redhat.com>
7615 Ilya Verbin <ilya.verbin@intel.com>
7616
7617 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7618 GOMP_loop_nonmonotonic_dynamic_start,
7619 GOMP_loop_nonmonotonic_guided_next,
7620 GOMP_loop_nonmonotonic_guided_start,
7621 GOMP_loop_ull_nonmonotonic_dynamic_next,
7622 GOMP_loop_ull_nonmonotonic_dynamic_start,
7623 GOMP_loop_ull_nonmonotonic_guided_next,
7624 GOMP_loop_ull_nonmonotonic_guided_start,
7625 GOMP_parallel_loop_nonmonotonic_dynamic,
7626 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7627 (GOMP_target_41): Renamed to ...
7628 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7629 arguments.
7630 (GOMP_target_data_41): Renamed to ...
7631 (GOMP_target_data_ext): ... this.
7632 (GOMP_target_update_41): Renamed to ...
7633 (GOMP_target_update_ext): ... this.
7634 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7635 GOMP_target_data_ext and GOMP_target_update_ext instead of
7636 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7637 Export GOMP_loop_nonmonotonic_dynamic_next,
7638 GOMP_loop_nonmonotonic_dynamic_start,
7639 GOMP_loop_nonmonotonic_guided_next,
7640 GOMP_loop_nonmonotonic_guided_start,
7641 GOMP_loop_ull_nonmonotonic_dynamic_next,
7642 GOMP_loop_ull_nonmonotonic_dynamic_start,
7643 GOMP_loop_ull_nonmonotonic_guided_next,
7644 GOMP_loop_ull_nonmonotonic_guided_start,
7645 GOMP_parallel_loop_nonmonotonic_dynamic and
7646 GOMP_parallel_loop_nonmonotonic_guided.
7647 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7648 GOMP_parallel_loop_nonmonotonic_guided,
7649 GOMP_loop_nonmonotonic_dynamic_start,
7650 GOMP_loop_nonmonotonic_guided_start,
7651 GOMP_loop_nonmonotonic_dynamic_next,
7652 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7653 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7654 GOMP_loop_ull_nonmonotonic_guided_start,
7655 GOMP_loop_ull_nonmonotonic_dynamic_next,
7656 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7657 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7658 functions.
7659 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
7660 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7661 Use gomp_map_val function.
7662 (gomp_target_fallback_firstprivate): New static function.
7663 (GOMP_target_41): Renamed to ...
7664 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7665 arguments. Move firstprivate fallback handling into a new
7666 function.
7667 (GOMP_target_data_41): Renamed to ...
7668 (GOMP_target_data_ext): ... this.
7669 (GOMP_target_update_41): Renamed to ...
7670 (GOMP_target_update_ext): ... this.
7671 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7672 gomp_map_0len_lookup instead of gomp_map_lookup.
7673 (omp_target_is_present): Use gomp_map_0len_lookup instead of
7674 gomp_map_lookup.
7675 * testsuite/libgomp.c/target-28.c: Likewise.
7676 * testsuite/libgomp.c/monotonic-1.c: New test.
7677 * testsuite/libgomp.c/monotonic-2.c: New test.
7678 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7679 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7680 * testsuite/libgomp.c/pr66199-5.c: New test.
7681 * testsuite/libgomp.c/pr66199-6.c: New test.
7682 * testsuite/libgomp.c/pr66199-7.c: New test.
7683 * testsuite/libgomp.c/pr66199-8.c: New test.
7684 * testsuite/libgomp.c/pr66199-9.c: New test.
7685 * testsuite/libgomp.c/reduction-11.c: New test.
7686 * testsuite/libgomp.c/reduction-12.c: New test.
7687 * testsuite/libgomp.c/reduction-13.c: New test.
7688 * testsuite/libgomp.c/reduction-14.c: New test.
7689 * testsuite/libgomp.c/reduction-15.c: New test.
7690 * testsuite/libgomp.c/target-12.c (main): Adjust for
7691 omp_target_is_present change for one-past-last element.
7692 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7693 the same var is both mapped and privatized.
7694 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7695 handling of zero-length array sections.
7696 * testsuite/libgomp.c/target-28.c: New test.
7697 * testsuite/libgomp.c/target-29.c: New test.
7698 * testsuite/libgomp.c/target-30.c: New test.
7699 * testsuite/libgomp.c/target-teams-1.c: New test.
7700 * testsuite/libgomp.c++/member-6.C: New test.
7701 * testsuite/libgomp.c++/member-7.C: New test.
7702 * testsuite/libgomp.c++/monotonic-1.C: New test.
7703 * testsuite/libgomp.c++/monotonic-2.C: New test.
7704 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7705 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7706 * testsuite/libgomp.c++/pr66199-3.C: New test.
7707 * testsuite/libgomp.c++/pr66199-4.C: New test.
7708 * testsuite/libgomp.c++/pr66199-5.C: New test.
7709 * testsuite/libgomp.c++/pr66199-6.C: New test.
7710 * testsuite/libgomp.c++/pr66199-7.C: New test.
7711 * testsuite/libgomp.c++/pr66199-8.C: New test.
7712 * testsuite/libgomp.c++/pr66199-9.C: New test.
7713 * testsuite/libgomp.c++/reduction-11.C: New test.
7714 * testsuite/libgomp.c++/reduction-12.C: New test.
7715 * testsuite/libgomp.c++/target-13.C: New test.
7716 * testsuite/libgomp.c++/target-14.C: New test.
7717 * testsuite/libgomp.c++/target-15.C: New test.
7718 * testsuite/libgomp.c++/target-16.C: New test.
7719 * testsuite/libgomp.c++/target-17.C: New test.
7720 * testsuite/libgomp.c++/target-18.C: New test.
7721 * testsuite/libgomp.c++/target-19.C: New test.
7722
ccc8282b
NS
77232015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7724
7725 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7726 and reduction copy.
7727 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7728 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7729 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7730 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7731 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7732 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7733 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7734 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7735 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7736 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7737 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7738 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7739 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7740 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7741
5d6823a2
NS
77422015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7743
7744 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7745 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7746 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7747 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7748 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7749 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7750 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7751 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7752
5c06742f
NS
77532015-11-03 Nathan Sidwell <nathan@codesourcery.com>
7754
7755 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7756 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7757 (GOMP_OFFLOAD_openacc_parallel): Likewise.
7758 * oacc-host.c (host_openacc_exec): Likewise.
7759 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7760
4bf9e5a8
TS
77612015-11-03 Julian Brown <julian@codesourcery.com>
7762 Thomas Schwinge <thomas@codesourcery.com>
7763
7764 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7765 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7766 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7767 Likewise.
7768 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7769 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7770
77712015-11-03 James Norris <jnorris@codesourcery.com>
7772
7773 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7774 file.
7775 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7776 Likewise.
7777 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7778 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7779 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7780 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7781 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7782
a0e701d8
NS
77832015-10-29 Nathan Sidwell <nathan@codesourcery.com>
7784
7785 * openacc.h (enum acc_device_t): Reformat. Ensure layout
7786 compatibility.
7787 (enum acc_async_t): Reformat.
7788 (acc_on_device): Declare compatible with builtin and provide C++
7789 wrapper.
7790 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7791
41e977ac
TS
77922015-10-29 Thomas Schwinge <thomas@codesourcery.com>
7793 Cesar Philippidis <cesar@codesourcery.com>
7794
7795 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7796 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7797 ... this. Add a description of the test at the top of the file.
7798 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7799 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7800 ... this. Add a description of the test at the top of the file.
7801
e3091406
NS
78022015-10-28 Nathan Sidwell <nathan@codesourcery.com>
7803
7804 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7805 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7806 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7807 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7808 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7809 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7810
a1c1908b
NS
78112015-10-27 Nathan Sidwell <nathan@codesourcery.com>
7812
7813 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7814 dimensions.
7815
b3962a4a
TS
78162015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7817
7818 PR testsuite/68063
7819 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7820
88bae6f4
TS
78212015-10-27 James Norris <jnorris@codesourcery.com>
7822
7823 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7824 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7825
8baa7864
TS
78262015-10-26 Thomas Schwinge <thomas@codesourcery.com>
7827
bdeb752c
TS
7828 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7829 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7830
ecd4fd43
TS
7831 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7832 acc_device_nvidia usage.
7833 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7834 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7835 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7836
aa8b7d30
TS
7837 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7838 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7839
7c8f138d
TS
7840 PR libgomp/66518
7841 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7842
8baa7864
TS
7843 PR libgomp/65437
7844 PR libgomp/66518
7845 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7846 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7847
88ebcde5
TV
78482015-10-23 Tom de Vries <tom@codesourcery.com>
7849
7850 PR testsuite/68063
7851 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7852
9ef83c04
NS
78532015-10-20 Nathan Sidwell <nathan@codesourcery.com>
7854
7855 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7856 vector_length.
7857 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7858
3837c6d6
IV
78592015-10-14 Ilya Verbin <ilya.verbin@intel.com>
7860 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
7861
7862 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7863 to 0 when mapnum is 0.
7864
ac8a1965
SH
78652015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
7866
7867 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7868 Cast to int from int32_t.
7869
d9a6bd32
JJ
78702015-10-13 Jakub Jelinek <jakub@redhat.com>
7871 Aldy Hernandez <aldyh@redhat.com>
7872 Ilya Verbin <ilya.verbin@intel.com>
7873
7874 * config/linux/affinity.c (omp_get_place_num_procs,
7875 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7876 * config/linux/doacross.h: New file.
7877 * config/posix/affinity.c (omp_get_place_num_procs,
7878 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7879 * config/posix/doacross.h: New file.
7880 * env.c: Include gomp-constants.h.
7881 (struct gomp_task_icv): Rename run_sched_modifier to
7882 run_sched_chunk_size.
7883 (gomp_max_task_priority_var): New variable.
7884 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7885 (handle_omp_display_env): Change _OPENMP value from 201307 to
7886 201511. Print OMP_MAX_TASK_PRIORITY.
7887 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7888 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7889 chunk_size and run_sched_modifier to run_sched_chunk_size.
7890 (omp_get_max_task_priority, omp_get_initial_device,
7891 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7892 omp_get_partition_place_nums): New functions.
7893 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7894 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7895 to chunk_size.
7896 (omp_get_num_places_, omp_get_place_num_procs_,
7897 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7898 omp_get_place_proc_ids_8_, omp_get_place_num_,
7899 omp_get_partition_num_places_, omp_get_partition_place_nums_,
7900 omp_get_partition_place_nums_8_, omp_get_initial_device_,
7901 omp_get_max_task_priority_): New functions.
7902 * libgomp_g.h (GOMP_loop_doacross_static_start,
7903 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7904 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7905 GOMP_loop_ull_doacross_dynamic_start,
7906 GOMP_loop_ull_doacross_guided_start,
7907 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7908 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7909 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7910 GOMP_target_data_41, GOMP_target_update_41,
7911 GOMP_target_enter_exit_data): New prototypes.
7912 (GOMP_task): Add prototype argument.
7913 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7914 (struct gomp_doacross_work_share): New type.
7915 (struct gomp_work_share): Add doacross field.
7916 (struct gomp_task_icv): Rename run_sched_modifier to
7917 run_sched_chunk_size.
7918 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7919 GOMP_TASK_UNDEFERRED. Add comments.
7920 (struct gomp_task_depend_entry): Add comments.
7921 (struct gomp_task): Likewise.
7922 (struct gomp_taskgroup): Likewise.
7923 (struct gomp_target_task): New type.
7924 (struct gomp_team): Add comment.
7925 (gomp_get_place_proc_ids_8, gomp_doacross_init,
7926 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7927 gomp_create_target_task, gomp_target_task_fn): New prototypes.
7928 (struct target_var_desc): New type.
7929 (struct target_mem_desc): Adjust comment. Use struct
7930 target_var_desc instead of splay_tree_key for list.
7931 (REFCOUNT_INFINITY): Define.
7932 (struct splay_tree_key_s): Remove copy_from field.
7933 (struct gomp_device_descr): Add dev2dev_func field.
7934 (enum gomp_map_vars_kind): New enum.
7935 (gomp_map_vars): Add one argument.
7936 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7937 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7938 omp_get_place_num_procs, omp_get_place_num_procs_,
7939 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7940 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7941 omp_get_place_num_, omp_get_partition_num_places,
7942 omp_get_partition_num_places_, omp_get_partition_place_nums,
7943 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7944 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7945 omp_target_free, omp_target_is_present, omp_target_memcpy,
7946 omp_target_memcpy_rect, omp_target_associate_ptr and
7947 omp_target_disassociate_ptr.
7948 (GOMP_4.0.2): Renamed to ...
7949 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
7950 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7951 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7952 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7953 GOMP_loop_doacross_static_start, GOMP_doacross_post,
7954 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7955 GOMP_loop_ull_doacross_guided_start,
7956 GOMP_loop_ull_doacross_runtime_start,
7957 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7958 GOMP_doacross_ull_wait.
7959 * libgomp.texi: Document omp_get_max_task_priority.
7960 Rename modifier argument to chunk_size for omp_set_schedule and
7961 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
7962 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7963 to run_sched_chunk_size renaming.
7964 (GOMP_loop_ordered_runtime_start): Likewise.
7965 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7966 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7967 GOMP_parallel_loop_runtime_start): New functions.
7968 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7969 to run_sched_chunk_size renaming.
7970 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7971 GOMP_loop_doacross_guided_start): New functions or aliases.
7972 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7973 run_sched_modifier to run_sched_chunk_size renaming.
7974 (GOMP_loop_ull_ordered_runtime_start): Likewise.
7975 (gomp_loop_ull_doacross_static_start,
7976 gomp_loop_ull_doacross_dynamic_start,
7977 gomp_loop_ull_doacross_guided_start,
7978 GOMP_loop_ull_doacross_runtime_start): New functions.
7979 (GOMP_loop_ull_doacross_static_start,
7980 GOMP_loop_ull_doacross_dynamic_start,
7981 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7982 * oacc-mem.c (acc_map_data, present_create_copy,
7983 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7984 to gomp_map_vars.
7985 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7986 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7987 instead of false to gomp_map_vars.
7988 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
7989 * omp.h.in (omp_lock_hint_t): New type.
7990 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7991 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7992 omp_get_place_num, omp_get_partition_num_places,
7993 omp_get_partition_place_nums, omp_get_initial_device,
7994 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
7995 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
7996 omp_target_associate_ptr, omp_target_disassociate_ptr): New
7997 prototypes.
7998 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
7999 (omp_lock_hint_none, omp_lock_hint_uncontended,
8000 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8001 omp_lock_hint_speculative): New parameters.
8002 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8003 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8004 omp_get_place_num, omp_get_partition_num_places,
8005 omp_get_partition_place_nums, omp_get_initial_device,
8006 omp_get_max_task_priority): New interfaces.
8007 (omp_set_schedule, omp_get_schedule): Rename modifier argument
8008 to chunk_size.
8009 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
8010 (omp_lock_hint_none, omp_lock_hint_uncontended,
8011 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8012 omp_lock_hint_speculative): New parameters.
8013 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8014 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8015 omp_get_place_num, omp_get_partition_num_places,
8016 omp_get_partition_place_nums, omp_get_initial_device,
8017 omp_get_max_task_priority): New functions and subroutines.
8018 * ordered.c: Include stdarg.h and string.h.
8019 (MAX_COLLAPSED_BITS): Define.
8020 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
8021 gomp_doacross_ull_init, GOMP_doacross_ull_post,
8022 GOMP_doacross_ull_wait): New functions.
8023 * target.c: Include errno.h.
8024 (resolve_device): If device is not initialized, call
8025 gomp_init_device on it.
8026 (gomp_map_lookup): New function.
8027 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
8028 Don't bump refcount if REFCOUNT_INFINITY. Handle
8029 GOMP_MAP_ALWAYS_TO_P.
8030 (get_kind): Rename is_openacc argument to short_mapkind.
8031 (gomp_map_pointer): Use gomp_map_lookup.
8032 (gomp_map_fields_existing): New function.
8033 (gomp_map_vars): Rename is_openacc argument to short_mapkind
8034 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
8035 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
8036 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
8037 Adjust for tgt->list changed type and copy_from living in there.
8038 (gomp_copy_from_async): Adjust for tgt->list changed type and
8039 copy_from living in there.
8040 (gomp_unmap_vars): Likewise.
8041 (gomp_update): Likewise. Rename is_openacc argument to
8042 short_mapkind. Don't fail if object is not mapped.
8043 (gomp_load_image_to_device): Initialize refcount to
8044 REFCOUNT_INFINITY.
8045 (gomp_target_fallback): New function.
8046 (gomp_get_target_fn_addr): Likewise.
8047 (GOMP_target): Adjust gomp_map_vars caller, use
8048 gomp_get_target_fn_addr and gomp_target_fallback.
8049 (GOMP_target_41): New function.
8050 (gomp_target_data_fallback): New function.
8051 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
8052 (GOMP_target_data_41): New function.
8053 (GOMP_target_update): Adjust gomp_update caller.
8054 (GOMP_target_update_41): New function.
8055 (gomp_exit_data, GOMP_target_enter_exit_data,
8056 gomp_target_task_fn, omp_target_alloc, omp_target_free,
8057 omp_target_is_present, omp_target_memcpy,
8058 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
8059 omp_target_associate_ptr, omp_target_disassociate_ptr,
8060 gomp_load_plugin_for_device): New functions.
8061 * task.c: Include gomp-constants.h. Include taskloop.c
8062 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
8063 (gomp_task_handle_depend): New function.
8064 (GOMP_task): Use it. Add priority argument. Use
8065 gomp-constant.h constants instead of hardcoded numbers.
8066 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
8067 (gomp_create_target_task): New function.
8068 (verify_children_queue, verify_taskgroup_queue,
8069 verify_task_queue): New functions.
8070 (gomp_task_run_pre): Call verify_*_queue functions.
8071 If an upcoming tied task is about to leave the sibling or
8072 taskgroup queues in an invalid state, adjust appropriately.
8073 Remove taskgroup argument. Add comments.
8074 (gomp_task_run_post_handle_dependers): Add comments.
8075 (gomp_task_run_post_remove_parent): Likewise.
8076 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
8077 (GOMP_taskwait): Likewise. Add comments.
8078 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
8079 problem such that the first non parent_depends_on task does not
8080 end up at the end of the children queue.
8081 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
8082 GOMP_TASK_UNDEFERRED.
8083 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
8084 * taskloop.c: New file.
8085 * testsuite/lib/libgomp.exp
8086 (check_effective_target_offload_device_nonshared_as): New proc.
8087 * testsuite/libgomp.c/affinity-2.c: New test.
8088 * testsuite/libgomp.c/doacross-1.c: New test.
8089 * testsuite/libgomp.c/doacross-2.c: New test.
8090 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
8091 Add map clause to target.
8092 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
8093 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
8094 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
8095 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
8096 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
8097 Likewise.
8098 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
8099 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
8100 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
8101 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
8102 not defined. Use those where needed.
8103 * testsuite/libgomp.c/for-4.c: New test.
8104 * testsuite/libgomp.c/for-5.c: New test.
8105 * testsuite/libgomp.c/for-6.c: New test.
8106 * testsuite/libgomp.c/linear-1.c: New test.
8107 * testsuite/libgomp.c/ordered-4.c: New test.
8108 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
8109 only allowed on the loop iterator.
8110 * testsuite/libgomp.c/pr66199-3.c: New test.
8111 * testsuite/libgomp.c/pr66199-4.c: New test.
8112 * testsuite/libgomp.c/reduction-7.c: New test.
8113 * testsuite/libgomp.c/reduction-8.c: New test.
8114 * testsuite/libgomp.c/reduction-9.c: New test.
8115 * testsuite/libgomp.c/reduction-10.c: New test.
8116 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
8117 map(tofrom:s).
8118 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
8119 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
8120 * testsuite/libgomp.c/target-11.c: New test.
8121 * testsuite/libgomp.c/target-12.c: New test.
8122 * testsuite/libgomp.c/target-13.c: New test.
8123 * testsuite/libgomp.c/target-14.c: New test.
8124 * testsuite/libgomp.c/target-15.c: New test.
8125 * testsuite/libgomp.c/target-16.c: New test.
8126 * testsuite/libgomp.c/target-17.c: New test.
8127 * testsuite/libgomp.c/target-18.c: New test.
8128 * testsuite/libgomp.c/target-19.c: New test.
8129 * testsuite/libgomp.c/target-20.c: New test.
8130 * testsuite/libgomp.c/target-21.c: New test.
8131 * testsuite/libgomp.c/target-22.c: New test.
8132 * testsuite/libgomp.c/target-23.c: New test.
8133 * testsuite/libgomp.c/target-24.c: New test.
8134 * testsuite/libgomp.c/target-25.c: New test.
8135 * testsuite/libgomp.c/target-26.c: New test.
8136 * testsuite/libgomp.c/target-27.c: New test.
8137 * testsuite/libgomp.c/taskloop-1.c: New test.
8138 * testsuite/libgomp.c/taskloop-2.c: New test.
8139 * testsuite/libgomp.c/taskloop-3.c: New test.
8140 * testsuite/libgomp.c/taskloop-4.c: New test.
8141 * testsuite/libgomp.c++/ctor-13.C: New test.
8142 * testsuite/libgomp.c++/doacross-1.C: New test.
8143 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
8144 Replace offload_device with offload_device_nonshared_as.
8145 * testsuite/libgomp.c++/for-12.C: New test.
8146 * testsuite/libgomp.c++/for-13.C: New test.
8147 * testsuite/libgomp.c++/for-14.C: New test.
8148 * testsuite/libgomp.c++/linear-1.C: New test.
8149 * testsuite/libgomp.c++/member-1.C: New test.
8150 * testsuite/libgomp.c++/member-2.C: New test.
8151 * testsuite/libgomp.c++/member-3.C: New test.
8152 * testsuite/libgomp.c++/member-4.C: New test.
8153 * testsuite/libgomp.c++/member-5.C: New test.
8154 * testsuite/libgomp.c++/ordered-1.C: New test.
8155 * testsuite/libgomp.c++/reduction-5.C: New test.
8156 * testsuite/libgomp.c++/reduction-6.C: New test.
8157 * testsuite/libgomp.c++/reduction-7.C: New test.
8158 * testsuite/libgomp.c++/reduction-8.C: New test.
8159 * testsuite/libgomp.c++/reduction-9.C: New test.
8160 * testsuite/libgomp.c++/reduction-10.C: New test.
8161 * testsuite/libgomp.c++/reference-1.C: New test.
8162 * testsuite/libgomp.c++/simd14.C: New test.
8163 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
8164 * testsuite/libgomp.c++/target-5.C: New test.
8165 * testsuite/libgomp.c++/target-6.C: New test.
8166 * testsuite/libgomp.c++/target-7.C: New test.
8167 * testsuite/libgomp.c++/target-8.C: New test.
8168 * testsuite/libgomp.c++/target-9.C: New test.
8169 * testsuite/libgomp.c++/target-10.C: New test.
8170 * testsuite/libgomp.c++/target-11.C: New test.
8171 * testsuite/libgomp.c++/target-12.C: New test.
8172 * testsuite/libgomp.c++/taskloop-1.C: New test.
8173 * testsuite/libgomp.c++/taskloop-2.C: New test.
8174 * testsuite/libgomp.c++/taskloop-3.C: New test.
8175 * testsuite/libgomp.c++/taskloop-4.C: New test.
8176 * testsuite/libgomp.c++/taskloop-5.C: New test.
8177 * testsuite/libgomp.c++/taskloop-6.C: New test.
8178 * testsuite/libgomp.c++/taskloop-7.C: New test.
8179 * testsuite/libgomp.c++/taskloop-8.C: New test.
8180 * testsuite/libgomp.c++/taskloop-9.C: New test.
8181 * testsuite/libgomp.fortran/affinity1.f90: New test.
8182 * testsuite/libgomp.fortran/affinity2.f90: New test.
8183
1f600fea
TV
81842015-10-13 Tom de Vries <tom@codesourcery.com>
8185
8186 PR tree-optimization/67476
8187 * testsuite/libgomp.c/autopar-3.c: New test.
8188 * testsuite/libgomp.c/autopar-4.c: New test.
8189 * testsuite/libgomp.c/autopar-5.c: New test.
8190 * testsuite/libgomp.c/autopar-6.c: New test.
8191 * testsuite/libgomp.c/autopar-7.c: New test.
8192 * testsuite/libgomp.c/autopar-8.c: New test.
8193
058a654b
JN
81942015-10-12 James Norris <jnorris@codesourcery.com>
8195
8196 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
8197 initializer.
8198
9e531d37
DM
81992015-10-09 David Malcolm <dmalcolm@redhat.com>
8200
8201 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
8202 using load_gcc_lib.
8203
113020dc
TS
82042015-10-02 Thomas Schwinge <thomas@codesourcery.com>
8205
8206 * oacc-ptx.h: Remove file, moving its content into...
8207 * config/nvptx/fortran.c: ... here...
8208 * config/nvptx/oacc-init.c: ..., here...
8209 * config/nvptx/oacc-parallel.c: ..., and here.
8210 * config/nvptx/openacc.f90: New file.
8211 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
8212 (link_ptx): Don't link in predefined bits of PTX code.
8213
cc3cd79b
NS
82142015-09-30 Nathan Sidwell <nathan@codesourcery.com>
8215 Bernd Schmidt <bernds@codesourcery.com>
8216
8217 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
8218 (struct targ_ptx_obj): New.
8219 (nvptx_tdata): Move earlier, change data format.
8220 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
8221 objects.
8222 (GOMP_OFFLOAD_load_image): Adjust.
8223
4e2a5450
TS
82242015-09-30 Thomas Schwinge <thomas@codesourcery.com>
8225
8226 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
8227 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8228 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8229 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8230 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8231 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8232 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8233 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8234 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8235 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8236 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8237 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8238 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8239 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8240 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8241 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8242 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8243 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8244 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8245 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8246 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8247 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8248 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8249 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8250 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8251 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8252 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8253 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8254 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8255 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8256 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8257 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8258 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8259 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8260 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8261 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8262 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8263 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8264 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8265 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8266 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8267 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8268 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8269 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8270 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8271 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8272 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8273 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8274 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8275 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8276 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8277 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8278 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8279 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8280 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8281 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8282 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8283 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8284 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8285 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8286 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8287 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8288 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8289
164453bb
NS
82902015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8291
8292 * oacc-init.c (acc_on_device): Force optimization level.
8293
a12a0437
NS
82942015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8295
8296 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
8297 (cuda_errlist): Delete.
8298 (cuda_error): Reimplement.
8299
3e32ee19
NS
83002015-09-28 Nathan Sidwell <nathan@codesourcery.com>
8301
8302 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
8303 array.
8304 * libgomp.map (GOACC_parallel_keyed): New.
8305 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
8306 all callers.
8307 (GOACC_parallel_keyed): New interface. Lose geometry arguments
8308 and take keyed varargs list. Adjust call to exec_func.
8309 (GOACC_parallel): Force host fallback.
8310 * libgomp_g.h (GOACC_parallel): Remove.
8311 (GOACC_parallel_keyed): Declare.
8312 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 8313 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
8314 (nvptx_exec): Lose separate geometry args, take array. Process
8315 dynamic dimensions and adjust.
8316 (struct nvptx_tdata): Replace fn_names field with fn_descs.
8317 (GOMP_OFFLOAD_load_image): Adjust for change in function table
8318 data.
8319 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
8320 passing.
8321 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
8322 passing.
8323
6bb4c3e2
CLT
83242015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
8325
8326 PR libgomp/67141
8327 * oacc-int.h (goacc_host_init): Add declaration.
8328 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
8329 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
8330
74032f47 83312015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 8332 Sebastian Pop <s.pop@samsung.com>
74032f47 8333
93d90219 8334 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
8335 match o/p.
8336 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
8337 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
8338 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
8339 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
8340 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
8341
97875f4a
JJ
83422015-09-03 Jakub Jelinek <jakub@redhat.com>
8343
8344 * configure.tgt: Add missing ;; in between nvptx and rtems
8345 snippets.
8346
06441dd5
SH
83472015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8348
8349 * config/posix/pool.h (gomp_adjust_thread_attr): New.
8350 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
8351 (gomp_thread_pool_reservoir): Add priority member.
8352 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
8353 priority.
8354 (parse_thread_pools): Likewise.
8355 * team.c (gomp_team_start): Call configuration provided
8356 gomp_adjust_thread_attr(). Destroy thread attributes if
8357 necessary.
8358 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
8359
66c59f92
SH
83602015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8361
8362 * config/posix/pool.h: New.
8363 * config/rtems/pool.h: Likewise.
8364 * config/rtems/proc.c: Likewise.
8365 * libgomp.h (gomp_thread_destructor): Declare.
8366 * team.c: Include configuration provided "pool.h".
8367 (gomp_get_thread_pool): Define in configuration.
8368 (gomp_team_end): Call configuration defined
8369 gomp_release_thread_pool().
8370
13c41b2e
SH
83712015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8372
8373 * config/rtems/bar.c: New.
8374 * config/rtems/bar.h: Likewise.
8375 * config/rtems/mutex.c: Likewise.
8376 * config/rtems/mutex.h: Likewise.
8377 * config/rtems/sem.c: Likewise.
8378 * config/rtems/sem.h: Likewise.
8379 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
8380 <sys/lock.h> header file.
8381 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
8382 supported by Newlib.
8383 * configure: Regenerate.
8384
7892ec67
SH
83852015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8386
8387 * team.c (gomp_new_thread_pool): Delete and move content to ...
8388 (gomp_get_thread_pool): ... new function. Allocate and
8389 initialize thread pool on demand.
8390 (get_last_team): Use gomp_get_thread_pool().
8391 (gomp_team_start): Delete thread pool initialization.
8392
1b96e9a4
TV
83932015-09-03 Tom de Vries <tom@codesourcery.com>
8394
8395 PR tree-optimization/65637
8396 * testsuite/libgomp.c/autopar-2.c: New test.
8397
3ff2d74e
TV
83982015-08-29 Tom de Vries <tom@codesourcery.com>
8399
8400 PR tree-optimization/46193
8401 * testsuite/libgomp.c/pr46193.c: New test.
8402
2a21ff19
NS
84032015-08-24 Nathan Sidwell <nathan@codesourcery.com>
8404
8405 libgomp/
8406 * libgomp.map: Add 4.0.2 version.
8407 * target.c (offload_image_descr): Add version field.
8408 (gomp_load_image_to_device): Add version argument. Adjust plugin
8409 call. Improve load mismatch diagnostic.
8410 (gomp_unload_image_from_device): Add version argument. Adjust plugin
8411 call.
8412 (GOMP_offload_regster): Make stub function, move bulk to ...
8413 (GOMP_offload_register_ver): ... here. Process version argument.
8414 (GOMP_offload_unregister): Make stub function, move bulk to ...
8415 (GOMP_offload_unregister_ver): ... here. Process version argument.
8416 (gomp_init_device): Process version field.
8417 (gomp_unload_device): Process version field.
8418 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
8419 macros. Check plugin version.
8420 * libgomp.h (gomp_device_descr): Add version function field. Adjust
8421 loader and unloader types.
8422 * oacc-host.c: Include gomp-constants.h.
8423 (host_version): New.
8424 (host_load_image, host_unload_image): Adjust.
8425 (host_dispatch): Add host_version.
8426 * plugin/plugin-nvptx.c: Include gomp-constants.h.
8427 (GOMP_OFFLOAD_version): New.
8428 (GOMP_OFFLOAD_load_image): Add version arg and check it.
8429 (GOMP_OFFLOAD_unload_image): Likewise.
8430 * plugin/plugin-host.c: Include gomp-constants.h.
8431 (GOMP_OFFLOAD_version): New.
8432 (GOMP_OFFLOAD_load_image): Add version arg.
8433 (GOMP_OFFLOAD_unload_image): Likewise.
8434
1358a747
TV
84352015-08-24 Tom de Vries <tom@codesourcery.com>
8436
8437 PR tree-optimization/65468
8438 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
8439
6be5c241
TV
84402015-08-24 Tom de Vries <tom@codesourcery.com>
8441
8442 PR tree-optimization/65468
8443 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
8444
bfe7ac89
JV
84452015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
8446
8447 PR libgomp/66761
8448 PR libgomp/67303
8449 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
8450 (gomp_iter_guided_next): Idem.
8451 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
8452 (gomp_iter_ull_guided_next): Idem.
8453 * config/linux/wait.h (do_spin): Idem.
8454
b97e78b7
TS
84552015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8456
8457 * libgomp-plugin.h (enum offload_target_type): Remove
8458 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
8459 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
8460 * openacc.h (enum acc_device_t): Likewise.
8461 * openacc_lib.h: Likewise.
8462 * oacc-init.c (name_of_acc_device_t): Don't handle it.
8463 (acc_on_device): Just use __builtin_acc_on_device.
8464 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
8465 of acc_on_device builtin.
8466 * plugin/plugin-host.h: Remove file.
8467 * plugin/plugin-host.c: Likewise, but salvage some content into...
8468 * oacc-host.c: ... this file.
8469 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
8470 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
8471 * Makefile.in: Regenerate.
8472 * configure: Likewise.
8473 * testsuite/lib/libgomp.exp
8474 (check_effective_target_openacc_host_nonshm_selected): Remove.
8475 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
8476 ACC_DEVICE_TYPE=host_nonshm.
8477 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8478 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8479 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8480 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8481 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8482 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8483
44a7d18d
TS
84842015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8485 Jakub Jelinek <jakub@redhat.com>
8486
8487 * config/nvptx/affinity.c: New file.
8488 * config/nvptx/alloc.c: Likewise.
8489 * config/nvptx/bar.c: Likewise.
8490 * config/nvptx/barrier.c: Likewise.
8491 * config/nvptx/critical.c: Likewise.
8492 * config/nvptx/env.c: Likewise.
8493 * config/nvptx/error.c: Likewise.
8494 * config/nvptx/fortran.c: Likewise.
8495 * config/nvptx/iter.c: Likewise.
8496 * config/nvptx/iter_ull.c: Likewise.
8497 * config/nvptx/libgomp-plugin.c: Likewise.
8498 * config/nvptx/lock.c: Likewise.
8499 * config/nvptx/loop.c: Likewise.
8500 * config/nvptx/loop_ull.c: Likewise.
8501 * config/nvptx/mutex.c: Likewise.
8502 * config/nvptx/oacc-async.c: Likewise.
8503 * config/nvptx/oacc-cuda.c: Likewise.
8504 * config/nvptx/oacc-host.c: Likewise.
8505 * config/nvptx/oacc-init.c: Likewise.
8506 * config/nvptx/oacc-mem.c: Likewise.
8507 * config/nvptx/oacc-parallel.c: Likewise.
8508 * config/nvptx/oacc-plugin.c: Likewise.
8509 * config/nvptx/omp-lock.h: Likewise.
8510 * config/nvptx/ordered.c: Likewise.
8511 * config/nvptx/parallel.c: Likewise.
8512 * config/nvptx/proc.c: Likewise.
8513 * config/nvptx/ptrlock.c: Likewise.
8514 * config/nvptx/sections.c: Likewise.
8515 * config/nvptx/sem.c: Likewise.
8516 * config/nvptx/single.c: Likewise.
8517 * config/nvptx/splay-tree.c: Likewise.
8518 * config/nvptx/target.c: Likewise.
8519 * config/nvptx/task.c: Likewise.
8520 * config/nvptx/team.c: Likewise.
8521 * config/nvptx/time.c: Likewise.
8522 * config/nvptx/work.c: Likewise.
8523 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
8524 * configure: Regenerate.
8525 * configure.tgt (config_path): Set to "nvptx" for target
8526 nvptx*-*-*.
8527
96a2d174
TS
85282015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8529
8530 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
8531
9ebddeb0
NS
85322015-08-03 Nathan Sidwell <nathan@codesourcery.com>
8533
8534 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
8535 (cuda_errlist): Constify.
8536 (errmsg): Move into ...
8537 (cuda_error): ... here. Make smaller.
8538 (_XSTR, _STR): Delete.
8539 (cuda_synames): Delete.
8540 (verify_device_library): Delete.
8541 (nvptx_init): Don't call it.
8542
12efb1d7
TV
85432015-07-28 Tom de Vries <tom@codesourcery.com>
8544
8545 * testsuite/libgomp.c/uns-outer-4.c: New test.
8546
710ee218
CP
85472015-07-24 Cesar Philippidis <cesar@codesourcery.com>
8548
8549 * testsuite/libgomp.c/pr66714.c: New test.
8550
27c4ac7d
MB
85512015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
8552
8553 PR libgomp/66950
8554 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
8555 (fib_ref): New function.
8556 (fib): Correct corner cases in the recursion.
8557 (main): Replace the non-simd loop with fib_ref call.
8558 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
8559 subroutine.
8560 (fibonacci): Lower the parameter N to 30. Correct accordingly check
8561 for the last array element value. Replace the non-simd loop with
8562 fib_ref call. Remove redundant b_ref array. Remove the comparison
8563 of the last array element with according Fibonacci sequence element.
8564 (fib): Correct corner cases in the recursion.
8565
22be2349
NS
85662015-07-21 Nathan Sidwell <nathan@codesourcery.com>
8567
8568 * target.c (gomp_offload_image_to_device): Rename to ...
8569 (gomp_load_image_to_device): ... here.
8570 (GOMP_offload_register): Adjust call.
8571 (gomp_init_device): Likewise.
8572 (gomp_unload_image_from_device): New. Broken out of ...
8573 (GOMP_offload_unregister): ... here. Call it.
8574 (gomp_unload_device): New.
8575 * libgomp.h (gomp_unload_device): Declare.
8576 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
8577 mem maps.
8578
f3e9a059
NS
85792015-07-20 Nathan Sidwell <nathan@codesourcery.com>
8580
a091118d
NS
8581 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
8582 wait=-specific if.
8583 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
8584 !=0 condition.
8585 (goacc_waits): Move !num_waits handling to ...
8586 (GOACC_wait): ... here, the only caller that might have zero waits.
8587
f3e9a059
NS
8588 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
8589 (struct ptx_image_data): Move earlier, add fns field.
8590 (struct ptx_device): Add images and image_lock fields.
8591 (ptx_images, ptx_image_lock): Delete.
8592 (nvptx_open_device): Initialize images and image_lock fields.
8593 (nvptx_close_device): Destroy image_lock.
8594 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8595 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8596 fields.
8597
afb2d80b
NS
85982015-07-17 Nathan Sidwell <nathan@codesourcery.com>
8599
896c28a7
NS
8600 * target.c (GOMP_offload_register): Use int for device type arg.
8601 (GOMP_offload_unregister): Likewise.
8602
ebe4a560
NS
8603 * target.c (struct_offload_image_descr): Constify host_table.
8604 (gomp_offload_image_to_device): Likewise.
8605 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8606
afb2d80b
NS
8607 * libgomp.h (gomp_device_descr): Constify target data arguments.
8608 * target.c (struct offload_image_descr): Constify target_data.
8609 (gomp_offload_image_to_device): Likewise.
8610 (GOMP_offload_register): Likewise.
93d90219 8611 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
8612 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8613 GOMP_OFFLOAD_unload_image): Constify target data.
8614 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8615 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8616
a4cb876d
NS
86172015-07-16 Nathan Sidwell <nathan@codesourcery.com>
8618
8619 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8620 Workaround driver library const error.
8621 (struct nvptx_tdata, nvptx_tdata_t): New.
8622 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8623 type.
8624
28ef6a27
MB
86252015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
8626
8627 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8628 of EPS parameter from integer to real.
8629 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8630 type of EPS parameter from integer to real.
8631
6dba0113
SH
86322015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
8633
8634 * team.c (get_last_team): New.
8635 (gomp_new_team): Recycle last non-nested team if possible.
8636 (gomp_team_end): Move team work share list free lock destruction
8637 to ...
8638 (free_team): ... here.
8639
4c1cb4da
MB
86402015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
8641
8642 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8643 and ref from int to double. Replaced their comparison with
8644 an inequality of their difference and EPS.
8645 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8646 comparison of pri and a reference number with an inequality of their
8647 difference and EPS.
8648 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8649 the comparison of sum and sum_ref with an inequality of their
8650 difference and EPS.
8651 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8652 the comparison of pri and a reference number with an inequality of
8653 their difference and EPS.
8654
343587dc
MB
86552015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
8656
8657 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8658 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8659 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8660 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8661 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8662 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8663 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8664 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8665 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8666 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8667 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8668 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8669 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8670 variables.
8671 (vec_mult): Likewise. Add #pragma omp taskwait.
8672 (main): Adjust caller.
8673 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8674 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8675 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8676 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8677 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8678 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8679 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8680 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8681 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8682 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8683 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8684 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8685 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8686 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8687 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8688 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8689 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8690 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8691 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8692 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8693 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8694 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8695 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8696 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8697 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8698 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8699 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8700 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8701 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8702 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8703 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8704 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8705 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8706 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8707 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8708 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8709 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8710 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8711 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8712 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8713 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8714 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8715 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8716 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8717 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8718 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8719 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8720 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8721 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8722 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8723 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8724 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8725 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8726 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8727 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8728 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8729 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8730 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8731 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8732 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8733 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8734 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8735 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8736 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8737 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8738 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8739 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8740 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8741 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8742 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8743 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8744 (vec_mult): Add !$omp taskwait.
8745 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8746 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8747 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8748 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8749 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8750 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8751 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8752 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8753 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8754 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8755 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8756 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8757 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8758 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8759 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8760 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8761 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8762 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8763 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8764 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8765 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8766 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8767 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8768 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8769 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8770 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8771 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8772 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8773 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8774 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8775 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8776 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8777 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8778 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8779 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8780 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8781 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8782 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8783 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8784 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8785 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8786 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8787 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8788 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8789 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8790 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8791 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8792 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8793 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8794 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8795 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8796 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8797 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8798 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8799 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8800 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8801 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8802 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8803 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8804 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8805 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8806 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8807 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8808 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8809 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8810 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8811 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8812
9f620bf1
TV
88132015-07-10 Tom de Vries <tom@codesourcery.com>
8814
8815 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8816 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8817
a92defda
TS
88182015-07-08 Thomas Schwinge <thomas@codesourcery.com>
8819
8820 PR libgomp/65099
8821 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8822 in a 64-bit configuration.
8823 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8824 offloading testing if no such device is available.
8825 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8826 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8827
cadb53a5
TV
88282015-07-08 Tom de Vries <tom@codesourcery.com>
8829
8830 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8831 second call to f.
8832 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8833
712cb0bb
TV
88342015-07-07 Tom de Vries <tom@codesourcery.com>
8835
8836 PR tree-optimization/66642
8837 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8838 iteration count case.
8839 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8840 function, factor out of ...
8841 (main): ... here. Test low iteration count case.
8842
e5210c77
SH
88432015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
8844
8845 * libgomp.h (gomp_thread_pool): Comment last_team field.
8846
f70360e7
UB
88472015-07-02 Uros Bizjak <ubizjak@gmail.com>
8848
8849 * testsuite/libgomp.c++/pr66702-1.C: Require
8850 vect_simd_clones effective target.
8851 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8852
b451c271
TV
88532015-06-30 Tom de Vries <tom@codesourcery.com>
8854
8855 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8856 already set. Use DEFAULT_CFLAGS in dg-runtest.
8857 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8858 "-O2".
8859
f8e89d9f
TV
88602015-06-30 Tom de Vries <tom@codesourcery.com>
8861
8862 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8863 already set. Use DEFAULT_CFLAGS in dg-runtest.
8864 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8865 * testsuite/libgomp.c++/pr64824.C: Same.
8866 * testsuite/libgomp.c++/pr64868.C: Same.
8867 * testsuite/libgomp.c++/pr66199-1.C: Same.
8868 * testsuite/libgomp.c++/pr66199-2.C: Same.
8869 * testsuite/libgomp.c++/target-2.C: Same.
8870 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8871 -std=<standard> option.
8872 * testsuite/libgomp.c++/udr-11.C: Same.
8873 * testsuite/libgomp.c++/udr-12.C: Same.
8874 * testsuite/libgomp.c++/udr-13.C: Same.
8875 * testsuite/libgomp.c++/udr-14.C: Same.
8876 * testsuite/libgomp.c++/udr-15.C: Same.
8877 * testsuite/libgomp.c++/udr-16.C: Same.
8878 * testsuite/libgomp.c++/udr-17.C: Same.
8879 * testsuite/libgomp.c++/udr-18.C: Same.
8880 * testsuite/libgomp.c++/udr-19.C: Same.
8881 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8882 * testsuite/libgomp.c++/simd-1.C: Same.
8883 * testsuite/libgomp.c++/simd-2.C: Same.
8884 * testsuite/libgomp.c++/simd-3.C: Same.
8885 * testsuite/libgomp.c++/simd-4.C: Same.
8886 * testsuite/libgomp.c++/simd-5.C: Same.
8887 * testsuite/libgomp.c++/simd-6.C: Same.
8888 * testsuite/libgomp.c++/simd-7.C: Same.
8889 * testsuite/libgomp.c++/simd-8.C: Same.
8890 * testsuite/libgomp.c++/simd-9.C: Same.
8891 * testsuite/libgomp.c++/simd10.C: Same.
8892 * testsuite/libgomp.c++/simd11.C: Same.
8893 * testsuite/libgomp.c++/simd12.C: Same.
8894 * testsuite/libgomp.c++/simd13.C: Same.
8895
3446fe48
JJ
88962015-06-30 Jakub Jelinek <jakub@redhat.com>
8897
8898 PR middle-end/66702
8899 * testsuite/libgomp.c++/pr66702-1.C: New test.
8900 * testsuite/libgomp.c++/pr66702-2.C: New test.
8901
8a36714a
TV
89022015-06-30 Tom de Vries <tom@codesourcery.com>
8903
8904 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8905 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8906 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8907 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8908
4f75d608
TV
89092015-06-30 Tom de Vries <tom@codesourcery.com>
8910
8911 PR tree-optimization/66652
8912 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8913 using restrict pointers.
8914 (main): Add arguments to calls to f.
8915 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8916
6d9d1eeb
AT
89172015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
8918
8919 * configure.ac: Fix check for header <sys/sysctl.h>.
8920 * configure: Regenerate.
8921 * config.h.in: Likewise.
8922
1222f22b
TV
89232015-06-23 Tom de Vries <tom@codesourcery.com>
8924
8925 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8926 abort.
8927 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8928
d7efbbf6
TS
89292015-06-19 Thomas Schwinge <thomas@codesourcery.com>
8930
bfcd036f
TS
8931 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8932 acc_device_nvidia.
8933
d7efbbf6
TS
8934 PR libgomp/66518
8935 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8936 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8937
d7bfc710
TV
89382015-06-15 Tom de Vries <tom@codesourcery.com>
8939
8940 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
8941 dg-additional-options for any remaining options.
8942 * testsuite/libgomp.c/atomic-2.c: Same.
8943 * testsuite/libgomp.c/atomic-4.c: Same.
8944 * testsuite/libgomp.c/atomic-5.c: Same.
8945 * testsuite/libgomp.c/atomic-6.c: Same.
8946 * testsuite/libgomp.c/autopar-1.c: Same.
8947 * testsuite/libgomp.c/copyin-1.c: Same.
8948 * testsuite/libgomp.c/copyin-2.c: Same.
8949 * testsuite/libgomp.c/copyin-3.c: Same.
8950 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8951 * testsuite/libgomp.c/nestedfn-5.c: Same.
8952 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8953 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8954 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8955 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8956 * testsuite/libgomp.c/pr32362-1.c: Same.
8957 * testsuite/libgomp.c/pr32362-2.c: Same.
8958 * testsuite/libgomp.c/pr32362-3.c: Same.
8959 * testsuite/libgomp.c/pr39591-1.c: Same.
8960 * testsuite/libgomp.c/pr39591-2.c: Same.
8961 * testsuite/libgomp.c/pr39591-3.c: Same.
8962 * testsuite/libgomp.c/pr58392.c: Same.
8963 * testsuite/libgomp.c/pr58756.c: Same.
8964 * testsuite/libgomp.c/simd-1.c: Same.
8965 * testsuite/libgomp.c/simd-10.c: Same.
8966 * testsuite/libgomp.c/simd-11.c: Same.
8967 * testsuite/libgomp.c/simd-12.c: Same.
8968 * testsuite/libgomp.c/simd-13.c: Same.
8969 * testsuite/libgomp.c/simd-14.c: Same.
8970 * testsuite/libgomp.c/simd-15.c: Same.
8971 * testsuite/libgomp.c/simd-2.c: Same.
8972 * testsuite/libgomp.c/simd-3.c: Same.
8973 * testsuite/libgomp.c/simd-4.c: Same.
8974 * testsuite/libgomp.c/simd-5.c: Same.
8975 * testsuite/libgomp.c/simd-6.c: Same.
8976 * testsuite/libgomp.c/simd-7.c: Same.
8977 * testsuite/libgomp.c/simd-8.c: Same.
8978 * testsuite/libgomp.c/simd-9.c: Same.
8979
fb5b5352
TV
89802015-06-15 Tom de Vries <tom@codesourcery.com>
8981
8982 * testsuite/libgomp.c/pr35625.c: Fix typo.
8983
ca431bef
TV
89842015-06-15 Tom de Vries <tom@codesourcery.com>
8985
8986 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8987 in dg-options.
8988 * testsuite/libgomp.c/atomic-3.c: Same.
8989 * testsuite/libgomp.c/debug-1.c: Same.
8990 * testsuite/libgomp.c/nqueens-1.c: Same.
8991 * testsuite/libgomp.c/pr26171.c: Same.
8992 * testsuite/libgomp.c/pr48591.c: Same.
8993 * testsuite/libgomp.c/pr64824.c: Same.
8994 * testsuite/libgomp.c/pr64868.c: Same.
8995 * testsuite/libgomp.c/pr66133.c: Same.
8996 * testsuite/libgomp.c/pr66199-1.c: Same.
8997 * testsuite/libgomp.c/pr66199-2.c: Same.
8998 * testsuite/libgomp.c/target-8.c: Same.
8999
0d8a9e20
TV
90002015-06-15 Tom de Vries <tom@codesourcery.com>
9001
9002 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
9003 -std={gnu99,c99}.
9004 * testsuite/libgomp.c/for-1.c: Same.
9005 * testsuite/libgomp.c/for-2.c: Same.
9006 * testsuite/libgomp.c/for-3.c: Same.
9007 * testsuite/libgomp.c/pr35625.c: Same.
9008 * testsuite/libgomp.c/pr39154.c: Same.
9009 * testsuite/libgomp.c/simd-16.c: Same.
9010 * testsuite/libgomp.c/simd-17.c: Same.
9011
a6860be9
TV
90122015-06-13 Tom de Vries <tom@codesourcery.com>
9013
9014 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
9015
ab3306d2
TV
90162015-06-13 Tom de Vries <tom@codesourcery.com>
9017
9018 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
9019 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9020 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
9021 (N): Define.
9022 (main): Use N instead of hardcoded constants.
9023
7c82d827
TV
90242015-06-05 Tom de Vries <tom@codesourcery.com>
9025
9026 merge from gomp4 branch:
9027 2015-05-28 Tom de Vries <tom@codesourcery.com>
9028
9029 PR tree-optimization/65443
9030 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
9031 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
9032 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
9033
c469078d
BRF
90342015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9035
9036 * testsuite/libgomp.graphite/bounds.c: Adjust for
9037 cleanup-tree-dump removal.
9038 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
9039 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9040 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9041 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9042 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9043 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9044 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9045 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9046 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9047 * testsuite/libgomp.graphite/pr41118.c: Likewise.
9048
bb3caa35
UB
90492015-05-28 Uros Bizjak <ubizjak@gmail.com>
9050
9051 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
9052 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
9053 (futex_wake) [!__x86_64__]: Ditto.
9054
9fb5fd44
JB
90552015-05-28 Julian Brown <julian@codesourcery.com>
9056
9057 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
9058 function comment. Only call gomp_fatal if new argument is true.
9059 (acc_dev_num_out_of_range): New function.
9060 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
9061 acc_dev_num_out_of_range as appropriate.
9062 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
9063 (acc_get_device_num, acc_set_device_num): Update calls to
9064 resolve_device.
9fb5fd44
JB
9065 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
9066 output.
9067
32eaed93
JB
90682015-05-28 Julian Brown <julian@codesourcery.com>
9069
9070 PR libgomp/65742
32eaed93
JB
9071 * oacc-init.c (plugin/plugin-host.h): Include.
9072 (acc_on_device): Check whether we're in an offloaded region for
9073 host_nonshm
9074 plugin. Don't use __builtin_acc_on_device.
9075 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
9076 nonshm_exec flag in thread-local data.
9077 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
9078 data for host_nonshm plugin.
9079 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
9080 for host_nonshm plugin.
9081 * plugin/plugin-host.h: New.
9082
ea023bcf
UB
90832015-05-27 Uros Bizjak <ubizjak@gmail.com>
9084
8ed501f1
UB
9085 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
9086
90872015-05-27 Uros Bizjak <ubizjak@gmail.com>
9088
9089 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
9090 Declare as int.
9091 (FUTEX_PRIVATE_FLAG): Remove L suffix.
9092 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
9093 Declare as int.
9094
90952015-05-27 Uros Bizjak <ubizjak@gmail.com>
9096
bb3caa35 9097 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 9098
1716efeb
CLT
90992015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
9100
9101 * target.c (gomp_map_pointer): New function abstracting out
9102 GOMP_MAP_POINTER handling.
9103 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
9104 gomp_map_pointer().
9105
41b37d5e
JJ
91062015-05-19 Jakub Jelinek <jakub@redhat.com>
9107
9108 PR middle-end/66199
9109 * testsuite/libgomp.c/pr66199-1.c: New test.
9110 * testsuite/libgomp.c/pr66199-2.c: New test.
9111 * testsuite/libgomp.c++/pr66199-1.C: New test.
9112 * testsuite/libgomp.c++/pr66199-2.C: New test.
9113 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
9114 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
9115
c8319826
JB
91162015-05-19 Julian Brown <julian@codesourcery.com>
9117
9118 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
9119 on cuInit failure.
9120
b37dddbc
JJ
91212015-05-13 Jakub Jelinek <jakub@redhat.com>
9122
9123 PR middle-end/66133
9124 * testsuite/libgomp.c/pr66133.c: New test.
9125
55fba601
MH
91262015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
9127
9128 * Makefile.in: Regenerated with automake-1.11.6.
9129 * aclocal.m4: Likewise.
9130 * config.h.in: Likewise.
9131 * configure: Likewise.
9132 * testsuite/Makefile.in: Likewise.
9133
1be0899d
JM
91342015-05-08 Jason Merrill <jason@redhat.com>
9135
9136 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
9137 _Complex.
9138
9139 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
9140
d2463960
JB
91412015-05-06 Julian Brown <julian@codesourcery.com>
9142
9143 * oacc-init.c (acc_device_lock): Add explanatory comment.
9144 (resolve_device): Add comment about locking requirement.
9145 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
9146 gomp_init_device and gomp_fini_device calls.
9147 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9148 (acc_get_device_num, acc_set_device_num): Add locking around
9149 resolve_device and gomp_init_device calls.
9150
e38fdba4
JB
91512015-05-06 Julian Brown <julian@codesourcery.com>
9152
9153 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
9154 goacc_thread_lock on error paths.
9155 * oacc-mem.c (lookup_host): Remove locking from function. Note
9156 locking requirement for caller in function comment.
9157 (lookup_dev): Likewise.
9158 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
9159 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
9160 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
9161 Add locking.
9162
ae8ffbbb
TS
91632015-05-05 Thomas Schwinge <thomas@codesourcery.com>
9164
9165 PR testsuite/65205
9166 PR libgomp/65993
9167 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
9168 don't expect "0x" prefix for "%p" format specifier, don't expect
9169 "(nil)" for NULL pointer.
9170 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9171 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9172 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9173 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9174 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9175 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9176 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9177 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9178 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9179 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9180 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9181 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9182 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9183 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9184 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9185 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9186 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9187 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9188 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9189 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9190 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9191 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9192 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9193 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9194 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9195 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9196 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9197 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9198 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
9199 accurately specify what we're looking for.
9200 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9201 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9202 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9203 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9204 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9205
1309f1d2
JN
92062015-04-30 James Norris <jnorris@codesourcery.com>
9207
9208 PR testsuite/65205
9209 * testsuite/lib/libgomp.exp
9210 (check_effective_target_openacc_host_selected)
9211 (check_effective_target_openacc_host_nonshm_selected): New
9212 procedures.
9213 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
9214 dg-shouldfail.
9215 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9216 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9217 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9218 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9219 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9220 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9221 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9222 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9223 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9224 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9225 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9226 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9227 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9228 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9229 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9230 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9231 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9232 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9233 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9234 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9235 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9236 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9237 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9238 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9239 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9240 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9241 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9242 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9243 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9244 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9245 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9246 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9247 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9248 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9249 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9250 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9251 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9252 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9253 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9254 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9255 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9256 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9257 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9258
d93bdab5
JB
92592015-04-08 Julian Brown <julian@codesourcery.com>
9260
9261 * libgomp.h (target_mem_desc: Remove mem_map field.
9262 (acc_dispatch_t): Remove open_device_func, close_device_func,
9263 get_device_num_func, set_device_num_func, target_data members.
9264 Change create_thread_data_func argument to device number instead of
9265 generic pointer.
9266 * oacc-async.c (assert.h): Include.
9267 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
9268 (acc_wait_all, acc_wait_all_async): Use current host thread's
9269 active device, not base_dev.
9270 * oacc-cuda.c (acc_get_current_cuda_device)
9271 (acc_get_current_cuda_context, acc_get_cuda_stream)
9272 (acc_set_cuda_stream): Likewise.
9273 * oacc-host.c (host_dispatch): Don't set open_device_func,
9274 close_device_func, get_device_num_func or set_device_num_func.
9275 * oacc-init.c (base_dev, init_key): Remove.
9276 (cached_base_dev): New.
9277 (name_of_acc_device_t): New.
9278 (acc_init_1): Initialise default-numbered device, not zeroth.
9279 (acc_shutdown_1): Close all devices of a given type.
9280 (goacc_destroy_thread): Don't use base_dev.
9281 (lazy_open, lazy_init, lazy_init_and_open): Remove.
9282 (goacc_attach_host_thread_to_device): New.
9283 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
9284 (acc_get_num_devices): Don't use base_dev.
9285 (acc_set_device_type): Reimplement.
9286 (acc_get_device_type): Don't use base_dev.
9287 (acc_get_device_num): Tweak logic.
9288 (acc_set_device_num): Likewise.
9289 (acc_on_device): Use acc_get_device_type.
9290 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
9291 (goacc_lazy_initialize): Reimplement with acc_init and
9292 goacc_attach_host_thread_to_device.
9293 * oacc-int.h (goacc_thread): Add base_dev field.
9294 (base_dev): Remove extern declaration.
9295 (goacc_attach_host_thread_to_device): Add prototype.
9296 * oacc-mem.c (acc_malloc): Use current thread's device instead of
9297 base_dev.
9298 (acc_free): Likewise.
9299 (acc_memcpy_to_device): Likewise.
9300 (acc_memcpy_from_device): Likewise.
9301 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
9302 goacc_lazy_initialize (throughout).
9303 (GOACC_parallel): Use tgt_offset to locate target functions.
9304 * target.c (gomp_map_vars): Don't set tgt->mem_map.
9305 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
9306 (gomp_load_plugin_for_device): Remove open_device, close_device,
9307 get_device_num, set_device_num openacc hook initialisation. Don't set
9308 openacc.target_data.
9309 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
9310 (GOMP_OFFLOAD_openacc_close_device)
9311 (GOMP_OFFLOAD_openacc_get_device_num)
9312 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
9313 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
9314 to int.
9315 * plugin/plugin-nvptx.c (ptx_inited): Remove.
9316 (instantiated_devices, ptx_dev_lock): New.
9317 (struct ptx_image_data): New.
9318 (ptx_devices, ptx_images, ptx_image_lock): New.
9319 (fini_streams_for_device): Reorder cuStreamDestroy call.
9320 (nvptx_get_num_devices): Remove forward declaration.
9321 (nvptx_init): Change return type to bool.
9322 (nvptx_fini): Remove.
9323 (nvptx_attach_host_thread_to_device): New.
9324 (nvptx_open_device): Return struct ptx_device* instead of void*.
9325 (nvptx_close_device): Change argument type to struct ptx_device*,
9326 return type to void.
9327 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
9328 (kernel_target_data, kernel_host_table): Remove static globals.
9329 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
9330 (GOMP_OFFLOAD_init_device): Reimplement.
9331 (GOMP_OFFLOAD_fini_device): Likewise.
9332 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
9333 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
9334 (GOMP_OFFLOAD_host2dev): Use ORD argument.
9335 (GOMP_OFFLOAD_openacc_open_device)
9336 (GOMP_OFFLOAD_openacc_close_device)
9337 (GOMP_OFFLOAD_openacc_set_device_num)
9338 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
9339 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
9340 (device number).
9341
9342 testsuite/
9343 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
9344
a51df54e
IV
93452015-04-06 Ilya Verbin <ilya.verbin@intel.com>
9346
9347 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
9348 * libgomp.h (struct gomp_memory_mapping): Remove.
9349 (struct target_mem_desc): Change type of mem_map from
9350 gomp_memory_mapping * to splay_tree_s *.
9351 (struct gomp_device_descr): Remove register_image_func, get_table_func.
9352 Add load_image_func, unload_image_func.
9353 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
9354 Remove offload_regions_registered.
9355 (gomp_init_tables): Remove.
9356 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9357 to splay_tree_s *.
9358 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
9359 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
9360 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
9361 offload_regions_registered.
9362 Initialize load_image_func, unload_image_func, mem_map.root.
9363 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
9364 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
9365 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
9366 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
9367 gomp_memory_mapping *. Use dev's lock and splay_tree.
9368 (lookup_dev): Use dev's lock.
9369 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
9370 (acc_is_present): Likewise.
9371 (acc_map_data): Likewise.
9372 (acc_unmap_data): Likewise. Use dev's lock.
9373 (present_create_copy): Likewise.
9374 (delete_copyout): Pass dev to lookup_host instead of mem_map.
9375 (update_dev_host): Likewise.
9376 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
9377 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
9378 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
9379 (GOMP_OFFLOAD_get_table): Remove
9380 (GOMP_OFFLOAD_load_image): New function.
9381 (GOMP_OFFLOAD_unload_image): New function.
9382 * target.c (register_lock): New mutex for offload image registration.
9383 (num_devices): Do not guard with PLUGIN_SUPPORT.
9384 (gomp_realloc_unlock): New static function.
9385 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
9386 before gomp_fatal.
9387 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
9388 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
9389 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
9390 mem_map's.
9391 (gomp_unmap_vars): Likewise.
9392 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
9393 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
9394 (gomp_offload_image_to_device): New static function.
9395 (GOMP_offload_register): Add mutex lock.
9396 Call gomp_offload_image_to_device for all initialized devices.
9397 Replace gomp_realloc with gomp_realloc_unlock.
9398 (GOMP_offload_unregister): New function.
9399 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
9400 get_table_func from the plugin with calls to init_device_func and
9401 gomp_offload_image_to_device.
9402 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9403 to splay_tree_s *.
9404 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
9405 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
9406 (GOMP_target_data): Do not call gomp_init_tables.
9407 (GOMP_target_update): Likewise. Remove argument from gomp_update.
9408 (gomp_load_plugin_for_device): Replace register_image and get_table
9409 with load_image and unload_image in DLSYM ().
9410 (gomp_register_images_for_device): Remove function.
9411 (gomp_target_init): Do not initialize current_device.mem_map.*,
9412 current_device.offload_regions_registered.
9413 Remove call to gomp_register_images_for_device.
9414 Do not free offload_images and num_offload_images.
9415
6c384511
JJ
94162015-03-30 Jakub Jelinek <jakub@redhat.com>
9417
9418 PR fortran/65597
9419 * testsuite/libgomp.fortran/pr65597.f90: New test.
9420
3e8165a5
TV
94212015-03-27 Tom de Vries <tom@codesourcery.com>
9422
9423 PR testsuite/65594
9424 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
9425 (init, check): New function.
9426 (foo): Change return type to void.
9427 (main): Call init and check.
9428
4d688c9a
TV
94292015-03-27 Tom de Vries <tom@codesourcery.com>
9430
9431 PR testsuite/65594
9432 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
9433 (foo): Use M for non-inner loops to scale down test-case.
9434
01c0b3b0
KT
94352015-03-25 Kai Tietz <ktietz@redhat.com>
9436
9437 PR libgomp/64972
9438 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
9439 (GOACC_data_start): Likewise.
9440 * target.c (gomp_map_vars): Likewise.
9441
844d9a76
JDA
94422015-03-21 John David Anglin <danglin@gcc.gnu.org>
9443
9444 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
9445 hppa*-*-hpux*.
9446
9b65e171
JJ
94472015-03-19 Jakub Jelinek <jakub@redhat.com>
9448
9449 * testsuite/libgomp.c/target-10.c: New test.
9450 * testsuite/libgomp.c++/target-4.C: New test.
9451
db397e2e
IV
94522015-03-13 Ilya Verbin <ilya.verbin@intel.com>
9453
9454 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
9455 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
9456
cd93945d
SH
94572015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
9458
9459 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
9460 * configure.ac (*-*-rtems*): Assume Pthread is supported.
9461 (pthread.h): Check for this header file.
9462 * configure: Regenerate.
9463
05deba9f
TV
94642015-02-25 Tom de Vries <tom@codesourcery.com>
9465
9466 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
9467 (check_reduction_op, check_reduction_macro, max, min):
9468 Declare.
9469 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
9470 function.
9471 (main): Use new functions.
9472
196904d8
IT
94732015-02-18 Ilya Tocar <ilya.tocar@intel.com>
9474
9475 * target.c (gomp_load_plugin_for_device): Use const char * instead of
9476 char * for variables holding dlerror return values.
9477 (DLSYM_OPT): Ditto.
9478
a2818955
TS
94792015-02-17 Thomas Schwinge <thomas@codesourcery.com>
9480
9481 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
9482
26f93312
TS
94832015-02-17 Thomas Schwinge <thomas@codesourcery.com>
9484 Cesar Philippidis <cesar@codesourcery.com>
9485
9486 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
9487 GOACC_ctaid, and GOACC_nctaid routines.
9488
fa01ffcc
JJ
94892015-02-11 Jakub Jelinek <jakub@redhat.com>
9490
9491 PR c/64824
9492 * testsuite/libgomp.c/atomic-18.c: New test.
9493 * testsuite/libgomp.c++/atomic-16.C: New test.
9494
4886ec8e
JJ
94952015-02-04 Jakub Jelinek <jakub@redhat.com>
9496
9497 PR c/64824
9498 PR c/64868
9499 * testsuite/libgomp.c/pr64824.c: New test.
9500 * testsuite/libgomp.c/pr64868.c: New test.
9501 * testsuite/libgomp.c++/pr64824.C: New test.
9502 * testsuite/libgomp.c++/pr64868.C: New test.
9503
02d3e45e
DE
95042015-02-01 David Edelsohn <dje.gcc@gmail.com>
9505
9506 PR libgomp/64635
9507 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
9508 Link with -lpthread.
9509 * config/aix/plugin-suffix.h: Delete.
9510
b5f7a6ca
JH
95112015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
9512
9513 PR libgomp/64635
9514 * configure.tgt (*-*-aix*): Use config_path "aix posix".
9515 (*-*-darwin*): Use config_path "bsd darwin posix".
9516 (*-*-hpux*): Use config_path "hpux posix".
9517 * target.c: Add include of plugin-suffix.h and use
9518 SONAME_SUFFIX macro.
9519 * config/aix/plugin-suffix.h: New file.
9520 * config/darwin/plugin-suffix.h: New file.
9521 * config/hpux/plugin-suffix.h: New file.
9522 * config/posix/plugin-suffix.h: New file.
9523
b8910447
JJ
95242015-01-23 Jakub Jelinek <jakub@redhat.com>
9525
9526 PR middle-end/64734
9527 * libgomp.c/pr64734.c: New test.
9528
a0c88d06
TV
95292015-01-23 Tom de Vries <tom@codesourcery.com>
9530
9531 PR libgomp/64672
9532 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
9533
1506ae0e
TV
95342015-01-23 Tom de Vries <tom@codesourcery.com>
9535
9536 PR libgomp/64707
9537 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
9538 dg-options.
9539
128b26dc
TS
95402015-01-19 Thomas Schwinge <thomas@codesourcery.com>
9541
bed62c21 9542 PR libgomp/64625
128b26dc
TS
9543 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
9544 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
9545 formal parameter. Update all users.
9546 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
9547 Document unused formal parameter.
9548
6e36114c
TS
95492015-01-16 Thomas Schwinge <thomas@codesourcery.com>
9550
9551 * oacc-parallel.c: Don't include <alloca.h>.
9552 (GOACC_parallel): Use gomp_alloca instead of alloca.
9553
973e9808
GP
95542015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
9555
9556 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
9557
41dbbb37
TS
95582015-01-15 Thomas Schwinge <thomas@codesourcery.com>
9559 James Norris <jnorris@codesourcery.com>
9560 Tom de Vries <tom@codesourcery.com>
9561 Julian Brown <julian@codesourcery.com>
9562 Cesar Philippidis <cesar@codesourcery.com>
9563 Nathan Sidwell <nathan@codesourcery.com>
9564 Tobias Burnus <burnus@net-b.de>
9565
9566 * Makefile.am (search_path): Add $(top_srcdir)/../include.
9567 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
9568 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
9569 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
9570 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
9571 Include $(top_srcdir)/plugin/Makefrag.am.
9572 (nodist_libsubinclude_HEADERS): Add openacc.h.
9573 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
9574 openacc.f90, openacc.mod, openacc_kinds.mod.
9575 (omp_lib.mod): Generalize into...
9576 (%.mod): ... this new rule.
9577 (openacc_kinds.mod, openacc.mod): New rules.
9578 * plugin/configfrag.ac: New file.
9579 * configure.ac: Move plugin/offloading support into it. Include
9580 it. Instantiate testsuite/libgomp-test-support.pt.exp.
9581 * plugin/Makefrag.am: New file.
9582 * testsuite/Makefile.am (OFFLOAD_TARGETS)
9583 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
9584 export.
9585 (libgomp-test-support.exp): New rule.
9586 (all-local): Depend on it.
9587 * Makefile.in: Regenerate.
9588 * testsuite/Makefile.in: Regenerate.
9589 * config.h.in: Likewise.
9590 * configure: Likewise.
9591 * configure.tgt: Harden shell syntax.
9592 * env.c: Include "oacc-int.h".
9593 (parse_acc_device_type): New function.
9594 (gomp_debug_var, goacc_device_type, goacc_device_num): New
9595 variables.
9596 (initialize_env): Initialize those. Call
9597 goacc_runtime_initialize.
9598 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9599 (gomp_fatal): Call gomp_vfatal.
9600 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9601 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9602 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9603 (splay_tree_node, splay_tree, splay_tree_key)
9604 (struct target_mem_desc, struct splay_tree_key_s)
9605 (struct gomp_memory_mapping, struct acc_dispatch_t)
9606 (struct gomp_device_descr, gomp_acc_insert_pointer)
9607 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9608 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9609 (gomp_free_memmap, gomp_fini_device): New declarations.
9610 (gomp_vdebug, gomp_debug): New macros.
9611 Include "splay-tree.h".
9612 * libgomp.map (OACC_2.0): New symbol version. Use for
9613 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9614 acc_set_device_type_h_, acc_get_device_type,
9615 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9616 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9617 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9618 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9619 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9620 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9621 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9622 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9623 acc_copyin_array_h_, acc_present_or_copyin,
9624 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9625 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9626 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9627 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9628 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9629 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9630 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9631 acc_update_device, acc_update_device_32_h_,
9632 acc_update_device_64_h_, acc_update_device_array_h_,
9633 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9634 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9635 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9636 acc_is_present_64_h_, acc_is_present_array_h_,
9637 acc_memcpy_to_device, acc_memcpy_from_device,
9638 acc_get_current_cuda_device, acc_get_current_cuda_context,
9639 acc_get_cuda_stream, acc_set_cuda_stream.
9640 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
9641 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9642 GOACC_update, GOACC_wait, GOACC_get_thread_num,
9643 GOACC_get_num_threads.
9644 (GOMP_PLUGIN_1.0): New symbol version. Use for
9645 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9646 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9647 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9648 GOMP_PLUGIN_acc_thread.
9649 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9650 environment variable.
9651 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9652 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9653 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9654 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9655 (splay_tree_remove): New declarations.
9656 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9657 (splay_tree_remove, splay_tree_lookup): Move into...
9658 * splay-tree.c: ... this new file.
9659 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9660 (splay_tree_node, splay_tree, splay_tree_key)
9661 (struct target_mem_desc, struct splay_tree_key_s)
9662 (struct gomp_device_descr): Don't declare.
9663 (num_devices_openmp): New variable.
9664 (gomp_get_num_devices ): Use it.
9665 (gomp_init_targets_once): New function.
9666 (gomp_get_num_devices ): Use it.
9667 (get_kind, gomp_copy_from_async, gomp_free_memmap)
9668 (gomp_fini_device, gomp_register_image_for_device): New functions.
9669 (gomp_map_vars): Add devaddrs parameter.
9670 (gomp_update): Add mm parameter.
9671 (gomp_init_device): Move most of it into...
9672 (gomp_init_tables): ... this new function.
9673 (gomp_register_images_for_device): Remove function.
9674 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9675 Make them hidden instead of static.
9676 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9677 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9678 (GOMP_target_end_data, GOMP_target_update)
9679 (gomp_load_plugin_for_device, gomp_target_init): Update for
9680 OpenACC changes.
9681 * oacc-async.c: New file.
9682 * oacc-cuda.c: Likewise.
9683 * oacc-host.c: Likewise.
9684 * oacc-init.c: Likewise.
9685 * oacc-int.h: Likewise.
9686 * oacc-mem.c: Likewise.
9687 * oacc-parallel.c: Likewise.
9688 * oacc-plugin.c: Likewise.
9689 * oacc-plugin.h: Likewise.
9690 * oacc-ptx.h: Likewise.
9691 * openacc.f90: Likewise.
9692 * openacc.h: Likewise.
9693 * openacc_lib.h: Likewise.
9694 * plugin/plugin-host.c: Likewise.
9695 * plugin/plugin-nvptx.c: Likewise.
9696 * libgomp-plugin.c: Likewise.
9697 * libgomp-plugin.h: Likewise.
9698 * libgomp_target.h: Remove file after merging content into the
9699 former file. Update all users.
9700 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9701 (offload_targets_s, offload_targets_s_openacc): New variables.
9702 (check_effective_target_openacc_nvidia_accel_present)
9703 (check_effective_target_openacc_nvidia_accel_selected): New
9704 procedures.
9705 (libgomp_init): Update for OpenACC changes.
9706 * testsuite/libgomp-test-support.exp.in: New file.
9707 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9708 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9709 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9710 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9711 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9712 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9713 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9714 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9715 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9716 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9717 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9718 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9719 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9720 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9721 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9722 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9723 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9724 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9725 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9726 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9727 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9728 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9729 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9730 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9731 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9732 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9733 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9734 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9735 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9736 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9737 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9738 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9739 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9740 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9741 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9742 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9743 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9744 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9745 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9746 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9747 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9748 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9749 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9750 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9751 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9752 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9753 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9754 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9755 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9756 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9757 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9758 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9759 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9760 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9761 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9762 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9763 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9764 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9765 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9766 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9767 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9768 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9769 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9770 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9771 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9772 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9773 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9774 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9775 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9776 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9777 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9778 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9779 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9780 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9781 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9782 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9783 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9784 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9785 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9786 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9787 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9788 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9789 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9790 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9791 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9792 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9793 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9794 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9795 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9796 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9797 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9798 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9799 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9800 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9801 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9802 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9803 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9804 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9805 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9806 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9807 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9808 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9809 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9810 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9811 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9812 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9813 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9814 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9815 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9816 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9817 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9818 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9819 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9820 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9821 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9822 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9823 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9824 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9825 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9826 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9827 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9828 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9829 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9830 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9831 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9832 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9833 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9834 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9835 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9836 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9837 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9838 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9839 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9840 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9841 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9842 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9843 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9844 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9845 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9846 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9847 Likewise.
9848 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9849 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9850 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9851 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9852 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9853 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9854 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9855 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9856 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9857 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9858 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9859 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9860 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9861 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9862 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9863 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9864 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9865 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9866 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9867 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9868 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9869 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9870 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9871 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9872 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9873 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9874 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9875 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9876 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9877 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9878 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9879 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9880 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9881 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9882 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9883 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9884 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9885 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9886 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9887 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9888 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9889 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9890 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9891 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9892 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9893 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9894 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9895 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9896 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9897 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9898 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9899 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9900 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9901 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9902 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9903 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9904 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9905 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9906 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9907 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9908
f1f3453e
TS
99092015-01-10 Thomas Schwinge <thomas@codesourcery.com>
9910 Julian Brown <julian@codesourcery.com>
9911 David Malcolm <dmalcolm@redhat.com>
9912
9913 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9914 to "GNU Offloading and Multi Processing Runtime Library". Change
9915 all users.
9916 * configure: Regenerate.
9917 * libgomp.texi: Update.
9918
f9a0eca4
TS
99192015-01-08 Thomas Schwinge <thomas@codesourcery.com>
9920
b335ef4e
TS
9921 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9922 "$tgt_dir/lib32".
9923 * configure: Regenerate.
9924
f9a0eca4
TS
9925 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9926 "intelmic" in $offload_targets.
9927
b67cd4e3
JJ
99282015-01-05 Jakub Jelinek <jakub@redhat.com>
9929
5624e564
JJ
9930 Update copyright years.
9931
b67cd4e3
JJ
9932 * libgomp.texi: Bump @copying's copyright year.
9933
3b41b583
KT
99342014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9935
9936 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 9937 Move load of target-supports.exp earlier.
3b41b583 9938
2354caec
IV
99392014-12-10 Ilya Verbin <ilya.verbin@intel.com>
9940
9941 * testsuite/libgomp.c/target-9.c: New test.
9942
f50eecba
VR
99432014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
9944
9945 * config.h.in: Regenerate.
9946 * configure: Regenerate.
9947 * configure.ac: Add GCC_CHECK_EMUTLS.
9948 * libgomp.h: Add check for USE_EMUTLS: this case
9949 is equal to HAVE_TLS.
9950 * team.c: Likewise.
9951
68bc9270
UB
99522014-12-03 Uros Bizjak <ubizjak@gmail.com>
9953
9954 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9955
476ff787
AT
99562014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
9957 Ilya Verbin <ilya.verbin@intel.com>
9958
9959 * testsuite/libgomp.c/target-critical-1.c: New test.
9960
31a30e62
JJ
99612014-11-26 Jakub Jelinek <jakub@redhat.com>
9962
9963 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 9964 to dg-options unless expensive testing is on.
31a30e62
JJ
9965 (TESTITERS): Define to N if not defined.
9966 (main): Use TESTITERS instead of N.
9967 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9968 dg-additional-options depending on whether expensive testing is on.
9969 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9970 Decrease N to 100000 and CHUNKSZ to 10000.
9971
3f9e8f13
JJ
99722014-11-24 Jakub Jelinek <jakub@redhat.com>
9973
9974 PR fortran/63938
31a30e62
JJ
9975 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
9976 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 9977
c8451a46
SE
99782014-11-21 Steve Ellcey <sellcey@imgtec.com>
9979
9980 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
9981
a699d672
L
99822014-11-21 H.J. Lu <hongjiu.lu@intel.com>
9983
9984 PR bootstrap/63784
9985 * configure: Regenerated.
9986
4a19f719
UB
99872014-11-19 Uros Bizjak <ubizjak@gmail.com>
9988
9989 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
9990 vect_simd_clones effective target.
9991 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9992
b1bf6c52
JJ
99932014-11-14 Jakub Jelinek <jakub@redhat.com>
9994
9995 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
9996 of 32 as block_size.
9997 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
9998 instead of 32 as block_size.
9999
d64ae614
AT
100002014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
10001 Ilya Verbin <ilya.verbin@intel.com>
10002
10003 * Makefile.in: Regenerate.
10004 * configure: Regenerate.
10005 * configure.ac: Set up offload_additional_options,
10006 offload_additional_lib_paths and offload_targets.
10007 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
10008 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
10009 * testsuite/Makefile.in: Regenerate.
10010 * testsuite/lib/libgomp.exp (libgomp_init): Append
10011 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
10012 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
10013 build directory to LD_LIBRARY_PATH for intelmic offload targets.
10014
122d7303
AT
100152014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
10016 Ilya Verbin <ilya.verbin@intel.com>
10017 Kirill Yukhin <kirill.yukhin@intel.com>
10018 Ilya Tocar <ilya.tocar@intel.com>
10019
10020 * testsuite/lib/libgomp.exp
10021 (check_effective_target_offload_device): New.
10022 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
10023 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
10024 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
10025 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
10026 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
10027 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
10028 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
10029 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
10030 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
10031 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
10032 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
10033 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
10034 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
10035 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
10036 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
10037 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
10038 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
10039 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
10040 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
10041 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
10042 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
10043 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
10044 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
10045 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
10046 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
10047 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
10048 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
10049 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
10050 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
10051 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
10052 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
10053 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
10054 * testsuite/libgomp.c/target-7.c: Fix test.
10055 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
10056 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
10057 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
10058 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
10059 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
10060 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
10061 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
10062 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
10063 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
10064 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
10065 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
10066 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
10067 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
10068 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
10069 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
10070 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
10071 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
10072 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
10073 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10074 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
10075 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
10076 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
10077 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
10078 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
10079 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
10080 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
10081 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
10082 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
10083 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
10084 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
10085 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
10086
1df3f842
JJ
100872014-11-13 Jakub Jelinek <jakub@redhat.com>
10088 Ilya Verbin <ilya.verbin@intel.com>
10089 Thomas Schwinge <thomas@codesourcery.com>
10090 Andrey Turetskiy <andrey.turetskiy@intel.com>
10091
10092 * libgomp.map (GOMP_4.0.1): New symbol version.
10093 Add GOMP_offload_register.
10094 * libgomp_target.h: New file.
10095 * splay-tree.h: New file.
10096 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
10097 (gomp_target_init): New forward declaration.
10098 (gomp_is_initialized): New static variable.
10099 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
10100 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
10101 New structures.
10102 (offload_images, num_offload_images, devices, num_devices): New static
10103 variables.
10104 (splay_compare): New static function.
10105 (struct gomp_device_descr): New structure.
10106 (gomp_get_num_devices): Call gomp_target_init.
10107 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
10108 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
10109 (GOMP_offload_register): New function.
10110 (GOMP_target): Arrange for host callback to be performed in a separate
10111 initial thread and contention group, inheriting ICVs from
10112 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
10113 Add device initialization and lookup for target function in splay tree.
10114 (GOMP_target_data): Add device initialization and call gomp_map_vars.
10115 (GOMP_target_end_data): Call gomp_unmap_vars.
10116 (GOMP_target_update): Add device initialization and call gomp_update.
10117 (gomp_load_plugin_for_device, gomp_register_images_for_device)
10118 (gomp_target_init): New static functions.
10119
85c64bbe
BS
101202014-11-13 Bernd Schmidt <bernds@codesourcery.com>
10121 Thomas Schwinge <thomas@codesourcery.com>
10122 Ilya Verbin <ilya.verbin@intel.com>
10123 Andrey Turetskiy <andrey.turetskiy@intel.com>
10124
10125 * config.h.in: Regenerate.
10126 * configure: Regenerate.
10127 * configure.ac: Check for libdl, required for plugin support.
10128 (PLUGIN_SUPPORT): Define if plugins are supported.
10129 (enable_offload_targets): Support Intel MIC targets.
10130 (OFFLOAD_TARGETS): List of target names suitable for offloading.
10131
ebf6d33b
FXC
101322014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10133
10134 PR target/63610
10135 * configure: Regenerate.
10136
8c768629
RO
101372014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10138
10139 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
10140
c1d62412
MP
101412014-10-06 Marek Polacek <polacek@redhat.com>
10142
10143 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
10144 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
10145 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
10146 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10147
44a0c6cb
MP
101482014-10-06 Marek Polacek <polacek@redhat.com>
10149
10150 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
10151 * testsuite/libgomp.c/nqueens-1.c: Likewise.
10152 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10153 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10154 * testsuite/libgomp.c/pr36802-2.c: Likewise.
10155 * testsuite/libgomp.c/pr36802-3.c: Likewise.
10156 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
10157 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10158 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
10159 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
10160 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
10161 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
10162 * testsuite/libgomp.c/omp-single-1.c: Likewise.
10163 * testsuite/libgomp.c/omp-single-2.c: Likewise.
10164 * testsuite/libgomp.c/omp_matvec.c: Likewise.
10165 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
10166 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
10167 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
10168 declarations.
10169
5771c391
JJ
101702014-10-03 Jakub Jelinek <jakub@redhat.com>
10171
10172 PR libgomp/61200
10173 * testsuite/libgomp.c/pr61200.c: New test.
10174
bce16b88
JJ
101752014-09-18 Jakub Jelinek <jakub@redhat.com>
10176
10177 PR c++/63248
10178 * testsuite/libgomp.c++/pr63248.C: New test.
10179
3696163c
JJ
101802014-08-04 Jakub Jelinek <jakub@redhat.com>
10181
10182 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
10183 is not zero, but taskgroup->children is NULL and there are
10184 any task->children, schedule those instead of waiting.
10185 * testsuite/libgomp.c/depend-6.c: New test.
10186 * testsuite/libgomp.c/depend-7.c: New test.
10187 * testsuite/libgomp.c/depend-8.c: New test.
10188 * testsuite/libgomp.c/depend-9.c: New test.
10189 * testsuite/libgomp.c/depend-10.c: New test.
10190
0494285a
JJ
101912014-08-01 Jakub Jelinek <jakub@redhat.com>
10192
10193 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
10194 (struct gomp_taskwait): New type.
10195 (struct gomp_task): Add taskwait and parent_depends_on, remove
10196 in_taskwait and taskwait_sem fields.
10197 (gomp_finish_task): Don't destroy taskwait_sem.
10198 * task.c (gomp_init_task): Don't init in_taskwait, instead init
10199 taskwait and parent_depends_on.
10200 (GOMP_task): For if (0) tasks with depend clause that depend on
10201 earlier tasks don't defer them, instead call
10202 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
10203 Initialize redundant_out field, for redundant out entries just
10204 move them at the end of linked list instead of removing them
10205 completely, and set redundant_out flag instead of redundant.
10206 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
10207 that task.
10208 (gomp_task_run_post_handle_dependers): If parent is in
10209 gomp_task_maybe_wait_for_dependencies and newly runnable task
10210 is not parent_depends_on, queue it in parent->children linked
10211 list after all runnable tasks with parent_depends_on set.
10212 Adjust for addition of taskwait indirection.
10213 (gomp_task_run_post_remove_parent): If parent is in
10214 gomp_task_maybe_wait_for_dependencies and task to be removed
10215 is parent_depends_on, decrement n_depend and if needed awake
10216 parent. Adjust for addition of taskwait indirection.
10217 (GOMP_taskwait): Adjust for addition of taskwait indirection.
10218 (gomp_task_maybe_wait_for_dependencies): New function.
10219 * testsuite/libgomp.c/depend-5.c: New test.
10220
60ab4b44
TB
102212014-07-13 Tobias Burnus <burnus@net-b.de>
10222
10223 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 10224 with TS 18508/Fortran 2015.
60ab4b44 10225
773ec47f
MP
102262014-07-06 Marek Polacek <polacek@redhat.com>
10227
10228 PR c/6940
10229 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
10230
f707da16
JJ
102312014-07-03 Jakub Jelinek <jakub@redhat.com>
10232
10233 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
10234 matches regex $lang_source_re, add $lang_include_flags to options.
10235 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
10236 * testsuite/libgomp.c++/c++.exp: Likewise.
10237 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
10238 and lang_include_flags instead of adding -fintrinsic-modules-path= to
10239 ALWAYS_CFLAGS.
10240 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
10241
07b6c044
TS
102422014-07-03 Thomas Schwinge <thomas@codesourcery.com>
10243
10244 * testsuite/libgomp.fortran/fortran.exp: Explain
10245 gfortran-dg-runtest usage.
10246
da6f124d
JJ
102472014-06-25 Jakub Jelinek <jakub@redhat.com>
10248
10249 * testsuite/libgomp.fortran/simd5.f90: New test.
10250 * testsuite/libgomp.fortran/simd6.f90: New test.
10251 * testsuite/libgomp.fortran/simd7.f90: New test.
10252
b46ebd6c
JJ
102532014-06-24 Jakub Jelinek <jakub@redhat.com>
10254
56ad0e38
JJ
10255 * testsuite/libgomp.c/for-2.c: Define SC to static for
10256 #pragma omp for simd testing.
10257 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
10258 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
10259 SC macro.
10260 * testsuite/libgomp.c/simd-14.c: New test.
10261 * testsuite/libgomp.c/simd-15.c: New test.
10262 * testsuite/libgomp.c/simd-16.c: New test.
10263 * testsuite/libgomp.c/simd-17.c: New test.
10264 * testsuite/libgomp.c++/for-10.C: Define SC to static for
10265 #pragma omp for simd testing.
10266 * testsuite/libgomp.c++/simd10.C: New test.
10267 * testsuite/libgomp.c++/simd11.C: New test.
10268 * testsuite/libgomp.c++/simd12.C: New test.
10269 * testsuite/libgomp.c++/simd13.C: New test.
10270
b46ebd6c
JJ
10271 * testsuite/libgomp.fortran/aligned1.f03: New test.
10272 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
10273 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
10274 tasks with !$omp parallel !$omp single.
10275 * testsuite/libgomp.fortran/target8.f90: New test.
10276 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
10277 not to use trim in the combiner, instead call elemental function.
10278 (fn): New elemental function.
10279 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
10280 Make elemental.
10281 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
10282 omp_in): Likewise.
10283 * testsuite/libgomp.fortran/udr12.f90: New test.
10284 * testsuite/libgomp.fortran/udr13.f90: New test.
10285 * testsuite/libgomp.fortran/udr14.f90: New test.
10286 * testsuite/libgomp.fortran/udr15.f90: New test.
10287
f014c653
JJ
102882014-06-18 Jakub Jelinek <jakub@redhat.com>
10289
10290 * omp_lib.f90.in (openmp_version): Set to 201307.
10291 * omp_lib.h.in (openmp_version): Likewise.
10292 * testsuite/libgomp.c/target-8.c: New test.
10293 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
10294 and inbranch clauses.
10295 * testsuite/libgomp.fortran/depend-3.f90: New test.
10296 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
10297 openmp_version.
10298 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10299 * testsuite/libgomp.fortran/target1.f90: New test.
10300 * testsuite/libgomp.fortran/target2.f90: New test.
10301 * testsuite/libgomp.fortran/target3.f90: New test.
10302 * testsuite/libgomp.fortran/target4.f90: New test.
10303 * testsuite/libgomp.fortran/target5.f90: New test.
10304 * testsuite/libgomp.fortran/target6.f90: New test.
10305 * testsuite/libgomp.fortran/target7.f90: New test.
10306
92d28cbb
JJ
103072014-06-10 Jakub Jelinek <jakub@redhat.com>
10308
10309 PR fortran/60928
10310 * testsuite/libgomp.fortran/allocatable9.f90: New test.
10311 * testsuite/libgomp.fortran/allocatable10.f90: New test.
10312 * testsuite/libgomp.fortran/allocatable11.f90: New test.
10313 * testsuite/libgomp.fortran/allocatable12.f90: New test.
10314 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
10315 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
10316 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
10317 * testsuite/libgomp.fortran/associate1.f90: New test.
10318 * testsuite/libgomp.fortran/associate2.f90: New test.
10319 * testsuite/libgomp.fortran/procptr1.f90: New test.
10320
5f23671d
JJ
103212014-06-06 Jakub Jelinek <jakub@redhat.com>
10322
10323 * testsuite/libgomp.fortran/simd1.f90: New test.
10324 * testsuite/libgomp.fortran/udr1.f90: New test.
10325 * testsuite/libgomp.fortran/udr2.f90: New test.
10326 * testsuite/libgomp.fortran/udr3.f90: New test.
10327 * testsuite/libgomp.fortran/udr4.f90: New test.
10328 * testsuite/libgomp.fortran/udr5.f90: New test.
10329 * testsuite/libgomp.fortran/udr6.f90: New test.
10330 * testsuite/libgomp.fortran/udr7.f90: New test.
10331 * testsuite/libgomp.fortran/udr8.f90: New test.
10332 * testsuite/libgomp.fortran/udr9.f90: New test.
10333 * testsuite/libgomp.fortran/udr10.f90: New test.
10334 * testsuite/libgomp.fortran/udr11.f90: New test.
10335
0389fbb5
UB
103362014-05-27 Uros Bizjak <ubizjak@gmail.com>
10337
10338 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
10339 vect_simd_clones effective target.
10340 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
10341
decaaec8
JJ
103422014-05-21 Jakub Jelinek <jakub@redhat.com>
10343
10344 PR middle-end/61252
10345 * testsuite/libgomp.c++/simd-9.C: New test.
10346
72832460
UB
103472014-05-18 Uros Bizjak <ubizjak@gmail.com>
10348
10349 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
10350 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
10351 texts according to their @menu entry positions.
10352
dd2fc525
JJ
103532014-05-11 Jakub Jelinek <jakub@redhat.com>
10354
10355 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
10356 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
10357 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
10358 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
10359 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
10360 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
10361 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
10362 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
10363 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
10364 * testsuite/libgomp.fortran/depend-1.f90: New test.
10365 * testsuite/libgomp.fortran/depend-2.f90: New test.
10366 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
10367 * testsuite/libgomp.fortran/simd1.f90: New test.
10368 * testsuite/libgomp.fortran/simd2.f90: New test.
10369 * testsuite/libgomp.fortran/simd3.f90: New test.
10370 * testsuite/libgomp.fortran/simd4.f90: New test.
10371 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
10372
95782571
JJ
103732014-05-02 Jakub Jelinek <jakub@redhat.com>
10374
10375 * testsuite/libgomp.c/simd-10.c: New test.
10376 * testsuite/libgomp.c/simd-11.c: New test.
10377 * testsuite/libgomp.c/simd-12.c: New test.
10378 * testsuite/libgomp.c/simd-13.c: New test.
10379
f7468577
JJ
103802014-04-24 Jakub Jelinek <jakub@redhat.com>
10381
42056eac
JJ
10382 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
10383 atomic type clauses in any order and optional comma in between.
10384 * testsuite/libgomp.c++/atomic-15.C: Likewise.
10385 * testsuite/libgomp.c/atomic-17.c: Likewise.
10386
f7468577
JJ
10387 * testsuite/libgomp.c/simd-7.c: New test.
10388 * testsuite/libgomp.c/simd-8.c: New test.
10389 * testsuite/libgomp.c/simd-9.c: New test.
10390 * testsuite/libgomp.c/loop-16.c: New test.
10391
ab18f2f5
RH
103922014-04-02 Richard Henderson <rth@redhat.com>
10393
10394 * config/linux/futex.h (futex_wait): Get error value from errno.
10395 (futex_wake): Likewise.
10396
8bcc90b0
JJ
103972014-03-25 Jakub Jelinek <jakub@redhat.com>
10398
10399 PR c++/60331
10400 * testsuite/libgomp.c++/udr-11.C: New test.
10401 * testsuite/libgomp.c++/udr-12.C: New test.
10402 * testsuite/libgomp.c++/udr-13.C: New test.
10403 * testsuite/libgomp.c++/udr-14.C: New test.
10404 * testsuite/libgomp.c++/udr-15.C: New test.
10405 * testsuite/libgomp.c++/udr-16.C: New test.
10406 * testsuite/libgomp.c++/udr-17.C: New test.
10407 * testsuite/libgomp.c++/udr-18.C: New test.
10408 * testsuite/libgomp.c++/udr-19.C: New test.
10409
18d73c7f
RS
104102014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10411
10412 Update copyright years
10413
f9030485
RS
104142014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10415
10416 * hashtab.h: Use the standard form for the copyright notice.
10417
98db73df
TB
104182014-01-02 Tobias Burnus <burnus@net-b.de>
10419
10420 * libgomp.texi: Bump @copying's copyright year.
10421
ae246f7f
AT
104222013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
10423
93d90219 10424 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
10425 alloca () with __builtin_alloca ().
10426 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
10427 * testsuite/libgomp.c/lock-3.c: Likewise.
10428 * testsuite/libgomp.c/pr48591.c: Likewise.
10429
fa00a5fe
JJ
104302013-12-17 Jakub Jelinek <jakub@redhat.com>
10431
10432 PR testsuite/59534
10433 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
10434 comparisons.
10435
e9792e1d
JJ
104362013-12-16 Jakub Jelinek <jakub@redhat.com>
10437
10438 PR libgomp/58756
10439 * testsuite/libgomp.c/pr58756.c: New test.
10440
cab37c89
JJ
104412013-12-12 Jakub Jelinek <jakub@redhat.com>
10442
10443 PR libgomp/59467
10444 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
10445 !$omp parallel.
10446
de14871c
TS
104472013-11-07 Thomas Schwinge <thomas@codesourcery.com>
10448
1707a5de
TS
10449 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
10450 ALWAYS_CFLAGS.
10451 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
10452 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
10453 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
10454 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
10455 Likewise.
10456
70f05c43
TS
10457 * libgomp_g.h: Include <stddef.h> for size_t.
10458
de14871c
TS
10459 * libgomp.spec.in: Update comment about libgomp's dependencies.
10460 * configure.ac: Likewise.
10461 * configure: Regenerate.
10462
83fd6c5b
TB
104632013-10-16 Tobias Burnus <burnus@net-b.de>
10464
10465 * libgomp.texi: (Runtime Library Routines): Update references for
10466 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
10467 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
10468 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
10469 (Environment Variables): Update references for OpenMP 4.0. Add
10470 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
10471 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
10472 order.
10473
c8673881
JJ
104742013-10-14 Jakub Jelinek <jakub@redhat.com>
10475
10476 * env.c (parse_bind_var): Initialize value to avoid
10477 (false positive) warning.
10478
f89163fd
JJ
104792013-10-12 Jakub Jelinek <jakub@redhat.com>
10480
10481 PR libgomp/58691
10482 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
10483 to check variable.
10484 (gomp_init_num_threads): Move i variable declaration into
10485 #ifdef CPU_ALLOC_SIZE block.
10486 * config/linux/affinity.c (gomp_affinity_init_level): Test
10487 gomp_places_list_len == 0 rather than gomp_places_list == 0
10488 when checking for topology reading error.
10489 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
10490 * env.c (parse_affinity): Add ignore argument, if true, don't populate
10491 gomp_places_list, only parse env var and always return false.
10492 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
10493 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
10494 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
10495 and either of these variables were parsed correctly into a places
10496 list.
10497
1d340638
TS
104982013-10-11 Thomas Schwinge <thomas@codesourcery.com>
10499 Jakub Jelinek <jakub@redhat.com>
10500
10501 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
10502 of 5 loopfn matches.
10503 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10504 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10505 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10506 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10507 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10508 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10509 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10510 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10511
71a81c21
TS
105122013-10-11 Thomas Schwinge <thomas@codesourcery.com>
10513
bd87f731
TS
10514 * Makefile.am (omp_lib.mod): Streamline rule.
10515 * Makefile.in: Regenerate.
10516
f5745bed
TS
10517 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
10518 exceptions.
10519
b5512c66
TS
10520 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
10521 * testsuite/libgomp.fortran/lib1.f90: Likewise.
10522 * testsuite/libgomp.fortran/lib2.f: Likewise.
10523 * testsuite/libgomp.fortran/lib3.f: Likewise.
10524
451c19c4
TS
10525 * configure.ac: Typo fix.
10526 * configure: Regenerate.
10527
86a6016d
TS
10528 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
10529 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10530
71a81c21
TS
10531 * omp.h.in: Don't touch the user's namespace.
10532
acf0174b
JJ
105332013-10-11 Jakub Jelinek <jakub@redhat.com>
10534 Tobias Burnus <burnus@net-b.de>
10535 Richard Henderson <rth@redhat.com>
10536
10537 * target.c: New file.
10538 * Makefile.am (libgomp_la_SOURCES): Add target.c.
10539 * Makefile.in: Regenerated.
10540 * libgomp_g.h (GOMP_task): Add depend argument.
10541 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10542 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10543 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
10544 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10545 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10546 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
10547 GOMP_taskgroup_start, GOMP_taskgroup_end,
10548 GOMP_parallel_sections): New prototypes.
10549 * fortran.c (omp_is_initial_device): Add ialias_redirect.
10550 (omp_is_initial_device_): New function.
10551 (ULP, STR1, STR2, ialias_redirect): Removed.
10552 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
10553 omp_set_default_device_8_, omp_get_default_device_,
10554 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
10555 functions.
10556 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10557 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10558 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
10559 @@GOMP_4.0.
10560 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
10561 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
10562 omp_set_default_device, omp_set_default_device_,
10563 omp_set_default_device_8_, omp_get_default_device,
10564 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
10565 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
10566 omp_get_team_num_): Export @@OMP_4.0.
10567 * team.c (struct gomp_thread_start_data): Add place field.
10568 (gomp_thread_start): Clear thr->thread_pool and
10569 thr->task before returning. Use gomp_team_barrier_wait_final
10570 instead of gomp_team_barrier_wait. Initialize thr->place.
10571 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
10572 team_cancelled and task_queued_count fields.
10573 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
10574 before calling pthread_exit.
10575 (gomp_free_thread): No longer static. Use
10576 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
10577 (gomp_team_start): Add flags argument. Set
10578 thr->thread_pool->threads_busy to nthreads immediately after creating
10579 new pool. Use gomp_managed_threads_lock instead of
10580 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
10581 (gomp_team_end): Use gomp_managed_threads_lock instead of
10582 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
10583 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 10584 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
10585 rather than thr->ts.work_share.
10586 (initialize_team): Don't call gomp_sem_init here.
10587 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
10588 caller.
10589 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
10590 * env.c (gomp_global_icv): Add default_device_var, target_data and
10591 bind_var initializers.
10592 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10593 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10594 gomp_places_list_len): New variables.
10595 (parse_bind_var, parse_one_place, parse_places_var): New functions.
10596 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10597 sized places.
10598 (gomp_cancel_var): New global variable.
10599 (parse_int): New function.
10600 (handle_omp_display_env): New function.
10601 (initialize_env): Use it. Initialize default_device_var.
10602 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
10603 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
10604 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
10605 been successfully parsed (and call gomp_init_affinity in that case).
10606 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10607 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10608 omp_get_team_num, omp_is_initial_device): New functions.
10609 * libgomp.h: Include stdlib.h.
10610 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10611 Define.
10612 (struct target_mem_desc): Forward declare.
10613 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10614 and thread_limit_var fields.
10615 (gomp_get_num_devices): New prototype.
10616 (gomp_cancel_var): New extern decl.
10617 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10618 team_cancelled and task_queued_count fields. Add comments about
10619 task_{,queued_,running_}count.
10620 (gomp_cancel_kind): New enum.
10621 (gomp_work_share_end_cancel): New prototype.
10622 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10623 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10624 and depend fields.
10625 (struct gomp_taskgroup): New type.
10626 (struct gomp_task_depend_entry,
10627 struct gomp_dependers_vec): New types.
10628 (gomp_finish_task): Free depend_hash if non-NULL.
10629 (struct gomp_team_state): Add place_partition_off
10630 and place_partition_len fields.
10631 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10632 gomp_places_list_len): New extern decls.
10633 (struct gomp_thread): Add place field.
10634 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10635 (gomp_init_thread_affinity): Add place argument.
10636 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10637 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10638 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10639 gomp_affinity_init_level, gomp_affinity_print_place): New
10640 prototypes.
10641 (gomp_team_start): Add flags argument.
10642 (gomp_thread_limit_var, gomp_remaining_threads_count,
10643 gomp_remaining_threads_lock): Remove.
10644 (gomp_managed_threads_lock): New variable.
10645 (struct gomp_thread_pool): Add threads_busy field.
10646 (gomp_free_thread): New prototype.
10647 * task.c: Include hashtab.h.
10648 (hash_entry_type): New typedef.
10649 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10650 (gomp_init_task): Clear dependers, depend_hash, depend_count,
10651 copy_ctors_done and taskgroup fields.
10652 (GOMP_task): Add depend argument, handle depend clauses. If
10653 gomp_team_barrier_cancelled or if it's taskgroup has been
10654 cancelled, don't queue or start new tasks. Set copy_ctors_done
10655 field if needed. Initialize taskgroup field. If copy_ctors_done
10656 and already cancelled, don't discard the task. If taskgroup is
10657 non-NULL, enqueue the task into taskgroup queue. Increment
10658 num_children field in taskgroup. Increment task_queued_count.
10659 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10660 gomp_task_run_post_remove_taskgroup): New inline functions.
10661 (gomp_task_run_post_handle_depend_hash,
10662 gomp_task_run_post_handle_dependers,
10663 gomp_task_run_post_handle_depend): New functions.
10664 (GOMP_taskwait): Use them. If more than one new tasks
10665 have been queued, wake other threads if needed.
10666 (gomp_barrier_handle_tasks): Likewise. If
10667 gomp_team_barrier_cancelled, don't start any new tasks, just free
10668 all tasks.
10669 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10670 * omp_lib.f90.in
10671 (omp_proc_bind_kind, omp_proc_bind_false,
10672 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10673 omp_proc_bind_spread): New params.
10674 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10675 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10676 omp_get_team_num, omp_is_initial_device): New interfaces.
10677 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10678 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10679 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10680 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10681 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10682 useless use omp_lib_kinds.
10683 * omp.h.in (omp_proc_bind_t): New typedef.
10684 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10685 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10686 omp_get_team_num, omp_is_initial_device): New prototypes.
10687 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10688 through to gomp_team_start.
10689 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10690 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10691 Adjust gomp_parallel_loop_start callers.
10692 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10693 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10694 GOMP_loop_end_cancel): New functions.
10695 (GOMP_parallel_end): Add ialias_redirect.
10696 * hashtab.h: New file.
10697 * libgomp.texi (Environment Variables): Minor cleanup,
10698 update section refs to OpenMP 4.0rc2.
10699 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10700 environment variables.
10701 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10702 team->work_shares_to_free to thr->ts.work_share before calling
10703 free_work_share.
10704 (gomp_work_share_end_cancel): New function.
10705 * config/linux/proc.c: Include errno.h.
10706 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10707 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10708 sizeof (cpu_set_t) to determine number of iterations. Fix up check
10709 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
10710 gomp_cpuset_size is sizeof (cpu_set_t).
10711 (gomp_init_num_threads): Initialize gomp_cpuset_size,
10712 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10713 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10714 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
10715 contain any logical CPUs.
10716 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10717 is NULL. Use gomp_cpusetp instead of &cpuset and pass
10718 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10719 pthread_getaffinity_np. Check gomp_places_list instead of
10720 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
10721 * config/linux/bar.c (gomp_barrier_wait_end,
10722 gomp_barrier_wait_last): Use BAR_* defines.
10723 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
10724 from state where needed. Set work_share_cancelled to 0 on last
10725 thread.
10726 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10727 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10728 functions.
10729 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10730 Add cpusetsize argument.
10731 (gomp_cpuset_size, gomp_cpusetp): Declare.
10732 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10733 (affinity_counter): Remove.
10734 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10735 if CPU_ALLOC_SIZE isn't defined.
10736 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10737 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10738 bind current thread to the first place.
10739 (gomp_init_thread_affinity): Rewritten. Add place argument, just
10740 pthread_setaffinity_np to gomp_places_list[place].
10741 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10742 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10743 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10744 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10745 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10746 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10747 (gomp_barrier_t): Add awaited_final field.
10748 (gomp_barrier_init): Initialize awaited_final field.
10749 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10750 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10751 prototypes.
10752 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
10753 defines.
10754 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10755 gomp_team_barrier_cancelled): New inline functions.
10756 (gomp_barrier_last_thread,
10757 gomp_team_barrier_set_task_pending,
10758 gomp_team_barrier_clear_task_pending,
10759 gomp_team_barrier_set_waiting_for_tasks,
10760 gomp_team_barrier_waiting_for_tasks,
10761 gomp_team_barrier_done): Use BAR_* defines.
10762 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10763 (gomp_barrier_wait_end): Use BAR_* defines.
10764 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10765 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10766 Use BAR_* defines.
10767 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10768 gomp_team_barrier_cancel): New functions.
10769 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10770 argument.
10771 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10772 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10773 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10774 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10775 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10776 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10777 (gomp_barrier_t): Add cancellable field.
10778 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10779 gomp_team_barrier_cancel): New prototypes.
10780 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10781 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10782 gomp_team_barrier_cancelled): New inline functions.
10783 (gomp_barrier_wait_start, gomp_barrier_last_thread,
10784 gomp_team_barrier_set_task_pending,
10785 gomp_team_barrier_clear_task_pending,
10786 gomp_team_barrier_set_waiting_for_tasks,
10787 gomp_team_barrier_waiting_for_tasks,
10788 gomp_team_barrier_done): Use BAR_* defines.
10789 * barrier.c (GOMP_barrier_cancel): New function.
10790 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10791 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10792 omp_proc_bind_spread): New params.
10793 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10794 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10795 omp_get_team_num, omp_is_initial_device): New externals.
10796 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10797 New functions.
10798 (gomp_resolve_num_threads): Adjust for thread_limit now being in
10799 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10800 infinity. If not nested, just return minimum of max_num_threads
10801 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10802 to the returned value. Otherwise, don't update atomically
10803 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10804 (GOMP_parallel_end): Adjust for thread_limit now being in
10805 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10806 infinity. Adjust threads_busy in the pool rather than
10807 gomp_remaining_threads_count. Remember team->nthreads and call
10808 gomp_team_end before adjusting threads_busy, if not nested
10809 afterwards, just set it to 1 non-atomically. Add ialias.
10810 (GOMP_parallel_start): Adjust gomp_team_start caller.
10811 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10812 * testsuite/libgomp.c/affinity-1.c: New test.
10813 * testsuite/libgomp.c/atomic-15.c: New test.
10814 * testsuite/libgomp.c/atomic-16.c: New test.
10815 * testsuite/libgomp.c/atomic-17.c: New test.
10816 * testsuite/libgomp.c/cancel-for-1.c: New test.
10817 * testsuite/libgomp.c/cancel-for-2.c: New test.
10818 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10819 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10820 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10821 * testsuite/libgomp.c/cancel-sections-1.c: New test.
10822 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10823 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10824 * testsuite/libgomp.c/depend-1.c: New test.
10825 * testsuite/libgomp.c/depend-2.c: New test.
10826 * testsuite/libgomp.c/depend-3.c: New test.
10827 * testsuite/libgomp.c/depend-4.c: New test.
10828 * testsuite/libgomp.c/for-1.c: New test.
10829 * testsuite/libgomp.c/for-1.h: New file.
10830 * testsuite/libgomp.c/for-2.c: New test.
10831 * testsuite/libgomp.c/for-2.h: New file.
10832 * testsuite/libgomp.c/for-3.c: New test.
10833 * testsuite/libgomp.c/pr58392.c: New test.
10834 * testsuite/libgomp.c/simd-1.c: New test.
10835 * testsuite/libgomp.c/simd-2.c: New test.
10836 * testsuite/libgomp.c/simd-3.c: New test.
10837 * testsuite/libgomp.c/simd-4.c: New test.
10838 * testsuite/libgomp.c/simd-5.c: New test.
10839 * testsuite/libgomp.c/simd-6.c: New test.
10840 * testsuite/libgomp.c/target-1.c: New test.
10841 * testsuite/libgomp.c/target-2.c: New test.
10842 * testsuite/libgomp.c/target-3.c: New test.
10843 * testsuite/libgomp.c/target-4.c: New test.
10844 * testsuite/libgomp.c/target-5.c: New test.
10845 * testsuite/libgomp.c/target-6.c: New test.
10846 * testsuite/libgomp.c/target-7.c: New test.
10847 * testsuite/libgomp.c/taskgroup-1.c: New test.
10848 * testsuite/libgomp.c/thread-limit-1.c: New test.
10849 * testsuite/libgomp.c/thread-limit-2.c: New test.
10850 * testsuite/libgomp.c/thread-limit-3.c: New test.
10851 * testsuite/libgomp.c/udr-1.c: New test.
10852 * testsuite/libgomp.c/udr-2.c: New test.
10853 * testsuite/libgomp.c/udr-3.c: New test.
10854 * testsuite/libgomp.c++/affinity-1.C: New test.
10855 * testsuite/libgomp.c++/atomic-10.C: New test.
10856 * testsuite/libgomp.c++/atomic-11.C: New test.
10857 * testsuite/libgomp.c++/atomic-12.C: New test.
10858 * testsuite/libgomp.c++/atomic-13.C: New test.
10859 * testsuite/libgomp.c++/atomic-14.C: New test.
10860 * testsuite/libgomp.c++/atomic-15.C: New test.
10861 * testsuite/libgomp.c++/cancel-for-1.C: New test.
10862 * testsuite/libgomp.c++/cancel-for-2.C: New test.
10863 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10864 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10865 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10866 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10867 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10868 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10869 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10870 * testsuite/libgomp.c++/cancel-test.h: New file.
10871 * testsuite/libgomp.c++/for-9.C: New test.
10872 * testsuite/libgomp.c++/for-10.C: New test.
10873 * testsuite/libgomp.c++/for-11.C: New test.
10874 * testsuite/libgomp.c++/simd-1.C: New test.
10875 * testsuite/libgomp.c++/simd-2.C: New test.
10876 * testsuite/libgomp.c++/simd-3.C: New test.
10877 * testsuite/libgomp.c++/simd-4.C: New test.
10878 * testsuite/libgomp.c++/simd-5.C: New test.
10879 * testsuite/libgomp.c++/simd-6.C: New test.
10880 * testsuite/libgomp.c++/simd-7.C: New test.
10881 * testsuite/libgomp.c++/simd-8.C: New test.
10882 * testsuite/libgomp.c++/target-1.C: New test.
10883 * testsuite/libgomp.c++/target-2.C: New test.
10884 * testsuite/libgomp.c++/target-2-aux.cc: New file.
10885 * testsuite/libgomp.c++/target-3.C: New test.
10886 * testsuite/libgomp.c++/taskgroup-1.C: New test.
10887 * testsuite/libgomp.c++/udr-1.C: New test.
10888 * testsuite/libgomp.c++/udr-2.C: New test.
10889 * testsuite/libgomp.c++/udr-3.C: New test.
10890 * testsuite/libgomp.c++/udr-4.C: New test.
10891 * testsuite/libgomp.c++/udr-5.C: New test.
10892 * testsuite/libgomp.c++/udr-6.C: New test.
10893 * testsuite/libgomp.c++/udr-7.C: New test.
10894 * testsuite/libgomp.c++/udr-8.C: New test.
10895 * testsuite/libgomp.c++/udr-9.C: New test.
10896
bd599dea
JJ
108972013-09-20 Jakub Jelinek <jakub@redhat.com>
10898
10899 PR testsuite/57605
10900 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10901 ALWAYS_CFLAGS.
10902
3cbe17f7
AM
109032013-09-20 Alan Modra <amodra@gmail.com>
10904
10905 * configure: Regenerate.
10906
4befd127
JJ
109072013-09-19 Jakub Jelinek <jakub@redhat.com>
10908
10909 * testsuite/libgomp.c/sections-2.c: New test.
10910
946c8f7b
MS
109112013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
10912
10913 * testsuite/libgomp.fortran/strassen.f90:
10914 Add dg-skip-if aarch64_tiny.
10915
1ef3b58e
IS
109162013-06-20 Iain Sandoe <iain@codesourcery.com>
10917 Cesar Philippidis <cesar@codesourcery.com>
10918
10919 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10920 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10921 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10922 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10923 * testsuite/libgomp.graphite/graphite.exp: Likewise.
10924 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10925 Use dg-runtest rather than gfortran-dg-runtest.
10926
9275f73a
TS
109272013-06-10 Thomas Schwinge <thomas@codesourcery.com>
10928
10929 * testsuite/libgomp.c/icv-2.c: Extend current handling of
10930 Linux-based x86 systems to cover all GNU systems.
10931 * testsuite/libgomp.c/lock-3.c: Likewise.
10932 * testsuite/libgomp.c/pr48591.c: Likewise.
10933
492992e2
TS
109342013-06-06 Thomas Schwinge <thomas@codesourcery.com>
10935
48df3acb
TS
10936 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10937 GNU/Hurd, as done for Linux-based systems.
10938
492992e2
TS
10939 * config/posix/ptrlock.h: Fix comment.
10940
4fed6b25
TB
109412013-05-27 Tobias Burnus <burnus@net-b.de>
10942
10943 PR fortran/57423
10944 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10945 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10946 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10947 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10948 omp_destroy_nest_lock): Correct arguments to match the one in
10949 the OpenMP spec.
10950 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10951 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10952 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10953 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10954
5a0f4dd3
JJ
109552013-05-16 Jakub Jelinek <jakub@redhat.com>
10956
10957 * testsuite/libgomp.c/loop-13.c: New test.
10958 * testsuite/libgomp.c/loop-14.c: New test.
10959 * testsuite/libgomp.c/loop-15.c: New test.
10960 * testsuite/libgomp.c++/loop-13.C: New test.
10961 * testsuite/libgomp.c++/loop-14.C: New test.
10962 * testsuite/libgomp.c++/loop-15.C: New test.
10963
6d840d99
JJ
109642013-02-06 Jakub Jelinek <jakub@redhat.com>
10965
10966 PR middle-end/56217
10967 * testsuite/libgomp.c++/pr56217.C: New test.
10968
bed8d8a6
AM
109692013-02-01 Alan Modra <amodra@gmail.com>
10970
10971 * task.c (GOMP_task, GOMP_taskwait): Comment.
10972
3b35cd04
DV
109732013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
10974 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
10975
10976 PR libgomp/55561
10977 * config/linux/wait.h (do_spin): Use atomic load for addr.
10978 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10979 for intptr and ptrlock.
10980 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10981 for ptrlock.
10982
9a647288
AM
109832013-01-22 Alan Modra <amodra@gmail.com>
10984
10985 PR libgomp/51376
10986 PR libgomp/56073
10987 * task.c (GOMP_task): Revert 2011-12-09 change.
10988 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
10989 barrier to read task->children..
10990 (gomp_barrier_handle_tasks): ..and matching atomic store with
10991 release barrier here when setting parent->children to NULL.
10992
f34dea03
JJ
109932013-01-16 Jakub Jelinek <jakub@redhat.com>
10994 Tobias Burnus <burnus@net-b.de>
10995
10996 PR driver/55884
10997 * testsuite/libgomp.fortran/fortran.exp: Use
10998 -fintrinsic-modules-path= instead of
10999 -fintrinsic-modules-path.
11000
8129609c
RS
110012013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
11002
11003 Update copyright years.
11004
aa86bf1e
TB
110052012-12-19 Tobias Burnus <burnus@net-b.de>
11006
11007 * testsuite/libgomp.fortran/fortran.exp: Set
11008 -fintrinsic-modules-path.
11009
2865ea66
TB
110102012-12-19 Tobias Burnus <burnus@net-b.de>
11011
11012 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
11013 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
11014
4c5ba8d0
JJ
110152012-11-21 Jakub Jelinek <jakub@redhat.com>
11016
11017 PR libgomp/55411
11018 * team.c (gomp_free_thread): Decrease gomp_managed_threads
11019 if pool had any threads_used.
11020
e9f958c2
JH
110212012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
11022
11023 * testsuite/libgomp.c++/pr24455.C: Use
11024 -Wl,-undefined,dynamic_lookup on darwin.
11025
a57d75dc
DE
110262012-11-07 David Edelsohn <dje.gcc@gmail.com>
11027
11028 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
11029
c6c08485
DH
110302012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
11031
11032 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
11033
c1f37c00
IB
110342012-10-23 Ian Bolton <ian.bolton@arm.com>
11035 Jim MacArthur <jim.macarthur@arm.com>
11036 Marcus Shawcroft <marcus.shawcroft@arm.com>
11037 Nigel Stephens <nigel.stephens@arm.com>
11038 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11039 Richard Earnshaw <rearnsha@arm.com>
11040 Sofiane Naci <sofiane.naci@arm.com>
11041 Stephen Thomas <stephen.thomas@arm.com>
11042 Tejas Belagod <tejas.belagod@arm.com>
11043 Yufeng Zhang <yufeng.zhang@arm.com>
11044
11045 * configure.tgt: Add AArch64.
11046
7c424acd
JM
110472012-10-04 Jason Merrill <jason@redhat.com>
11048
11049 * testsuite/libgomp.c++/tls-init1.C: New.
11050
6608378b
DE
110512012-09-14 David Edelsohn <dje.gcc@gmail.com>
11052
11053 * configure: Regenerated.
11054
c24dbebb
CLT
110552012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
11056
11057 * config/linux/mips/futex.h (sys_futex0): Change to static
11058 function with noinline, nomips16 attributes under MIPS16. Adjust
11059 asm statement to place 'li v0,SYS_futex' immediately before
11060 syscall insn.
11061
3d3949df
SL
110622012-07-04 Sandra Loosemore <sandra@codesourcery.com>
11063
11064 * libgomp.texi (Library Index): Renamed from "Index" to prevent
11065 conflict with index.html on case-insensitive file systems.
11066
68a12ef3
UB
110672012-07-03 Uros Bizjak <ubizjak@gmail.com>
11068
11069 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
11070 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
11071
33ad93b9 110722012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
11073 Michael Matz <matz@suse.de>
11074 Tobias Grosser <tobias@grosser.es>
11075 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
11076
11077 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
11078 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11079 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11080 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11081
e6fdc918
AS
110822012-06-28 Andreas Schwab <schwab@linux-m68k.org>
11083
11084 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
11085
62e0a1ed
RG
110862012-06-22 Richard Guenther <rguenther@suse.de>
11087
11088 Merge from graphite branch
11089 2012-01-13 Tobias Grosser <tobias@grosser.es>
11090
11091 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11092 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11093
26127932
JJ
110942012-06-07 Jakub Jelinek <jakub@redhat.com>
11095
11096 PR middle-end/53580
11097 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
11098 use GOMP_barrier () call instead.
11099 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11100 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11101 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
11102 call GOMP_barrier instead.
11103 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11104
43fa5db5
JJ
111052012-06-06 Jakub Jelinek <jakub@redhat.com>
11106
11107 PR libgomp/52993
11108 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
11109 argument to memset call.
11110
e6d5f8c9
L
111112012-05-16 H.J. Lu <hongjiu.lu@intel.com>
11112
11113 * configure: Regenerated.
11114
559d990c
MLI
111152012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11116
11117 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
11118
b9c23a61
L
111192012-03-31 H.J. Lu <hongjiu.lu@intel.com>
11120
11121 PR bootstrap/52812
11122 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
11123
c140ddf3
JJ
111242012-03-22 Jakub Jelinek <jakub@redhat.com>
11125
11126 PR middle-end/52547
11127 * testsuite/libgomp.c/pr52547.c: New test.
11128
6a26a74d
BRF
111292012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11130
11131 * testsuite/lib/libgomp.exp: load fortran-modules.exp
11132
b24513a1
RO
111332012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11134
11135 * configure.tgt (mips-sgi-irix6*): Remove.
11136
5c30094f
RO
111372012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11138
11139 * configure.tgt (alpha*-dec-osf*): Remove.
11140
11141 * config/osf/sem.h: Remove.
11142 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
11143
a339c9d6
EB
111442012-02-29 Eric Botcazou <ebotcazou@adacore.com>
11145
11146 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
11147
cc2de92d
RO
111482012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11149
11150 PR libstdc++/52188
11151 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
11152 Remove ENABLE_SYMVERS_SOL2.
11153 * configure: Regenerate.
11154 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
11155 (PREPROCESS): New variable.
11156 (libgomp.ver): New target.
11157 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
11158 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
11159 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
11160 Use libgomp.ver.
11161 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
11162 * Makefile.in: Regenerate.
11163
dd552284
WL
111642012-02-14 Walter Lee <walt@tilera.com>
11165
11166 * configure.tgt: Handle tilegx and tilepro.
11167 * config/linux/tile/futex.h: New file.
11168
31432e21
RG
111692012-02-08 Richard Guenther <rguenther@suse.de>
11170
11171 PR tree-optimization/46886
11172 * testsuite/libgomp.c/pr46886.c: New testcase.
11173
b9264b5f
MK
111742012-01-25 Matthias Klose <doko@ubuntu.com>
11175
11176 * config/linux/arm: Remove empty directory.
11177 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
11178
fbf7be80
AM
111792011-12-09 Alan Modra <amodra@gmail.com>
11180
11181 PR libgomp/51376
11182 * task.c (GOMP_taskwait): Don't access task->children outside of
11183 task_lock mutex region.
11184 (GOMP_task): Likewise.
11185
5de62d00
JJ
111862011-12-06 Jakub Jelinek <jakub@redhat.com>
11187
11188 PR libgomp/51132
11189 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
11190 to file scope.
11191 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11192 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11193 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11194 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11195 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11196
45608a43
AM
111972011-12-02 Alan Modra <amodra@gmail.com>
11198
11199 * config/linux/affinity.c: Use atomic rather than sync builtin.
11200 * config/linux/lock.c: Likewise.
11201 * config/linux/ptrlock.h: Likewise.
11202 * config/linux/ptrlock.c: Likewise.
11203 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
11204 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
11205 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
11206 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
11207 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
11208 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
11209 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
11210 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
11211 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
11212 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
11213
ab6dd406
AM
112142011-11-30 Alan Modra <amodra@gmail.com>
11215
11216 PR libgomp/51298
11217 * config/linux/bar.h: Use atomic rather than sync builtins.
11218 * config/linux/bar.c: Likewise. Add missing acquire
11219 synchronisation on generation field.
11220 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
11221 double unlock.
11222
b40c885f
AM
112232011-11-30 Alan Modra <amodra@gmail.com>
11224
11225 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
11226 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
11227 * config/linux/mutex.h: Use atomic rather than sync builtins.
11228 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
11229 * config/linux/omp-lock.h: Comment fix.
11230 * config/linux/arm/mutex.h: Delete.
11231 * config/linux/powerpc/mutex.h: Delete.
11232 * config/linux/ia64/mutex.h: Delete.
11233 * config/linux/mips/mutex.h: Delete.
11234
3e348fcc
AM
112352011-11-30 Alan Modra <amodra@gmail.com>
11236
11237 PR libgomp/51249
11238 * config/linux/sem.h: Rewrite.
11239 * config/linux/sem.c: Rewrite.
11240
cef86eb2
RH
112412011-11-28 Richard Henderson <rth@redhat.com>
11242
11243 * libgomp.h (enum memmodel): New.
11244
c6084f68
AT
112452011-11-21 Andreas Tobler <andreast@fgznet.ch>
11246
11247 * configure: Regenerate.
11248
06fe026c
MK
112492011-10-10 Matthias Klose <doko@ubuntu.com>
11250
11251 * config/posix95: Remove empty directory.
11252
a6c975bd
JJ
112532011-08-26 Jakub Jelinek <jakub@redhat.com>
11254
11255 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
11256
c26dffff
JJ
112572011-08-19 Jakub Jelinek <jakub@redhat.com>
11258
11259 PR fortran/49792
11260 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
11261 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
11262
ddaad3c8
RO
112632011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11264
11265 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
11266
98d03683
RO
112672011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11268
11269 PR libgomp/49965
11270 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
11271
e0b23d9f
UB
112722011-08-03 Uros Bizjak <ubizjak@gmail.com>
11273
11274 * config/linux/proc.h: New.
11275 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
11276 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
11277 (gomp_init_num_threads): Update call to cpuset_popcount.
11278 (get_num_procs): Ditto.
11279 * config/linux/affinity.c (gomp_init_affinity): Call
11280 gomp_cpuset_popcount.
11281
20906c66
JJ
112822011-08-02 Jakub Jelinek <jakub@redhat.com>
11283
11284 PR fortran/42041
11285 PR fortran/46752
11286 * omp.h.in (omp_in_final): New prototype.
11287 * omp_lib.f90.in (omp_in_final): New interface.
11288 (omp_integer_kind, omp_logical_kind): Remove
11289 and replace all its uses in the module with 4.
11290 (openmp_version): Change to 201107.
11291 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
11292 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
11293 kind for the parameters.
11294 (omp_in_final): New external.
11295 (openmp_version): Change to 201107.
11296 * task.c (omp_in_final): New function.
11297 (gomp_init_task): Initialize final_task.
11298 (GOMP_task): Remove unused attribute from flags. Handle final
11299 tasks.
11300 (GOMP_taskyield): New function.
11301 (omp_in_final): Return true if if (false) or final (true) task
11302 or descendant of final (true).
11303 * fortran.c (omp_in_final_): New function.
11304 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
11305 (GOMP_3.0): Export GOMP_taskyield.
11306 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
11307 variables.
11308 (parse_unsigned_long_list): New function.
11309 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
11310 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
11311 even if parse_affinity returned false.
11312 * config/linux/affinity.c (gomp_init_affinity): Handle
11313 gomp_cpu_affinity_len == 0.
11314 * libgomp_g.h (GOMP_taskyield): New prototype.
11315 * libgomp.h (struct gomp_task): Add final_task field.
11316 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
11317 * team.c (gomp_team_start): Override new task's nthreads_var icv
11318 if list form OMP_NUM_THREADS has been used and it has value for
11319 the new nesting level.
11320
11321 * testsuite/libgomp.c/atomic-11.c: New test.
11322 * testsuite/libgomp.c/atomic-12.c: New test.
11323 * testsuite/libgomp.c/atomic-13.c: New test.
11324 * testsuite/libgomp.c/atomic-14.c: New test.
11325 * testsuite/libgomp.c/reduction-6.c: New test.
11326 * testsuite/libgomp.c/task-5.c: New test.
11327 * testsuite/libgomp.c++/atomic-2.C: New test.
11328 * testsuite/libgomp.c++/atomic-3.C: New test.
11329 * testsuite/libgomp.c++/atomic-4.C: New test.
11330 * testsuite/libgomp.c++/atomic-5.C: New test.
11331 * testsuite/libgomp.c++/atomic-6.C: New test.
11332 * testsuite/libgomp.c++/atomic-7.C: New test.
11333 * testsuite/libgomp.c++/atomic-8.C: New test.
11334 * testsuite/libgomp.c++/atomic-9.C: New test.
11335 * testsuite/libgomp.c++/task-8.C: New test.
11336 * testsuite/libgomp.c++/reduction-4.C: New test.
11337 * testsuite/libgomp.fortran/allocatable7.f90: New test.
11338 * testsuite/libgomp.fortran/allocatable8.f90: New test.
11339 * testsuite/libgomp.fortran/crayptr3.f90: New test.
11340 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
11341 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
11342 * testsuite/libgomp.fortran/pointer1.f90: New test.
11343 * testsuite/libgomp.fortran/pointer2.f90: New test.
11344 * testsuite/libgomp.fortran/task4.f90: New test.
11345
113462011-08-02 Tobias Burnus <burnus@net-b.de>
11347
11348 * libgomp.texi: Update OpenMP spec references to 3.1.
11349 (omp_in_final,OMP_PROC_BIND): New sections.
11350 (OMP_NUM_THREADS): Document that the value can be now a list.
11351 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
11352
c01ecafc
L
113532011-08-02 H.J. Lu <hongjiu.lu@intel.com>
11354
11355 * config/linux/x86/futex.h: Check __x86_64__ instead of
11356 __LP64__.
11357
25142650
JJ
113582011-07-29 Jakub Jelinek <jakub@redhat.com>
11359
11360 PR middle-end/49897
11361 PR middle-end/49898
11362 * testsuite/libgomp.c/pr49897-1.c: New test.
11363 * testsuite/libgomp.c/pr49897-2.c: New test.
11364 * testsuite/libgomp.c/pr49898-1.c: New test.
11365 * testsuite/libgomp.c/pr49898-2.c: New test.
11366
f53d712f
L
113672011-07-28 H.J. Lu <hongjiu.lu@intel.com>
11368
11369 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
11370 for ia32 instead of ilp32.
11371
11372 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
11373 * testsuite/libgomp.c/atomic-6.c: Likewise.
11374
3689198d
SP
113752011-07-23 Sebastian Pop <sebastian.pop@amd.com>
11376
11377 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
11378 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
11379
1a79cb73
RO
113802011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11381
11382 PR libgomp/45351
11383 * config/osf/sem.h: New file.
11384 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
11385
c1f51484
RO
113862011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11387
11388 PR target/49541
11389 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
11390 ldflags.
11391
bfee0724
JJ
113922011-07-15 Jakub Jelinek <jakub@redhat.com>
11393
11394 * config/linux/wait.h (do_spin): New inline, largely copied
11395 from do_wait, just don't do futex_wait here, instead return true if
11396 it should be done.
11397 (do_wait): Implement using do_spin.
11398 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
11399 to prototype.
11400 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11401 __sync_bool_compare_and_swap, pass the oldval to
11402 gomp_mutex_lock_slow.
11403 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
11404 If all mutex contenders are just spinning and not sleeping, don't
11405 change state to 2 unnecessarily. Optimize the loop when state has
11406 already become 2 to use just one atomic operation per loop instead
11407 of two.
11408 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
11409 to prototype.
11410 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11411 __sync_bool_compare_and_swap, pass the oldval to
11412 gomp_mutex_lock_slow.
11413
fb79f500
JJ
114142011-06-22 Jakub Jelinek <jakub@redhat.com>
11415
11416 PR libgomp/49490
11417 * iter.c (gomp_iter_static_next): For chunk size 0
11418 only use n ceil/ nthreads size for the first
11419 n % nthreads threads in the team instead of
11420 all threads except for the last few ones which
11421 get less work or none at all.
11422 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
11423 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
11424 chunk argument, set run_sched_modifier to 0 for static
11425 resp. 1 for other kinds. If chunk argument is 0
11426 and not static, set value to 1.
11427
4577f730
JJ
114282011-05-19 Jakub Jelinek <jakub@redhat.com>
11429
ea93a47b
JJ
11430 PR c++/49043
11431 * testsuite/libgomp.c++/pr49043.C: New test.
11432
4577f730
JJ
11433 PR c++/48869
11434 * testsuite/libgomp.c++/pr48869.C: New test.
11435
e7385332
JJ
114362011-05-06 Jakub Jelinek <jakub@redhat.com>
11437
11438 PR fortran/48894
11439 * fortran.c: Include limits.h.
11440 (TO_INT): Define.
11441 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
11442 *set.
11443 (omp_set_num_threads_8_, omp_set_schedule_8_,
11444 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11445 omp_get_team_size_8_): Use TO_INT macro.
11446 * testsuite/libgomp.fortran/pr48894.f90: New test.
11447
20790697
JJ
114482011-04-13 Jakub Jelinek <jakub@redhat.com>
11449
11450 PR middle-end/48591
11451 * testsuite/libgomp.c/pr48591.c: New test.
11452
bf382f5f
RO
114532011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11454
11455 PR bootstrap/48135
11456 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
11457 * configure: Regenerate.
11458
113a53c1
JJ
114592011-02-27 Jakub Jelinek <jakub@redhat.com>
11460
11461 PR fortran/47886
11462 * testsuite/libgomp.fortran/task3.f90: New test.
11463
0024f1af
TB
114642011-02-24 Tobias Burnus <burnus@net-b.de>
11465
11466 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
11467
21e1e594
JJ
114682011-02-23 Jakub Jelinek <jakub@redhat.com>
11469
11470 PR libgomp/47854
11471 * libgomp.texi (omp_get_wtime): Don't say time in the past
11472 must be Unix Epoch.
11473
67962076
JJ
114742011-02-18 Jakub Jelinek <jakub@redhat.com>
11475
11476 PR libgomp/47804
11477 * testsuite/libgomp.fortran/fortran.exp: Check for both
11478 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
11479 but $blddir != "", still append ${blddir}/${lang_library_path}
11480 to ld_library_path.
11481
3808007c
TB
114822011-02-16 Tobias Burnus <burnus@net-b.de>
11483
11484 PR libgomp/47758
11485 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
11486 of libquadmath.a before adding its libpath to ldflags.
11487
53b4d41d
JJ
114882011-02-14 Jakub Jelinek <jakub@redhat.com>
11489
11490 PR libgomp/47731
11491 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
11492 to FUTEX_WAIT futex syscall.
11493 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
11494
029c8f3e
RW
114952011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11496
11497 * configure: Regenerate.
11498
bddd6626
BK
114992011-01-20 Benjamin Kosnik <bkoz@redhat.com>
11500
11501 PR libstdc++/36104
11502 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
11503
f1d4ab26
GP
115042011-01-16 Gerald Pfeifer
11505
11506 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
11507
2b503136
JJ
115082010-12-14 Jakub Jelinek <jakub@redhat.com>
11509
11510 PR fortran/46874
11511 * libgomp.fortran/allocatable6.f90: New test.
11512
c0f9d583
RO
115132010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11514
11515 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
11516 * configure: Regenerate.
11517
7de6ba7a
DK
115182010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
11519
11520 PR target/40125
11521 PR lto/46695
11522 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
11523 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
11524 * aclocal.m4: Regenerate.
11525 * configure: Regenerate.
11526 * Makefile.in: Regenerate.
11527 * testsuite/Makefile.in: Regenerate.
11528
b7516041
JJ
115292010-12-02 Jakub Jelinek <jakub@redhat.com>
11530
edaadf74
JJ
11531 PR fortran/46753
11532 * libgomp.fortran/pr46753.f90: New test.
11533
4c698cf8
JJ
11534 PR libgomp/43706
11535 * env.c (initialize_env): Default to spin count 300000
11536 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
11537 is specified.
11538
b7516041
JJ
11539 PR libgomp/45240
11540 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
11541 at the end if sync builtins aren't supported.
11542
6b43a34c
RO
115432010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11544
11545 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
11546
950691fa
RO
115472010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11548
11549 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
11550
fb9041ea
IS
115512010-11-24 Iain Sandoe <iains@gcc.gnu.org>
11552
11553 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
11554
1ec601bf
FXC
115552010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11556 Tobias Burnus <burnus@net-b.de>
11557
11558 PR fortran/32049
3e348fcc 11559 * configure.ac:
1ec601bf
FXC
11560 * configure: Regenerate.
11561
d213e92e
MS
115622010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
11563
11564 * config/linux/futex.h: New.
11565 * config/linux/arm/mutex.h: New.
11566 * configure.tgt (arm*-*-linux*): Add config path.
11567
89d5c66f
SP
115682010-09-30 Sebastian Pop <sebastian.pop@amd.com>
11569
11570 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11571
87350d4a
TB
115722010-09-23 Tobias Burnus <burnus@net-b.de>
11573
11574 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
11575 Change Fortran datatype to LOGICAL.
11576 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
11577 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
11578
75bc9e5e
RW
115792010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11580
11581 * configure: Regenerate.
11582
acb5c916
JJ
115832010-07-26 Jakub Jelinek <jakub@redhat.com>
11584
11585 * libgomp.texi: Add function keyword to a couple of Fortran
11586 interfaces, use integer instead of int for Fortran.
11587
6a2ba183
AH
115882010-07-26 Aldy Hernandez <aldyh@redhat.com>
11589
11590 * libgomp.texi: Fix spelling and pasto problems throughout.
11591 Adjust prototypes to match code.
11592
df161b69
TB
115932010-07-24 Tobias Burnus <burnus@net-b.de>
11594
11595 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11596 silence -fwhole-file warning.
11597
16c9d3b1
RO
115982010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11599
11600 * configure.tgt (*-*-solaris2.[56]*): Removed.
11601
6d28b933
RO
116022010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11603
11604 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11605 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11606 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11607 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11608 targetting solaris2*.
11609 * configure: Regenerate.
11610 * config.h.in: Regenerate.
11611
11612 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11613 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11614 Add libgomp_version_dep.
11615 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11616 versioning.
11617 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11618 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11619 * Makefile.in: Regenerate.
11620
11621 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11622 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11623 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11624 to common block, protected by
11625 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11626
07a67d6a
GP
116272010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
11628
11629 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
11630
dbd34b89
IS
116312010-06-09 Iain Sandoe <iains@gcc.gnu.org>
11632
11633 PR bootstrap/43170
11634 * configure: Regenerate.
11635
13917ae3
RW
116362010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11637
11638 PR other/43620
11639 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11640 * configure: Regenerate.
11641 * Makefile.in: Regenerate.
11642 * testsuite/Makefile.in: Regenerate.
11643
b83a701b
JJ
116442010-04-26 Jakub Jelinek <jakub@redhat.com>
11645
11646 PR c/43893
11647 * testsuite/libgomp.c/pr43893.c: New test.
11648 * testsuite/libgomp.c++/pr43893.C: New test.
11649
78db7d92
JJ
116502010-04-21 Jakub Jelinek <jakub@redhat.com>
11651
11652 PR middle-end/43570
11653 * testsuite/libgomp.fortran/vla8.f90: New test.
11654
5221d7a9
JJ
116552010-04-20 Jakub Jelinek <jakub@redhat.com>
11656
e4ba7a60
JJ
11657 PR libgomp/43706
11658 * config/linux/affinity.c (gomp_init_affinity): Decrease
11659 gomp_available_cpus if affinity mask confines the process to fewer
11660 CPUs.
11661 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11662 non-NULL, just return gomp_available_cpus.
11663
5221d7a9
JJ
11664 PR libgomp/43569
11665 * sections.c (gomp_sections_init): Initialize ws->mode.
11666
289a9f86
UB
116672010-04-14 Uros Bizjak <ubizjak@gmail.com>
11668
11669 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11670 not unused bar variable.
11671 * configure: Regenerate.
11672
4d9e8446
RW
116732010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11674
11675 * Makefile.in: Regenerate.
11676 * aclocal.m4: Regenerate.
11677 * testsuite/Makefile.in: Regenerate.
11678
80f046cc
JJ
116792010-03-22 Jakub Jelinek <jakub@redhat.com>
11680
11681 PR libgomp/42942
11682 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11683 (initialize_env): Adjust callers.
11684 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11685 when the argument is 0.
11686
11687 * testsuite/libgomp.c/pr42942.c: New test.
11688
b58543c3
SP
116892010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
11690
11691 PR middle-end/42644
11692 PR middle-end/42130
11693 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11694 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11695
41d1138f
RO
116962010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11697
11698 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11699 * testsuite/libgomp.c++/task-6.C: Likewise.
11700
6684eb28
SE
117012010-01-28 Steve Ellcey <sje@cup.hp.com>
11702
11703 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11704
2122aa97
PB
117052010-01-26 Paolo Bonzini <bonzini@gnu.org>
11706
11707 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11708 * configure: Regenerate.
11709
057dd91d
JJ
117102010-01-26 Jakub Jelinek <jakub@redhat.com>
11711
11712 PR fortran/42866
11713 * testsuite/libgomp.fortran/allocatable5.f90: New test.
11714
d0709b6a
PB
117152010-01-20 Paolo Bonzini <bonzini@gnu.org>
11716
11717 * configure.ac: Test for executability of GFORTRAN.
11718 * configure: Regenerate.
11719
b9497ab5
RO
117202010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11721
11722 * configure: Regenerate.
11723
45de5648
L
117242010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11725
11726 PR libgomp/42602
11727 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11728
e74003a1
RG
117292010-01-03 Richard Guenther <rguenther@suse.de>
11730
11731 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11732
1b3abda8
SP
117332009-12-23 Sebastian Pop <sebpop@gmail.com>
11734
11735 * testsuite/libgomp.graphite/pr4118.c: New.
11736
e19977d3
IS
117372009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11738
11739 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11740 for darwin, protect the test with require-effective-target tls_runtime.
11741 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11742
1d32a772
IS
117432009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11744
11745 PR target/41605
11746 * testsuite/lib/libgomp.exp: Provide -B options to allow for
11747 link spec %s substitutions for static libraries.
11748
deb109b2
JH
117492009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
11750
11751 PR testsuite/42135
11752 * libgomp.graphite/force-parallel-2.c: Reduce array size.
11753
43e02a8a
RW
117542009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11755
11756 * Makefile.in: Regenerate.
11757 * configure: Regenerate.
11758 * testsuite/Makefile.in: Regenerate.
11759
17f35e23
DK
117602009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
11761
11762 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11763 settings for LC_ALL and LANG.
11764
281e33e1
JJ
117652009-11-25 Jakub Jelinek <jakub@redhat.com>
11766
11767 PR fortran/42162
11768 * testsuite/libgomp.fortran/pr42162.f90: New test.
11769
2b32c27d
JJ
117702009-11-13 Jakub Jelinek <jakub@redhat.com>
11771
11772 PR middle-end/42029
281e33e1 11773 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 11774
89c74f4a
JJ
117752009-10-26 Jakub Jelinek <jakub@redhat.com>
11776
11777 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11778 *s. Accept ld version without text in ()s.
11779 * configure: Regenerated.
11780
7e06c3d6
EB
117812009-10-22 Razya Ladelsky <razya@il.ibm.com>
11782
11783 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11784
0046b1a7
RW
117852009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11786
11787 PR libgomp/41418
11788 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11789 or a hyphen (happens with fortran language disabled).
11790 * configure: Regenerate.
11791
c82852f7
RW
117922009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11793
11794 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11795 use sed script portable to Solaris /bin/sed for extracting ld
11796 version.
11797 * configure: Regenerate.
11798
98f3eb1f
AM
117992009-09-17 Alexander Monakov <amonakov@ispras.ru>
11800
11801 * testsuite/libgomp.graphite/bounds.c: New test.
11802
878f62e5
RW
118032009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11804
11805 * Makefile.am (libgomp_la_LINK): New.
11806 * Makefile.in: Regenerate.
11807
df58e648
RW
118082009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11809
11810 * configure.ac (AC_PREREQ): Bump to 2.64.
11811
5213506e
RW
118122009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11813
70fa0efa
RW
11814 * Makefile.am (install-html, install-pdf): Remove.
11815 * Makefile.in: Regenerate.
11816
5213506e
RW
11817 * Makefile.in: Regenerate.
11818 * aclocal.m4: Regenerate.
11819 * config.h.in: Regenerate.
11820 * configure: Regenerate.
11821 * testsuite/Makefile.in: Regenerate.
11822
84fec8a5
RW
118232009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11824
11825 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11826 * Makefile.in: Regenerate.
11827
197c68cc
DK
118282009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
11829
11830 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11831 * Makefile.in: Regenerate.
11832
693d54f2
TB
118332009-08-19 Tobias Burnus <burnus@net-b.de>
11834
11835 PR fortran/41102
11836 omp_lib.h.in: Fix -std=f95 errors.
11837
8cac884c
DE
118382009-08-14 David Edelsohn <edelsohn@gnu.org>
11839
11840 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11841 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11842 * testsuite/libgomp.graphite/graphite.exp: New.
11843
78729ee2
AT
118442009-08-05 Andreas Tobler <a.tobler@schweiz.org>
11845
11846 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11847 only build.
11848
b13b7f39
DD
118492009-08-04 David Daney <ddaney@caviumnetworks.com>
11850
11851 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11852 needed memory barrier semantics.
11853 * config/linux/mips/mutex.h: New file.
11854
1b3b24c2
RW
118552009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11856
11857 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11858
396b7fa4
JM
118592009-07-16 Joseph Myers <joseph@codesourcery.com>
11860
11861 * configure: Regenerate.
11862
33cde516
RS
118632009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
11864
11865 PR testsuite/40699
11866 PR testsuite/40707
11867 PR testsuite/40709
11868 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11869 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11870 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11871
bc21bfa5
RS
118722009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
11873
11874 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11875 options when choosing a multilib.
11876
b30bfd40
RS
118772009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
11878
11879 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11880 ld_library_path. Use add_path. Add just find_libgcc_s to
11881 ld_library_path, not every libgcc multilib directory.
11882 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11883 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11884 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11885 Use add_path.
11886 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11887
479c15c2
NF
118882009-06-09 Nathan Froyd <froydnj@codesourcery.com>
11889
11890 * Makefile.am (LTLDFLAGS): Define.
11891 (LINK): Define.
11892 * Makefile.in: Regenerate.
11893
667e6f89
JB
118942009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
11895
11896 PR fortran/39718
11897 * testsuite/libgomp.fortran/fortran.exp: Don't link with
11898 libgfortranbegin, check existence of libgfortran.a instead of
11899 libgfortranbegin.a.
11900
6dea8e99
JJ
119012009-05-20 Jakub Jelinek <jakub@redhat.com>
11902
11903 PR libgomp/40174
11904 * team.c (gomp_thread_start): Destroy thr->release semaphore.
11905 (gomp_free_pool_helper): Likewise.
11906
34d01e1d
VL
119072009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
11908 Jakub Jelinek <jakub@redhat.com>
11909
11910 PR fortran/35423
11911 * testsuite/libgomp.fortran/workshare2.f90: New test.
11912
748086b7
JJ
119132009-04-09 Nick Clifton <nickc@redhat.com>
11914
11915 * iter.c: Change copyright header to refer to version 3 of the
11916 GNU General Public License with version 3.1 of the GCC Runtime
11917 Library Exception and to point readers at the COPYING3 and
11918 COPYING3.RUNTIME files and the FSF's license web page.
11919 * alloc.c: Likewise.
11920 * barrier.c: Likewise.
11921 * config/bsd/proc.c: Likewise.
11922 * config/linux/affinity.c: Likewise.
11923 * config/linux/alpha/futex.h: Likewise.
11924 * config/linux/bar.c: Likewise.
11925 * config/linux/bar.h: Likewise.
11926 * config/linux/ia64/futex.h: Likewise.
11927 * config/linux/ia64/mutex.h: Likewise.
11928 * config/linux/lock.c: Likewise.
11929 * config/linux/mips/futex.h: Likewise.
11930 * config/linux/mutex.c: Likewise.
11931 * config/linux/mutex.h: Likewise.
11932 * config/linux/powerpc/futex.h: Likewise.
11933 * config/linux/proc.c: Likewise.
11934 * config/linux/ptrlock.c: Likewise.
11935 * config/linux/ptrlock.h: Likewise.
11936 * config/linux/s390/futex.h: Likewise.
11937 * config/linux/sem.c: Likewise.
11938 * config/linux/sem.h: Likewise.
11939 * config/linux/sparc/futex.h: Likewise.
11940 * config/linux/wait.h: Likewise.
11941 * config/linux/x86/futex.h: Likewise.
11942 * config/mingw32/proc.c: Likewise.
11943 * config/mingw32/time.c: Likewise.
11944 * config/posix/affinity.c: Likewise.
11945 * config/posix/bar.c: Likewise.
11946 * config/posix/bar.h: Likewise.
11947 * config/posix/lock.c: Likewise.
11948 * config/posix/mutex.h: Likewise.
11949 * config/posix/proc.c: Likewise.
11950 * config/posix/ptrlock.h: Likewise.
11951 * config/posix/sem.c: Likewise.
11952 * config/posix/sem.h: Likewise.
11953 * config/posix/time.c: Likewise.
11954 * config/posix95/lock.c: Likewise.
11955 * critical.c: Likewise.
11956 * env.c: Likewise.
11957 * error.c: Likewise.
11958 * fortran.c: Likewise.
11959 * iter_ull.c: Likewise.
11960 * libgomp.h: Likewise.
11961 * libgomp_f.h.in: Likewise.
11962 * libgomp_g.h: Likewise.
11963 * loop.c: Likewise.
11964 * loop_ull.c: Likewise.
11965 * omp.h.in: Likewise.
11966 * omp_lib.f90.in: Likewise.
11967 * omp_lib.h.in: Likewise.
11968 * ordered.c: Likewise.
11969 * parallel.c: Likewise.
11970 * sections.c: Likewise.
11971 * single.c: Likewise.
11972 * task.c: Likewise.
11973 * team.c: Likewise.
11974 * work.c: Likewise.
11975
119762009-04-09 Jakub Jelinek <jakub@redhat.com>
11977
11978 * testsuite/config/default.exp: Change copyright header to refer to
11979 version 3 of the GNU General Public License and to point readers
11980 at the COPYING3 file and the FSF's license web page.
11981
4f0ae266
JJ
119822009-04-08 Jakub Jelinek <jakub@redhat.com>
11983
11984 PR middle-end/39573
11985 * libgomp.c++/pr39573.C: New test.
11986
03742a9b
JJ
119872009-04-01 Jakub Jelinek <jakub@redhat.com>
11988
11989 PR other/39591
11990 * testsuite/libgomp.c/pr39591-1.c: New test.
11991 * testsuite/libgomp.c/pr39591-2.c: New test.
11992 * testsuite/libgomp.c/pr39591-3.c: New test.
11993
e50ea10b
UB
119942009-03-25 Uros Bizjak <ubizjak@gmail.com>
11995
11996 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
11997 * testsuite/libgomp.c/atomic-6.c: Ditto.
11998
c5cdb03f
JJ
119992009-03-23 Jakub Jelinek <jakub@redhat.com>
12000
12001 PR c/39495
12002 * testsuite/libgomp.c/loop-12.c: New test.
12003 * testsuite/libgomp.c/loop-11.c: New test.
12004 * testsuite/libgomp.c++/loop-11.C: New test.
12005 * testsuite/libgomp.c++/loop-12.C: New test.
12006 * testsuite/libgomp.c++/for-8.C: New test.
12007
7a9d3fe8
RW
120082009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12009
12010 * configure: Regenerate.
12011
3ad6b266
JJ
120122009-02-11 Jakub Jelinek <jakub@redhat.com>
12013
12014 PR middle-end/39154
12015 * testsuite/libgomp.c/pr39154.c: New test.
12016
b39dea08
ILT
120172009-01-30 Ian Lance Taylor <iant@google.com>
12018
12019 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
12020 libgomp_ld_is_gold. Get gold version number.
12021 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
12022 * configure: Rebuild.
12023
72c66596
IS
120242009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
12025
e50ea10b 12026 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
12027 use libgfortran.a%s in their specs.
12028
876080ff
JJ
120292009-01-07 Jakub Jelinek <jakub@redhat.com>
12030
12031 PR libgomp/38086
12032 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
12033 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
12034 HAVE_AS_SYMVER_DIRECTIVE is not defined.
12035 * configure: Regenerated.
12036 * config.h.in: Likewise.
12037
e4ebaef3
JJ
120382008-12-28 Jakub Jelinek <jakub@redhat.com>
12039
12040 PR c++/38650
12041 * testsuite/libgomp.c/pr38650.c: New test.
12042 * testsuite/libgomp.c++/pr38650.C: New test.
12043
382017a6
JJ
120442008-12-27 Jakub Jelinek <jakub@redhat.com>
12045
12046 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
12047
79644b27
UB
120482008-12-26 Uros Bizjak <ubizjak@gmail.com>
12049
12050 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
12051
baafc534
RW
120522008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12053
12054 * configure: Regenerate.
12055
d9c194cb
JJ
120562008-12-08 Jakub Jelinek <jakub@redhat.com>
12057
12058 PR middle-end/36802
12059 * testsuite/libgomp.c/pr36802-1.c: New test.
12060 * testsuite/libgomp.c/pr36802-2.c: New test.
12061 * testsuite/libgomp.c/pr36802-3.c: New test.
12062
86a182bf
JJ
120632008-12-01 Janis Johnson <janis187@us.ibm.com>
12064
12065 PR libgomp/38270
12066 * config/linux/powerpc/mutex.h: New.
12067
956adfaf
JJ
120682008-12-01 Jakub Jelinek <jakub@redhat.com>
12069
a2d4cdc9
JJ
12070 PR c++/38257
12071 * testsuite/libgomp.c++/for-7.C: New test.
12072
956adfaf
JJ
12073 PR c++/38348
12074 * testsuite/libgomp.c++/for-6.C: New test.
12075
d4038ca2
JJ
120762008-11-26 Janis Johnson <janis187@us.ibm.com>
12077
12078 PR testsuite/28870
12079 * testsuite/lib/libgomp.exp: Include new timeout library files.
12080 (libgomp_target_compile): Set timeout value from new proc.
12081
8b159eea
SE
120822008-11-13 Steve Ellcey <sje@cup.hp.com>
12083
12084 PR libgomp/37938
12085 * config/linux/ia64/mutex.h: New.
12086
5c6ed53a
TB
120872008-11-04 Tobias Burnus <burnus@net-b.de>
12088
12089 PR libgomp/37935
12090 * libgomp.texi (Runtime library routines, environment variables):
12091 Update for OpenMP version 3.0.
12092
6b4a97ed
PG
120932008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
12094 Steve Ellcey <sje@cup.hp.com>
12095
12096 * configure: Regenerate for new libtool.
12097 * Makefile.in: Ditto.
12098 * testsuite/Makefile.in: Ditto.
12099
e2b34106
JJ
121002008-09-19 Jakub Jelinek <jakub@redhat.com>
12101 Andreas Tobler <a.tobler@schweiz.org>
12102
12103 * config/bsd/proc.c: New file.
8c3b3600 12104 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
12105 * configure.ac: Check for header <sys/sysctl.h>
12106 * configure: Regenerate.
12107 * config.h.in: Likewise.
12108
3606b8bf
JJ
121092008-09-05 Janis Johnson <janis187@us.ibm.com>
12110
12111 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
12112
6528b88d
AL
121132008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
12114
12115 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
12116 * Makefile.in: Regenerated.
12117 * testsuite/Makefile.in: Regenerated.
12118
d9b14b12 121192008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 12120
a16b68bb 12121 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
12122 depend on blddir if blddir exists.
12123 (libgomp_target_compile): Likewise.
12124 * testsuite/libgomp.c++/c++.exp: Likewise.
12125 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12126
70b1e376
RW
121272008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12128
12129 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
12130 Do not list GPL as Invariant Section.
12131
318e8c3f
IG
121322008-07-28 Ilie Garbacea <ilie@mips.com>
12133 Chao-ying Fu <fu@mips.com>
12134
12135 * configure.tgt: Enable futex for MIPS.
12136 * config/linux/mips/futex.h: New file.
12137
4db72361
JJ
121382008-07-16 Jakub Jelinek <jakub@redhat.com>
12139
12140 * team.c (gomp_team_end): Free team immediately if it has
12141 just one thread.
12142
87bd23b8
DE
121432008-07-08 David Edelsohn <edelsohn@gnu.org>
12144
12145 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
12146 * testsuite/libgomp.fortran/fortran.exp: Same.
12147 * testsuite/libgomp.c/c.exp: Same.
12148 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
12149 directory to library path first.
12150
323ff903
KW
121512008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
12152
12153 * env.c (parse_stacksize): Add cast to avoid warning.
12154 (parse_spincount): Likewise.
12155
b357f682
JJ
121562008-06-27 Jakub Jelinek <jakub@redhat.com>
12157
ca2b1311
JJ
12158 * testsuite/libgomp.c/loop-10.c: New test.
12159 * libgomp.c/loop-3.c (main): Add lastprivate clause.
12160 * libgomp.c++/loop-6.C (main): Likewise.
12161
b357f682
JJ
12162 PR debug/36617
12163 * testsuite/libgomp.c/debug-1.c: New test.
12164
09a46078
JJ
121652008-06-19 Jakub Jelinek <jakub@redhat.com>
12166
12167 * testsuite/libgomp.c/nqueens-1.c: New test.
12168
2368a460
JJ
12169 PR c++/36523
12170 * testsuite/libgomp.c++/task-7.C: New function.
12171
18c04407
RW
121722008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12173
12174 * configure: Regenerate.
12175
9c4e59e0
JDA
121762008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12177
12178 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
12179 mutex when HAVE_SYNC_BUILTINS isn't defined.
12180
6ccde948
RW
121812008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12182
12183 * libgomp.texi (omp_test_lock): Fix typo.
12184
b896f9fd
TB
121852008-06-12 Tobias Burnus <burnus@net-b.de>
12186
12187 * omp_lib.f90.in: Add "implicit none".
12188
c34938a8
JJ
121892008-06-12 Jakub Jelinek <jakub@redhat.com>
12190
12191 PR middle-end/36506
12192 * testsuite/libgomp.c/reduction-5.c: New test.
12193
976e44e3
JJ
121942008-06-11 Jakub Jelinek <jakub@redhat.com>
12195
5f836cbb
JJ
12196 * libgomp.h (struct gomp_task): Add in_tied_task field.
12197 * task.c (gomp_init_task): Initialize it.
12198 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
12199 unconditionally. Don't call gomp_team_barrier_wake if
12200 current task is implicit or if(0) from implicit and number of
12201 running tasks is equal to nthreads - 1.
12202
01501fc8
JJ
12203 PR libgomp/36471
12204 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
12205 omp_get_team_size_8): Fix pastos.
12206
976e44e3
JJ
12207 PR libgomp/36469
12208 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
12209 * configure: Regenerated.
12210 * config.h.in: Regenerated.
12211 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
12212 defined.
12213
e919209b
AT
122142008-06-06 Andreas Tobler <a.tobler@schweiz.org>
12215
12216 PR bootstrap/36452
12217 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
12218 (GOMP_loop_ull_dynamic_start): Likewise.
12219 (GOMP_loop_ull_guided_start): Likewise.
12220 (GOMP_loop_ull_ordered_static_start): Likewise.
12221 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
12222 (GOMP_loop_ull_ordered_guided_start): Likewise.
12223
a68ab351
JJ
122242008-06-06 Jakub Jelinek <jakub@redhat.com>
12225 Richard Henderson <rth@redhat.com>
12226 Ulrich Drepper <drepper@redhat.com>
12227 Jakob Blomer <jakob.blomer@ira.uka.de>
12228
12229 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
12230 Substitute also OMP_*LOCK_25*.
12231 * configure: Regenerated.
12232 * config.h.in: Regenerated.
12233 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
12234 ptrlock.c and task.c.
12235 * Makefile.in: Regenerated.
12236 * testsuite/Makefile.in: Regenerated.
12237 * task.c: New file.
12238 * loop_ull.c: New file.
12239 * iter_ull.c: New file.
12240 * libgomp.h: Include ptrlock.h.
12241 (enum gomp_task_kind): New type.
12242 (struct gomp_team): Add task_lock, task_queue, task_count,
12243 task_running_count, single_count fields. Add
12244 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
12245 Remove work_share_lock, generation_mask,
12246 oldest_live_gen, num_live_gen and init_work_shares fields, add
12247 work work_share_list_alloc, work_share_list_free and work_share_chunk
12248 fields. Change work_shares from pointer to pointers into an array.
12249 Change ordered_release field into gomp_sem_t ** from flexible array
12250 member. Add implicit_task and initial_work_shares fields.
12251 Move close to the end of the struct.
12252 (struct gomp_team_state): Add single_count, last_work_share,
12253 active_level and level fields, remove work_share_generation.
12254 (gomp_barrier_handle_tasks): New prototype.
12255 (gomp_finish_task): New inline function.
12256 (struct gomp_work_share): Move chunk_size, end, incr into
12257 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
12258 next_ll fields. Reshuffle fields. Add next_alloc,
12259 next_ws, next_free and inline_ordered_team_ids fields, change
12260 ordered_team_ids into pointer from flexible array member.
12261 Add mode field. Put lock and next into a different cache line
12262 from most of the write-once fields.
12263 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
12264 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
12265 gomp_iter_ull_guided_next): New prototypes.
12266 (gomp_new_icv): New prototype.
12267 (struct gomp_thread): Add thread_pool and task fields.
12268 (struct gomp_thread_pool): New type.
12269 (gomp_new_team): New prototype.
12270 (gomp_team_start): Change type of last argument.
12271 (gomp_new_work_share): Removed.
12272 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
12273 (gomp_work_share_init_done): New static inline.
12274 (gomp_throttled_spin_count_var, gomp_available_cpus,
12275 gomp_managed_threads): New extern decls.
12276 (gomp_init_task): New prototype.
12277 (gomp_spin_count_var): New extern var decl.
12278 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
12279 or no alias support, or if not PIC.
12280 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
12281 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
12282 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
12283 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
12284 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
12285 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
12286 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
12287 gomp_test_nest_lock_25): New prototypes.
12288 (omp_lock_symver, strong_alias): Define.
12289 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
12290 decls.
12291 (gomp_end_task): New.
12292 (struct gomp_task_icv, gomp_global_icv): New.
12293 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
12294 (struct gomp_task): New.
12295 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12296 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12297 (gomp_icv): New.
12298 (gomp_schedule_type): Reorder enum to match
12299 omp_sched_t.
12300 * team.c (struct gomp_thread_start_data): Add thread_pool and task
12301 fields.
12302 (gomp_thread_start): Add gomp_team_barrier_wait call.
12303 For non-nested case remove clearing of docked thread thr fields.
12304 Use pool fields instead of global gomp_* variables. Use
12305 gomp_barrier_wait_last when needed. Initialize ts.active_level.
12306 Create tasks for each member thread.
12307 (free_team): Only destroy team barrier, task_lock here and free it.
12308 (gomp_free_thread): Free last_team if non-NULL.
12309 (gomp_team_end): Call gomp_team_barrier_wait instead of
12310 gomp_barrier_wait. For nested case call one extra
12311 gomp_barrier_wait. Move here some destruction from free_team.
12312 Call free_team on pool->last_team if any, rather than freeing
12313 current team. Destroy work_share_list_free_lock ifndef
12314 HAVE_SYNC_BUILTINS.
12315 (gomp_new_icv): New function.
12316 (gomp_threads, gomp_threads_size, gomp_threads_used,
12317 gomp_threads_dock): Removed.
12318 (gomp_thread_destructor): New variable.
12319 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
12320 functions.
12321 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 12322 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
12323 Initialize thread_pool field for new threads. Clear single_count.
12324 Change last argument from ws to team, don't create
12325 new team, set ts.work_share to &team->work_shares[0] and clear
12326 ts.last_work_share. Don't clear ts.work_share_generation.
12327 If number of threads changed, adjust atomically gomp_managed_threads.
12328 Use gomp_init_task instead of gomp_new_task,
12329 set thr->task to the corresponding implicit_task array entry.
12330 Create tasks for each member thread. Initialize ts.level.
12331 (initialize_team): Call pthread_key_create on
12332 gomp_thread_destructor.
12333 (team_destructor): New function.
12334 (new_team): Removed.
12335 (gomp_new_team): New function.
12336 (free_team): Free gomp_work_share blocks chained through next_alloc,
12337 instead of freeing work_shares and destroying work_share_lock.
12338 (gomp_team_end): Call gomp_fini_work_share. If number of threads
12339 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
12340 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
12341 of gomp_barrier_wait.
12342 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
12343 instead of gomp_barrier_wait. Call gomp_work_share_init_done
12344 if gomp_work_share_start returned true. Don't unlock ws->lock.
12345 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
12346 of gomp_barrier_wait.
12347 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
12348 gomp_work_share_init_done if gomp_work_share_start returned true.
12349 Don't unlock ws->lock.
12350 * work.c: Include stddef.h.
12351 (free_work_share): Use work_share_list_free_lock instead
12352 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
12353 Call gomp_fini_work_share and then either free ws if orphaned, or
12354 put it into work_share_list_free list of the current team.
12355 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
12356 functions.
12357 (gomp_work_share_start, gomp_work_share_end,
12358 gomp_work_share_end_nowait): Rewritten.
12359 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
12360 (openmp_version): Set to 200805.
12361 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12362 omp_sched_guided, omp_sched_auto): New parameters.
12363 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12364 omp_set_max_active_levels, omp_get_max_active_levels,
12365 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12366 omp_get_active_level): New interfaces.
12367 * omp_lib.h.in (openmp_version): Set to 200805.
12368 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12369 omp_sched_guided, omp_sched_auto): New parameters.
12370 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12371 omp_set_max_active_levels, omp_get_max_active_levels,
12372 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12373 omp_get_active_level): New externals.
12374 * loop.c: Include limits.h.
12375 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
12376 GFS_AUTO.
12377 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
12378 Likewise. Use gomp_icv.
12379 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
12380 ts.static_trip here.
12381 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
12382 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
12383 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
12384 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
12385 don't unlock ws->lock, otherwise lock it.
12386 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
12387 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
12388 (gomp_parallel_loop_start): Call gomp_new_team instead of
12389 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
12390 Adjust gomp_team_start caller. Pass 0 as second argument to
12391 gomp_resolve_num_threads.
12392 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
12393 If adding ws->chunk_size nthreads + 1 times after end won't
12394 overflow, set ws->mode to 1.
12395 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
12396 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
12397 GOMP_loop_ull_ordered_static_start,
12398 GOMP_loop_ull_ordered_dynamic_start,
12399 GOMP_loop_ull_ordered_guided_start,
12400 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
12401 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
12402 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
12403 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
12404 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
12405 prototypes.
12406 * libgomp.map: Export lock routines also @@OMP_2.0.
12407 (GOMP_loop_ordered_dynamic_first,
12408 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
12409 GOMP_loop_ordered_static_first): Remove.
12410 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
12411 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
12412 GOMP_loop_ull_ordered_dynamic_next,
12413 GOMP_loop_ull_ordered_dynamic_start,
12414 GOMP_loop_ull_ordered_guided_next,
12415 GOMP_loop_ull_ordered_guided_start,
12416 GOMP_loop_ull_ordered_runtime_next,
12417 GOMP_loop_ull_ordered_runtime_start,
12418 GOMP_loop_ull_ordered_static_next,
12419 GOMP_loop_ull_ordered_static_start,
12420 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
12421 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
12422 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
12423 (omp_set_schedule, omp_get_schedule,
12424 omp_get_thread_limit, omp_set_max_active_levels,
12425 omp_get_max_active_levels, omp_get_level,
12426 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
12427 omp_set_schedule_, omp_set_schedule_8_,
12428 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12429 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12430 omp_get_max_active_levels_, omp_get_level_,
12431 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12432 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12433 New exports @@OMP_3.0.
12434 * omp.h.in (omp_sched_t): New type.
12435 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12436 omp_set_max_active_levels, omp_get_max_active_levels,
12437 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12438 omp_get_active_level): New prototypes.
12439 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
12440 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
12441 gomp_thread_limit_var, gomp_remaining_threads_count,
12442 gomp_remaining_threads_lock): New variables.
12443 (parse_spincount): New function.
12444 (initialize_env): Call gomp_init_num_threads unconditionally.
12445 Initialize gomp_available_cpus. Call parse_spincount,
12446 initialize gomp_{,throttled_}spin_count_var
12447 depending on presence and value of OMP_WAIT_POLICY and
12448 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
12449 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
12450 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
12451 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
12452 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
12453 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12454 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12455 (gomp_global_icv): New.
12456 (parse_schedule): Use it. Parse "auto".
12457 (omp_set_num_threads): Use gomp_icv.
12458 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
12459 Likewise.
12460 (omp_get_max_threads): Move from parallel.c.
12461 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12462 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
12463 add ialias.
12464 (parse_stacksize, parse_wait_policy): New functions.
12465 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
12466 both wrappers for compatibility and new locks.
12467 (omp_set_schedule, omp_get_schedule,
12468 omp_get_thread_limit, omp_set_max_active_levels,
12469 omp_get_max_active_levels, omp_get_level,
12470 omp_get_ancestor_thread_num, omp_get_team_size,
12471 omp_get_active_level): New ialias_redirect.
12472 (omp_set_schedule_, omp_set_schedule_8_,
12473 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12474 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12475 omp_get_max_active_levels_, omp_get_level_,
12476 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12477 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12478 New functions.
12479 * parallel.c: Include limits.h.
12480 (gomp_resolve_num_threads): Add count argument. Rewritten.
12481 (GOMP_parallel_start): Call gomp_new_team and pass that as last
12482 argument to gomp_team_start. Pass 0 as second argument to
12483 gomp_resolve_num_threads.
12484 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
12485 if gomp_thread_limit_var != ULONG_MAX.
12486 (omp_in_parallel): Implement using ts.active_level.
12487 (omp_get_max_threads): Move to env.c.
12488 (omp_get_level, omp_get_ancestor_thread_num,
12489 omp_get_team_size, omp_get_active_level): New functions,
12490 add ialias.
12491 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
12492 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
12493 gomp_iter_dynamic_next instead of the _locked variant and don't take
12494 lock around it, otherwise acquire it before calling
12495 gomp_iter_dynamic_next_locked.
12496 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
12497 gomp_iter_dynamic_next instead of the _locked variant and don't take
12498 lock around it.
12499 (GOMP_parallel_sections_start): Call gomp_new_team instead of
12500 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
12501 Adjust gomp_team_start caller. Pass count as second argument to
12502 gomp_resolve_num_threads, don't adjust num_threads after the call.
12503 Use gomp_icv.
12504 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
12505 ws->chunk_size by incr.
12506 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
12507 code.
12508 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
12509 types.
12510 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
12511 (omp_check_defines): Check even the compat defines.
12512 * config/linux/ptrlock.c: New file.
12513 * config/linux/ptrlock.h: New file.
12514 * config/linux/wait.h: New file.
12515 * config/posix/ptrlock.c: New file.
12516 * config/posix/ptrlock.h: New file.
12517 * config/linux/bar.h (gomp_team_barrier_wait,
12518 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12519 (gomp_team_barrier_set_task_pending,
12520 gomp_team_barrier_clear_task_pending,
12521 gomp_team_barrier_set_waiting_for_tasks,
12522 gomp_team_barrier_waiting_for_tasks,
12523 gomp_team_barrier_done): New inlines.
12524 (gomp_barrier_t): Rewritten.
12525 (gomp_barrier_state_t): New typedef.
12526 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
12527 gomp_barrier_wait_start): Rewritten.
12528 (gomp_barrier_wait_end): Change second argument to
12529 gomp_barrier_state_t.
12530 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12531 inlines.
12532 * config/linux/bar.c: Include wait.h instead of libgomp.h and
12533 futex.h.
12534 (gomp_barrier_wait_end): Rewritten.
12535 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12536 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
12537 * config/posix/bar.h (gomp_barrier_t): Add generation field.
12538 (gomp_barrier_state_t): New typedef.
12539 (gomp_team_barrier_wait,
12540 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12541 (gomp_barrier_wait_start): Or all but low 2 bits from generation
12542 into the return value. Return gomp_barrier_state_t.
12543 (gomp_team_barrier_set_task_pending,
12544 gomp_team_barrier_clear_task_pending,
12545 gomp_team_barrier_set_waiting_for_tasks,
12546 gomp_team_barrier_waiting_for_tasks,
12547 gomp_team_barrier_done): New inlines.
12548 (gomp_barrier_wait_end): Change second argument to
12549 gomp_barrier_state_t.
12550 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12551 inlines.
12552 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
12553 (gomp_barrier_wait_end): Change second argument to
3e348fcc 12554 gomp_barrier_state_t.
a68ab351
JJ
12555 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12556 gomp_team_barrier_wake): New functions.
12557 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
12558 futex.h.
12559 (gomp_futex_wake, gomp_futex_wait): New variables.
12560 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
12561 * config/linux/lock.c: Rewrite to make locks task owned,
12562 for backwards compatibility provide the old entrypoints
12563 if symbol versioning. Include wait.h instead of libgomp.h and
12564 futex.h.
12565 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
12566 * config/posix95/lock.c: Rewrite to make locks task owned,
12567 for backwards compatibility provide the old entrypoints
12568 if symbol versioning.
12569 * config/posix/lock.c: Rewrite to make locks task owned,
12570 for backwards compatibility provide the old entrypoints
12571 if symbol versioning.
12572 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
12573 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
12574 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
12575 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12576 (sys_futex0): Return error code.
12577 (futex_wake, futex_wait): If ENOSYS was returned, clear
12578 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12579 (cpu_relax, atomic_write_barrier): New static inlines.
12580 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12581 (futex_wake, futex_wait): If ENOSYS was returned, clear
12582 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12583 (cpu_relax, atomic_write_barrier): New static inlines.
12584 * config/linux/x86/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/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12590 (sys_futex0): Return error code.
12591 (futex_wake, futex_wait): If ENOSYS was returned, clear
12592 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12593 (cpu_relax, atomic_write_barrier): New static inlines.
12594 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12595 (sys_futex0): Return error code.
12596 (futex_wake, futex_wait): If ENOSYS was returned, clear
12597 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12598 (cpu_relax, atomic_write_barrier): New static inlines.
12599 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12600 (sys_futex0): Return error code.
12601 (futex_wake, futex_wait): If ENOSYS was returned, clear
12602 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12603 (cpu_relax, atomic_write_barrier): New static inlines.
12604 * config/linux/sem.c: Include wait.h instead of libgomp.h and
12605 futex.h.
12606 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12607 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12608 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12609 types.
12610 (omp_nest_lock_t): Change owner into void *, add lock field.
12611 * config/posix95/omp-lock.h: Include semaphore.h.
12612 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12613 (omp_lock_t): Use sem_t instead of mutex if semaphores
12614 aren't broken.
12615 (omp_nest_lock_t): Likewise. Change owner to void *.
12616 * config/posix/omp-lock.h: Include semaphore.h.
12617 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12618 (omp_lock_t): Use sem_t instead of mutex if semaphores
12619 aren't broken.
12620 (omp_nest_lock_t): Likewise. Add owner field.
12621
126222008-06-06 Jakub Jelinek <jakub@redhat.com>
12623
12624 * testsuite/libgomp.c/collapse-1.c: New test.
12625 * testsuite/libgomp.c/collapse-2.c: New test.
12626 * testsuite/libgomp.c/collapse-3.c: New test.
12627 * testsuite/libgomp.c/icv-1.c: New test.
12628 * testsuite/libgomp.c/icv-2.c: New test.
12629 * testsuite/libgomp.c/lib-2.c: New test.
12630 * testsuite/libgomp.c/lock-1.c: New test.
12631 * testsuite/libgomp.c/lock-2.c: New test.
12632 * testsuite/libgomp.c/lock-3.c: New test.
12633 * testsuite/libgomp.c/loop-4.c: New test.
12634 * testsuite/libgomp.c/loop-5.c: New test.
12635 * testsuite/libgomp.c/loop-6.c: New test.
12636 * testsuite/libgomp.c/loop-7.c: New test.
12637 * testsuite/libgomp.c/loop-8.c: New test.
12638 * testsuite/libgomp.c/loop-9.c: New test.
12639 * testsuite/libgomp.c/nested-3.c: New test.
12640 * testsuite/libgomp.c/nestedfn-6.c: New test.
12641 * testsuite/libgomp.c/sort-1.c: New test.
12642 * testsuite/libgomp.c/task-1.c: New test.
12643 * testsuite/libgomp.c/task-2.c: New test.
12644 * testsuite/libgomp.c/task-3.c: New test.
12645 * testsuite/libgomp.c/task-4.c: New test.
12646 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12647 to C++ testsuite default compiler options.
12648 * testsuite/libgomp.c++/collapse-1.C: New test.
12649 * testsuite/libgomp.c++/collapse-2.C: New test.
12650 * testsuite/libgomp.c++/ctor-10.C: New test.
12651 * testsuite/libgomp.c++/for-1.C: New test.
12652 * testsuite/libgomp.c++/for-2.C: New test.
12653 * testsuite/libgomp.c++/for-3.C: New test.
12654 * testsuite/libgomp.c++/for-4.C: New test.
12655 * testsuite/libgomp.c++/for-5.C: New test.
12656 * testsuite/libgomp.c++/loop-8.C: New test.
12657 * testsuite/libgomp.c++/loop-9.C: New test.
12658 * testsuite/libgomp.c++/loop-10.C: New test.
12659 * testsuite/libgomp.c++/task-1.C: New test.
12660 * testsuite/libgomp.c++/task-2.C: New test.
12661 * testsuite/libgomp.c++/task-3.C: New test.
12662 * testsuite/libgomp.c++/task-4.C: New test.
12663 * testsuite/libgomp.c++/task-5.C: New test.
12664 * testsuite/libgomp.c++/task-6.C: New test.
12665 * testsuite/libgomp.fortran/allocatable1.f90: New test.
12666 * testsuite/libgomp.fortran/allocatable2.f90: New test.
12667 * testsuite/libgomp.fortran/allocatable3.f90: New test.
12668 * testsuite/libgomp.fortran/allocatable4.f90: New test.
12669 * testsuite/libgomp.fortran/collapse1.f90: New test.
12670 * testsuite/libgomp.fortran/collapse2.f90: New test.
12671 * testsuite/libgomp.fortran/collapse3.f90: New test.
12672 * testsuite/libgomp.fortran/collapse4.f90: New test.
12673 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12674 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12675 * testsuite/libgomp.fortran/lib4.f90: New test.
12676 * testsuite/libgomp.fortran/lock-1.f90: New test.
12677 * testsuite/libgomp.fortran/lock-2.f90: New test.
12678 * testsuite/libgomp.fortran/nested1.f90: New test.
12679 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12680 * testsuite/libgomp.fortran/strassen.f90: New test.
12681 * testsuite/libgomp.fortran/tabs1.f90: New test.
12682 * testsuite/libgomp.fortran/tabs2.f: New test.
12683 * testsuite/libgomp.fortran/task1.f90: New test.
12684 * testsuite/libgomp.fortran/task2.f90: New test.
12685 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12686 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12687 * testsuite/libgomp.c/pr26943-2.c: Likewise.
12688 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12689 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12690
7a0112e7
JJ
126912008-05-23 Jakub Jelinek <jakub@redhat.com>
12692
12693 PR c++/36308
12694 * testsuite/libgomp.c++/ctor-11.C: New test.
12695 * testsuite/libgomp.c++/ctor-12.C: New test.
12696
91a5b394
JJ
126972008-05-15 Janis Johnson <janis187@us.ibm.com>
12698
12699 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12700
c18c98c0
JJ
127012008-05-07 Jakub Jelinek <jakub@redhat.com>
12702
12703 PR middle-end/36106
12704 * testsuite/libgomp.c/atomic-5.c: New test.
12705 * testsuite/libgomp.c/atomic-6.c: New test.
12706 * testsuite/libgomp.c/autopar-1.c: New test.
12707
6d26724a
RW
127082008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12709
12710 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12711 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12712 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12713 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12714 * configure: Regenerate.
12715 * Makefile.in, testsuite/Makefile.in: Likewise.
12716
deb984e6
PB
127172008-04-18 Paolo Bonzini <bonzini@gnu.org>
12718
12719 PR bootstrap/35457
12720 * aclocal.m4: Regenerate.
12721 * configure: Regenerate.
12722
9e775963
JJ
127232008-03-18 Jakub Jelinek <jakub@redhat.com>
12724
8119fc93
JJ
12725 PR middle-end/35611
12726 * testsuite/libgomp.c/atomic-4.c: New test.
12727
9e775963
JJ
12728 PR libgomp/35625
12729 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12730 (gomp_iter_guided_next): Likewise.
12731 * testsuite/libgomp.c/pr35625.c: New test.
12732
38d24731
RW
127332008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12734
12735 * aclocal.m4: Regenerate.
12736 * configure: Likewise.
12737 * Makefile.in: Likewise.
12738 * testsuite/Makefile.in: Likewise.
12739
d0fb20be
JJ
127402008-03-13 Jakub Jelinek <jakub@redhat.com>
12741
12742 PR middle-end/35185
12743 * testsuite/libgomp.c++/pr35185.C: New test.
12744
7c8f7639
JJ
127452008-03-12 Jakub Jelinek <jakub@redhat.com>
12746
12747 PR middle-end/35549
12748 * testsuite/libgomp.c/pr35549.c: New test.
12749
251923f5
JJ
127502008-03-06 Jakub Jelinek <jakub@redhat.com>
12751
12752 * testsuite/libgomp.c/atomic-3.c: New test.
12753
f489fba1
FXC
127542008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12755
12756 PR fortran/33197
251923f5 12757 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
12758 .F08 file suffixes.
12759
a1b25e49
PG
127602008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
12761
12762 PR libgomp/33131
12763 * configure.ac: Add ACX_HEADER_STRING.
12764 * env.c: Include strings.h.
12765 * aclocal.m4: Regenerate.
12766 * config.h.in: Regenerate.
12767 * configure: Regenerate.
12768 * Makefile.in: Regenerate.
12769 * testsuite/Makefile.in: Regenerate.
12770
6837b3b8
JJ
127712008-02-15 Jakub Jelinek <jakub@redhat.com>
12772
ac84c062
JJ
12773 PR middle-end/35196
12774 * testsuite/libgomp.c/pr35196.c: New test.
12775
6837b3b8
JJ
12776 PR middle-end/35130
12777 * testsuite/libgomp.fortran/pr35130.f90: New test.
12778 * testsuite/libgomp.c/pr35130.c: New test.
12779
c256730c
JJ
127802008-01-25 Jakub Jelinek <jakub@redhat.com>
12781
12782 PR middle-end/33880
12783 * testsuite/libgomp.c/pr33880.c: New test.
12784 * testsuite/libgomp.fortran/pr33880.f90: New test.
12785
c8e95542 127862008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
12787
12788 * configure: Regenerate.
12789
0f3e711e
JJ
127902008-01-08 Jakub Jelinek <jakub@redhat.com>
12791
12792 * configure.ac: Move futex checking into ../config/futex.m4.
12793 * configure: Rebuilt.
12794 * aclocal.m4: Rebuilt.
12795 * Makefile.in: Rebuilt.
12796
12797 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12798 2007-10-15 ../config/tls.m4 change.
12799
5259c813
JJ
128002007-12-19 Jakub Jelinek <jakub@redhat.com>
12801
12802 PR c++/34513
12803 * testsuite/libgomp.c/pr34513.c: New test.
12804 * testsuite/libgomp.c++/pr34513.C: New test.
12805
ae8d8879
JH
128062007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
12807
12808 PR target/32765
12809 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12810
2b4cf991
JJ
128112007-12-04 Jakub Jelinek <jakub@redhat.com>
12812
12813 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
12814
d2dda7fe
JJ
128152007-12-03 Jakub Jelinek <jakub@redhat.com>
12816
12817 * testsuite/libgomp.c/private-1.c: New test.
12818
d683ec81
PB
128192007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
12820 Paolo Bonzini <bonzini@gnu.org>
12821
12822 * Makefile.am: Use space as vpath separator. Use 'vpath %'
12823 instead of 'VPATH ='.
12824 * Makefile.in: Regenerate.
12825
a7415017
MK
128262007-11-23 Matthias Klose <doko@ubuntu.com>
12827
12828 * configure.ac: Adjust makeinfo version check.
12829 * configure: Regenerate.
12830
78e47463
JJ
128312007-11-10 Jakub Jelinek <jakub@redhat.com>
12832
12833 PR fortran/34020
12834 * testsuite/libgomp.fortran/pr34020.f90: New test.
12835
239371f9
JJ
128362007-11-06 Jakub Jelinek <jakub@redhat.com>
12837
12838 PR c++/33894
12839 * testsuite/libgomp.c++/atomic-1.C: New test.
12840
98a5fa94
JJ
128412007-10-25 Jakub Jelinek <jakub@redhat.com>
12842
12843 PR libgomp/33275
12844 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12845 Make x and y integers rather than (implicit) reals. Add private (j)
12846 clause to the last omp parallel.
12847
3afcaaf4
MR
128482007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
12849
12850 * configure: Regenerate following changes to ../config/tls.m4.
12851
bd69daef
JJ
128522007-09-28 Jakub Jelinek <jakub@redhat.com>
12853
12854 * testsuite/libgomp.fortran/stack.f90: New test.
12855
1d0bd356
DS
128562007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
12857
12858 * config/mingw32/proc.c: New file.
12859
b3172cab
UB
128602007-09-05 Uros Bizjak <ubizjak@gmail.com>
12861
12862 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12863 (main): Use __get_cpuid to get i386 target fetaures.
12864 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12865 (main): Use __get_cpuid to get x86_64 target fetaures.
12866
6da17392
JH
128672007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
12868
12869 PR target/32765
12870 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12871 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12872
e1c82219
JJ
128732007-07-12 Jakub Jelinek <jakub@redhat.com>
12874
12875 PR fortran/32550
12876 * testsuite/libgomp.fortran/pr32550.f90: New test.
12877 * testsuite/libgomp.fortran/crayptr2.f90: New test.
12878
12a27363
L
128792007-07-05 H.J. Lu <hongjiu.lu@intel.com>
12880
12881 * aclocal.m4: Regenerated.
12882
5349080d
TB
128832007-07-05 Tobias Burnus <burnus@net-b.de>
12884
12885 PR fortran/32359
12886 * testsuite/libgomp.fortran/pr32359.f90: New.
12887
4f9c450c
JJ
128882007-07-02 Jakub Jelinek <jakub@redhat.com>
12889
12890 PR libgomp/32468
12891 * sections.c (GOMP_parallel_sections_start): Only decrease
12892 number of threads to COUNT if dyn_var is true.
12893 * testsuite/libgomp.c/pr32468.c: New test.
12894
28c67ed7
RO
128952007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12896
12897 PR libgomp/26308
12898 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12899
64964499
JJ
129002007-06-21 Jakub Jelinek <jakub@redhat.com>
12901
12902 PR middle-end/32362
12903 * testsuite/libgomp.c/pr32362-1.c: New test.
12904 * testsuite/libgomp.c/pr32362-2.c: New test.
12905 * testsuite/libgomp.c/pr32362-3.c: New test.
12906
46d8fbd1
JJ
129072007-06-07 Jakub Jelinek <jakub@redhat.com>
12908
12909 * team.c (gomp_team_start): Fix setting up thread_attr
12910 stack size.
12911
82a6cadf
PB
129122007-06-02 Paolo Bonzini <bonzini@gnu.org>
12913
12914 * configure: Regenerate.
12915
1cf3d07d
SE
129162007-05-23 Steve Ellcey <sje@cup.hp.com>
12917
12918 * Makefile.in: Regenerate.
12919 * configure: Regenerate.
12920 * aclocal.m4: Regenerate.
12921 * testsuite/Makefile.in: Regenerate.
12922
12aac30b
JJ
129232007-05-04 Jakub Jelinek <jakub@redhat.com>
12924
12925 * config/linux/proc.c: New file.
12926
f1028b02
JJ
12927 PR libgomp/28482
12928 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12929
06785a48
DF
129302007-04-19 Daniel Franke <franke.daniel@gmail.com>
12931
12932 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12933
b3b08ba0
MK
129342007-04-16 Matthias Klose <doko@debian.org>
12935
12936 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12937 flags if not building with -m64.
12938 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12939 flag for i?86-*-* targets, if current target matches -m64.
12940
6b2c5ce0
SE
129412007-04-14 Steve Ellcey <sje@cup.hp.com>
12942
12943 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12944 * Makefile.in: Regenerate.
12945
dd56fe7c
JDA
129462007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12947
12948 PR testsuite/31369
12949 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12950 ld_library_path.
12951 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12952
a0884cf0
JJ
129532007-04-04 Jakub Jelinek <jakub@redhat.com>
12954
12955 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12956 decls.
12957 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12958 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12959 (parse_affinity): New function.
12960 (initialize_env): Call it and gomp_init_affinity.
12961 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12962 create new pthread_attr_t and call gomp_init_thread_affinity
12963 on it for each thread before passing the attribute to pthread_create.
12964 * config/linux/affinity.c: New file.
12965 * config/posix/affinity.c: New file.
12966 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12967 * configure: Rebuilt.
12968 * config.h.in: Rebuilt.
12969 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12970 * Makefile.in: Rebuilt.
12971
1850744b
AT
129722007-03-23 Andreas Tobler <a.tobler@schweiz.org>
12973
12974 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12975 *-*-darwin*.
12976 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12977 and use it if found.
12978
516f1ed8
UB
129792007-03-18 Uros Bizjak <ubizjak@gmail.com>
12980
12981 * testsuite/config/default.exp: New file.
12982 * testsuite/lib/libgomp.exp: New file.
12983 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12984 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12985 load_lib *, load_gcc_lib *): Move to libgomp.exp.
12986 (libgomp_load): Remove.
12987 * testsuite/lib/libgomp.exp (libgomp_init): Compute
12988 always_ld_library_path, not ld_library_path. Set additional_flags
12989 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12990 (target_compile): Do not call libgomp_init. Append lang_library_path
12991 and lang_link_flags to options.
12992 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
12993 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
12994 here.
12995 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
12996 always_ld_library_path. Set LD_LIBRARY_PATH here.
12997 * testsuite/libgomp.fortran/fortran.exp: Ditto.
12998 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
12999 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
13000 CX8 flag.
13001 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
13002 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
13003 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
13004 * testsuite/libgomp.c/pr29947-1.c: Ditto.
13005 * testsuite/libgomp.c/atomic-10.c: Ditto.
13006
2ada56f5
JJ
130072007-03-21 Jakub Jelinek <jakub@redhat.com>
13008
13009 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
13010 dg-final cleanup-modules line.
13011 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
13012 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
13013 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
13014 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
13015 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
13016 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
13017 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
13018
f210f1cd
AS
130192007-03-18 Andreas Schwab <schwab@suse.de>
13020
13021 * acinclude.m4: Adjust regular expression for ld version
13022 extraction.
13023 * configure: Regenerate.
13024
c4dc950d
BM
130252007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
13026
13027 * Makefile.am: Add install-pdf target as copied from
13028 automake v1.10 rules.
13029 * Makefile.in: Regenerate
13030
e02a048f
JJ
130312007-02-07 Jakub Jelinek <jakub@redhat.com>
13032
78e075d4
JJ
13033 PR libgomp/28486
13034 * configure: Regenerate.
13035
e02a048f
JJ
13036 PR c++/30703
13037 * testsuite/libgomp.c++/pr30703.C: New test.
13038
60def7ed
JJ
130392007-02-02 Jakub Jelinek <jakub@redhat.com>
13040
13041 Revert:
13042 2006-07-05 Eric Christopher <echristo@apple.com>
13043 * configure.ac: Depend addition of -pthread on host OS.
13044 * configure: Regenerate.
13045
f1b0882e
RW
130462007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13047
13048 * libgomp.texi: Fix spacing after abbreviations.
13049
748b9d7c
DF
130502007-01-31 Daniel Franke <franke.daniel@gmail.com>
13051
13052 PR libgomp/30546
13053 * configure.ac: Add check for makeinfo
13054 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 13055 if an appropriate version of makeinfo is found.
748b9d7c
DF
13056 * aclocal.m4: Regenerated.
13057 * configure: Regenerated.
13058 * Makefile.in: Regenerated.
13059 * testsuite/Makefile.in: Regenerated.
13060
14734fc7
DF
130612007-01-29 Daniel Franke <franke.daniel@gmail.com>
13062
13063 PR libgomp/30540
13064 * libgomp.texi: More about implementation-dependent settings.
13065
7befd5d2
TB
130662007-01-26 Tobias Burnus <burnus@net-b.de>
13067
13068 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
13069
4288fea2
JJ
130702007-01-24 Jakub Jelinek <jakub@redhat.com>
13071
13072 PR middle-end/30494
13073 * testsuite/libgomp.c/pr30494.c: New test.
13074
627ab4b8
TT
130752007-01-15 Tom Tromey <tromey@redhat.com>
13076
13077 * configure: Rebuilt.
13078 * configure.ac: Fixed comment.
13079
7c2b7f45
DF
130802007-01-14 Daniel Franke <franke.daniel@gmail.com>
13081
13082 * libgomp.texi: Document implementation specific default values of
13083 environment variables.
13084
3721b9e1
DF
130852006-12-21 Daniel Franke <franke.daniel@gmail.com>
13086
13087 PR libgomp/28209
13088 * libgomp.texi: New file.
13089 * configure.ac: Add --enable-generated-files-in-srcdir option.
13090 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
13091 files to srcdir.
13092 * Makefile.in: Regenerated.
13093 * config.h.in: Regenerated.
13094 * testsuite/Makefile.in: Regenerated.
13095 * NOTES: Removed.
13096
62bd6216
DF
130972006-12-04 Daniel Franke <franke.daniel@gmail.com>
13098
13099 PR libgomp/29949
13100 * env.c (omp_set_num_threads): Set illegal thread count to 1.
13101
aad741f4
EB
131022006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
13103
13104 * configure: Regenerate.
13105
22568cc6
JJ
131062006-12-04 Jakub Jelinek <jakub@redhat.com>
13107
13108 PR libgomp/29947
13109 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
13110 start if there shouldn't be any loop iterations.
13111 (gomp_loop_ordered_static_start): Remove start == end test.
13112 * testsuite/libgomp.c/pr29947-1.c: New test.
13113 * testsuite/libgomp.c/pr29947-2.c: New test.
13114
a9690009
EB
131152006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
13116
13117 * configure.tgt: Force initial-exec TLS model on Linux only.
13118
597c25e6
DJ
131192006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
13120
13121 * configure: Regenerated.
13122
6acf0b38
UB
131232006-11-09 Uros Bizjak <ubizjak@gmail.com>
13124
13125 * env.c (parse_schedule): Reject out of range values.
13126 (parse_unsigned_long): Reject out of range, negative or zero values.
13127
a7a53ca5
JJ
131282006-10-29 Jakub Jelinek <jakub@redhat.com>
13129
13130 PR fortran/29629
13131 * testsuite/libgomp.fortran/pr29629.f90: New test.
13132
6d4d216a
EB
131332006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
13134
13135 PR libgomp/29494
13136 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
13137 * config/posix95: New directory.
13138 * config/posix95/omp-lock.h: New file.
13139 * config/posix95/lock.c: Likewise.
13140
5b043f08
GK
131412006-10-14 Geoffrey Keating <geoffk@apple.com>
13142
13143 * aclocal.m4: Regenerate.
13144 * configure: Regenerate.
13145
b50019f0
DS
131462006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
13147
13148 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
13149 '<' to '<='.
13150
8887708e
DS
131512006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
13152
13153 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
13154 test.
13155 * configure: Regenerate.
13156 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
13157
9b9e4cd6
JJ
131582006-09-26 Jakub Jelinek <jakub@redhat.com>
13159
a70ad3bb
JJ
13160 PR middle-end/25261
13161 PR middle-end/28790
13162 * testsuite/libgomp.c/nestedfn-4.c: New test.
13163 * testsuite/libgomp.c/nestedfn-5.c: New test.
13164 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
13165
9b9e4cd6
JJ
13166 PR fortran/29097
13167 * testsuite/libgomp.fortran/condinc1.f: New test.
13168 * testsuite/libgomp.fortran/condinc2.f: New test.
13169 * testsuite/libgomp.fortran/condinc3.f90: New test.
13170 * testsuite/libgomp.fortran/condinc4.f90: New test.
13171 * testsuite/libgomp.fortran/condinc1.inc: New file.
13172
2fb31455
TT
131732006-09-18 Tom Tromey <tromey@redhat.com>
13174
13175 * configure: Rebuilt.
13176
c663e301
JM
131772006-09-13 Joseph S. Myers <joseph@codesourcery.com>
13178
13179 PR c/28768
13180 PR preprocessor/14634
13181 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
13182 to AC_DEFINE.
13183 * configure: Regenerate.
13184
38371be9
SK
131852006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
13186
13187 * testsuite/libgomp.fortran/reduction3.f90: Change
13188 -2147483648 to -huge(i)-1 to avoid overflow.
13189 * testsuite/libgomp.fortran/reduction4.f90: Change
13190 Z'ffffffff' to not(0) to avoid overflow.
13191
571d5ac5
JM
131922006-08-26 Joseph S. Myers <joseph@codesourcery.com>
13193
13194 PR libgomp/25938
13195 * Makefile.am (libsubincludedir): New.
13196 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
13197 * Makefile.in: Regenerate.
13198
89b3e3cd
JJ
131992006-08-17 Jakub Jelinek <jakub@redhat.com>
13200
13201 PR libgomp/28725
13202 * env.c: Include ctype.h.
13203 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
13204 leading and/or trailing whitespace and compare strings case
13205 insensitively.
13206
742fae05
JJ
132072006-07-16 Jakub Jelinek <jakub@redhat.com>
13208
13209 PR fortran/28390
13210 * testsuite/libgomp.fortran/pr28390.f: New test.
13211
a1daed2d
EC
132122006-07-05 Eric Christopher <echristo@apple.com>
13213
13214 * configure.ac: Depend addition of -pthread on host OS.
13215 * configure: Regenerate.
13216
5d7b5199
JJ
132172006-06-21 Jakub Jelinek <jakub@redhat.com>
13218
13219 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
13220 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
13221 defined.
13222
fe5568e9
JJ
132232006-06-20 Jakub Jelinek <jakub@redhat.com>
13224
13225 PR libgomp/26175
13226 PR libgomp/26477
13227 * configure.ac: If neither --enable-linux-futex nor
13228 --disable-linux-futex is passed, determine the default by checking
13229 for compiling and/or running against NPTL. With --enable-linux-futex,
13230 check if SYS_gettid and SYS_futex are defined.
13231 * configure: Rebuilt.
13232
c3b11a40
RH
132332006-06-14 Richard Henderson <rth@redhat.com>
13234
13235 PR libgomp/28008
13236 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
13237 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
13238
d0d1b24d
RH
132392006-06-09 Richard Henderson <rth@redhat.com>
13240
13241 * env.c (gomp_nthreads_var): Change to unsigned long.
13242 (gomp_run_sched_chunk): Likewise.
13243 (parse_unsigned_long): Rename from parse_num_threads and generalize.
13244 (initialize_env): Initialize gomp_thread_attr.
13245 * libgomp.h (gomp_nthreads_var): Update decl.
13246 (gomp_run_sched_chunk): Likewise.
13247 (gomp_thread_attr): Declare.
13248 * team.c (gomp_thread_attr): Export.
13249 (initialize_team): Don't initialize it.
13250
cd75853e
JJ
132512006-06-09 Jakub Jelinek <jakub@redhat.com>
13252
13253 PR fortran/27916
13254 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
13255 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
13256
33815e0c
FXC
132572006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
13258
13259 * config/mingw32/time.c: New file.
13260 * configure.tgt: Use it.
13261
6667de0d
CD
132622006-05-23 Carlos O'Donell <carlos@codesourcery.com>
13263
13264 * Makefile.am: Add install-html target. Add install-html to .PHONY
13265 * Makefile.in: Regenerate.
13266
e962c46b
JDA
132672006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13268
13269 PR libgomp/27612
13270 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
13271 * testsuite/libgomp.c/critical-1.c: Likewise.
13272 * testsuite/libgomp.c/loop-1.c: Likewise.
13273 * testsuite/libgomp.c/loop-2.c: Likewise.
13274 * testsuite/libgomp.c/single-1.c: Likewise.
13275 * testsuite/libgomp.c/ordered-1.c: Likewise.
13276 * testsuite/libgomp.c/ordered-2.c: Likewise.
13277
eeb1d9e0
JJ
132782006-05-15 Jakub Jelinek <jakub@redhat.com>
13279
13280 PR middle-end/27416
13281 * libgomp.fortran/pr27416-1.f90: New test.
13282
693d710f
JJ
132832006-05-03 Jakub Jelinek <jakub@redhat.com>
13284
13285 PR fortran/27395
13286 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
13287 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
13288
8ca5b2a2
JJ
132892006-05-02 Jakub Jelinek <jakub@redhat.com>
13290
13291 PR c++/26943
13292 * testsuite/libgomp.c/pr26943-1.c: New test.
13293 * testsuite/libgomp.c/pr26943-2.c: New test.
13294 * testsuite/libgomp.c/pr26943-3.c: New test.
13295 * testsuite/libgomp.c/pr26943-4.c: New test.
13296 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
13297 * testsuite/libgomp.c++/pr26943.C: New test.
13298
077b0dfb
JJ
132992006-05-02 Jakub Jelinek <jakub@redhat.com>
13300
13301 PR middle-end/27337
13302 * testsuite/libgomp.c++/pr27337.C: New test.
13303
91b6c26d
JJ
133042006-04-26 Jakub Jelinek <jakub@redhat.com>
13305
13306 PR c/26171
13307 * testsuite/libgomp.c/pr26171.c: New test.
13308
60e1758f
RH
133092006-04-25 Richard Henderson <rth@redhat.com>
13310
13311 PR libgomp/25865
13312 * configure.ac: Use GCC_CHECK_TLS.
13313 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
13314 * Makefile.in, aclocal.m4, configure: Regenerate.
13315
615baed7
MK
133162006-04-10 Matthias Klose <doko@debian.org>
13317
13318 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
13319 directory names containing underscores.
13320
fae2b46b
JJ
133212006-03-21 Jakub Jelinek <jakub@redhat.com>
13322
13323 PR c++/26691
13324 * testsuite/libgomp.c++/pr26691.C: New test.
13325
11a5f608
JJ
133262006-03-13 Jakub Jelinek <jakub@redhat.com>
13327
13328 * testsuite/libgomp.fortran/retval2.f90: New test.
13329
1799e5d5
RH
133302006-03-09 Diego Novillo <dnovillo@redhat.com>
13331
13332 * testsuite/libgomp.c++: New directory.
13333
d349482e
AT
133342006-02-25 Shantonu Sen <ssen@opendarwin.org>
13335
13336 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
13337 * config/posix/sem.c: Implement the above.
13338
133392006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
13340
13341 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
13342 define HAVE_BROKEN_POSIX_SEMAPHORES.
13343 * configure: Rebuilt.
13344 * config.h.in: Rebuilt.
13345
124452c9
FXC
133462006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
13347
13348 PR bootstrap/26161
13349 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
13350 for the other pthread check.
13351 * configure: Regenerate.
13352 * config.h.in: Regenerate.
13353
dd8d6dfe
JJ
133542006-02-15 Jakub Jelinek <jakub@redhat.com>
13355
13356 PR libgomp/25938
13357 PR libgomp/25984
13358 * Makefile.am (fincludedir): New variable.
13359 (nodist_include_HEADERS): Remove Fortran files.
13360 (nodist_finclude_HEADERS): New variable.
13361 * Makefile.in: Regenerated.
13362
6c7a4dfd
JJ
133632006-02-13 Jakub Jelinek <jakub@redhat.com>
13364
13365 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
13366 Remove tests for returning assumed character length arrays.
13367
5142e08b
RS
133682006-02-12 Roger Sayle <roger@eyesopen.com>
13369 John David Anglin <dave@hiauly1.hia.nrc.ca>
13370
13371 PR libgomp/25936
13372 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 13373
5821fba8
UW
133742006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
13375
13376 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
13377
cb2bbc67
EB
133782006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
13379
13380 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
13381 part of LD_LIBRARY_PATH manually.
13382
f05ee80c
L
133832006-02-03 H.J. Lu <hongjiu.lu@intel.com>
13384
13385 PR libgomp/25852
13386 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
13387 libgomp_init.
13388
03b8fe49
PB
133892005-01-25 Paolo Bonzini <bonzini@gnu.org>
13390
13391 PR libgomp/25884
f05ee80c
L
13392 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
13393 * configure.ac (PERL): Don't set.
13394 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
13395 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
13396 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
13397 * omp.h.in: Wrap the new configure substitutions with @ characters.
13398 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
13399 * aclocal.m4, configure, Makefile.in: Regenerate.
13400 * mkomp_h.pl: Delete.
03b8fe49 13401
18cbfd85
PB
134022005-01-24 Paolo Bonzini <bonzini@gnu.org>
13403
13404 PR libgomp/25259
13405 * configure.ac: Use GCC_HEADER_STDINT.
13406 * libgomp.h: Include gstdint.h.
13407 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
13408 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
13409
c41303c6
RH
134102006-01-24 Richard Henderson <rth@redhat.com>
13411
13412 PR libgomp/25942
13413 * configure.ac: Add AM_MAINTAINER_MODE.
13414 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
13415
149b9553
DN
134162006-01-24 Diego Novillo <dnovillo@redhat.com>
13417
13418 * Makefile.in: Regenerate.
13419 * testsuite/Makefile.in: Regenerate.
13420 * aclocal.m4: Regenerate.
13421
192a50ad
AT
134222006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
13423
13424 * config/posix/proc.c: Conditional include of sys/loadavg.h for
13425 Solaris.
13426 * configure.ac: Add check for loadavg.h.
13427 (link_gomp): Adjust comment.
13428 * configure: Regenerate.
13429 * config.h.in: Regenerate.
13430
a55b8e18
SE
134312006-01-21 Steve Ellcey <sje@cup.hp.com>
13432
13433 PR libgomp/25877
13434 * configure.ac: Remove check for alloca.h.
13435 * configure: Regenerate.
13436 * config.h.in: Regenerate.
13437 * libgomp.h: define gomp_alloca to be __builtin_alloca.
13438 * team.c: Remove use of alloca.h.
13439 Call gomp_alloca instead of alloca.
13440
692eeb34
SE
134412006-01-20 Steve Ellcey <sje@cup.hp.com>
13442
13443 PR libgomp/25877
13444 * team.c: Add include of alloca.h.
13445 * configure.ac: Add check for alloca.h.
13446 * configure: Regenerate.
13447 * config.h.in: Regenerate.
13448
953ff289
DN
134492006-01-17 Jakub Jelinek <jakub@redhat.com>
13450
13451 PR fortran/25219
13452 * testsuite/libgomp.fortran/pr25219.f90: New test.
13453
134542005-12-05 Uros Bizjak <uros@kss-loka.si>
13455
13456 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
13457 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
13458 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13459 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13460 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
13461 testsuite/libgomp.fortran/threadprivate1.f90,
13462 testsuite/libgomp.fortran/threadprivate2.f90,
13463 testsuite/libgomp.fortran/threadprivate3.f90,
13464 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13465 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13466 testsuite/libgomp.fortran/omp_parse3.f90: Change required
13467 effective-target to TLS runtime.
13468
13469 * testsuite/libgomp.fortran/pr25162.f: Require
13470 effective-target TLS runtime.
13471
134722005-12-01 Jakub Jelinek <jakub@redhat.com>
13473
13474 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
13475 * testsuite/libgomp.c/nestedfn-3.c: New test.
13476
134772005-11-30 Jakub Jelinek <jakub@redhat.com>
13478
13479 PR fortran/25162
13480 * testsuite/libgomp.fortran/pr25162.f: New test.
13481
134822005-11-28 Jakub Jelinek <jakub@redhat.com>
13483
13484 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
13485 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
13486
134872005-11-25 Jakub Jelinek <jakub@redhat.com>
13488
13489 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
13490 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
13491 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
13492 single.c, team.c, work.c, config/linux/alpha/futex.h,
13493 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
13494 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
13495 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
13496 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
13497 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
13498 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
13499 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
13500 FSF address.
13501
135022005-11-18 Jakub Jelinek <jakub@redhat.com>
13503
13504 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
13505 to nodist_noinst_HEADERS.
13506 * Makefile.in: Rebuilt.
13507
13508 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
13509 add integer count field.
13510 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
13511 omp_nest_lock_t type change.
13512 (omp_init_nest_lock): Likewise. Initialize count to 0.
13513 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
13514 Increment count.
13515 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
13516 Decrement count.
13517 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
13518 Increment count if successful and return the new nesting level.
13519 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
13520 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
13521 * testsuite/libgomp.c/lib-1.c: New test.
13522 * testsuite/libgomp.fortran/lib1.f90: New test.
13523 * testsuite/libgomp.fortran/lib2.f: New test.
13524 * testsuite/libgomp.fortran/lib3.f: New test.
13525
135262005-11-17 Richard Henderson <rth@redhat.com>
13527
13528 PR 24845
13529 * Makefile.am (nodist_toolexeclib_HEADERS): New.
13530 * configure.ac (link_gomp): New. Substitute it.
13531 (AC_CONFIG_FILES): Add libgomp.spec.
13532 * libgomp.spec.in: New file.
13533 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
13534 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
13535
135362005-11-18 Jakub Jelinek <jakub@redhat.com>
13537
13538 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
13539 reduction(-:var) behaving the same as reduction(+:var).
13540 * testsuite/libgomp.c/reduction-4.c: New test.
13541
135422005-11-15 Uros Bizjak <uros@kss-loka.si>
13543
13544 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
13545 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
13546 testsuite/libgomp.c/copyin-3.c,
13547 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13548 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13549 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
13550 testsuite/libgomp.c++/pr24455.C,
13551 testsuite/libgomp.fortran/threadprivate1.f90,
13552 testsuite/libgomp.fortran/threadprivate2.f90,
13553 testsuite/libgomp.fortran/threadprivate3.f90,
13554 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13555 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13556 testsuite/libgomp.fortran/omp_parse3.f90: Require
13557 effective-target TLS.
13558
135592005-11-14 Diego Novillo <dnovillo@redhat.com>
13560
13561 * HEADER: Remove.
13562
135632005-11-13 Jakub Jelinek <jakub@redhat.com>
13564
13565 PR libgomp/24797
13566 * team.c (initialize_team): Pass NULL rather than free as
13567 pthread_key_create destructor. Initialize thread specific data
13568 pointer in initial thread to a static local variable rather than
13569 malloced memory.
13570
135712005-11-11 Uros Bizjak <uros@kss-loka.si>
13572
13573 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
13574 its location to ld_library_path.
13575
135762005-11-10 Diego Novillo <dnovillo@redhat.com>
13577
13578 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
13579
135802005-11-10 Diego Novillo <dnovillo@redhat.com>
13581
13582 * testsuite/libgomp.c: Rename from libgomp.dg.
13583
135842005-11-09 Diego Novillo <dnovillo@redhat.com>
13585
13586 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
13587 threadprivate variable 'i'.
13588
135892005-11-09 Jakub Jelinek <jakub@redhat.com>
13590
13591 * config/linux/s390/futex.h: New file.
13592 * configure.tgt: Use it.
13593
13594 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13595 before the parallel.
13596
135972005-11-08 Jakub Jelinek <jakub@redhat.com>
13598
13599 PR c++/24734
13600 * testsuite/libgomp.c++/master-1.C: New test.
13601
136022005-11-07 Jakub Jelinek <jakub@redhat.com>
13603
13604 * testsuite/libgomp.dg/copyin-3.c: New test.
13605
136062005-11-07 Jakub Jelinek <jakub@redhat.com>
13607
13608 * testsuite/libgomp.fortran/retval1.f90: New test.
13609 * testsuite/libgomp.fortran/vla7.f90: New test.
13610
136112005-11-06 Jakub Jelinek <jakub@redhat.com>
13612
13613 * testsuite/libgomp.fortran/vla2.f90: New test.
13614 * testsuite/libgomp.fortran/vla3.f90: New test.
13615 * testsuite/libgomp.fortran/vla4.f90: New test.
13616 * testsuite/libgomp.fortran/vla5.f90: New test.
13617 * testsuite/libgomp.fortran/vla6.f90: New test.
13618
136192005-11-01 Jakub Jelinek <jakub@redhat.com>
13620
13621 * config/linux/sparc/futex.h: New file.
13622 * configure.tgt: Use it.
13623 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13624
13625 * critical.c: Include stdlib.h.
13626 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13627 ignoring return value.
13628 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13629 LIBGOMP_CHECK_SYNC_BUILTINS check.
13630 * configure: Rebuilt.
13631
136322005-10-31 Jakub Jelinek <jakub@redhat.com>
13633
13634 * testsuite/libgomp.fortran/vla1.f90: New test.
13635
136362005-10-31 Richard Henderson <rth@redhat.com>
13637
13638 * testsuite/libgomp.fortran/character2.f90: Fix race condition
13639 setting 's' in different threads.
13640
136412005-10-31 Jakub Jelinek <jakub@redhat.com>
13642
13643 * libgomp.h (attribute_hidden, ialias): Define.
13644 * config/posix/proc.c (omp_get_num_procs): Add ialias.
13645 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13646 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13647 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13648 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13649 omp_test_lock, omp_test_nest_lock): Likewise.
13650 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13651 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13652 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13653 omp_test_lock, omp_test_nest_lock): Likewise.
13654 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13655 omp_get_dynamic, omp_get_nested): Likewise.
13656 * parallel.c (omp_get_num_threads, omp_get_max_threads,
13657 omp_get_thread_num, omp_in_parallel): Likewise.
13658 * fortran.c (ialias_redirect): Define.
13659 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13660 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13661 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13662 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13663 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13664 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13665 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13666 omp_get_wtime): Add ialias_redirect.
13667
136682005-10-30 Jakub Jelinek <jakub@redhat.com>
13669
13670 * fortran.c: Include stdlib.h.
13671
136722005-10-29 Jakub Jelinek <jakub@redhat.com>
13673
13674 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13675 * Makefile.in: Regenerated.
13676
136772005-10-28 Jakub Jelinek <jakub@redhat.com>
13678
13679 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13680 * libgomp_f.h.in (omp_check_defines): New function.
13681 * env.c: Include libgomp_f.h.
13682 (initialize_env): Call omp_check_defines.
13683
13684 * testsuite/libgomp.dg/copyin-2.c: New test.
13685 * testsuite/libgomp.c++/copyin-2.C: New test.
13686 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13687
13688 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13689 * testsuite/libgomp.fortran/sharing2.f90: New test.
13690
13691 * testsuite/libgomp.dg/copyin-1.c: New test.
13692 * testsuite/libgomp.c++/copyin-1.C: New test.
13693
136942005-10-26 Jakub Jelinek <jakub@redhat.com>
13695
13696 * testsuite/libgomp.fortran/crayptr1.f90: New test.
13697
13698 * testsuite/libgomp.fortran/workshare1.f90: New test.
13699
13700 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13701 only test.
13702 * libgomp.fortran/sharing1.f90: New test.
13703
137042005-10-24 Jakub Jelinek <jakub@redhat.com>
13705
13706 PR c++/24502
13707 * testsuite/libgomp.c++/loop-7.C: New test.
13708
13709 * testsuite/libgomp.dg/nestedfn-2.c: New test.
13710
13711 * testsuite/libgomp.dg/nestedfn-1.c: New test.
13712 * testsuite/libgomp.fortran/reduction6.f90: New test.
13713 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13714
137152005-10-23 Richard Henderson <rth@redhat.com>
13716
13717 * testsuite/libgomp.c++/ctor-1.C: New.
13718 * testsuite/libgomp.c++/ctor-2.C: New.
13719 * testsuite/libgomp.c++/ctor-3.C: New.
13720 * testsuite/libgomp.c++/ctor-4.C: New.
13721 * testsuite/libgomp.c++/ctor-5.C: New.
13722 * testsuite/libgomp.c++/ctor-6.C: New.
13723 * testsuite/libgomp.c++/ctor-7.C: New.
13724 * testsuite/libgomp.c++/ctor-8.C: New.
13725 * testsuite/libgomp.c++/ctor-9.C: New.
13726
137272005-10-21 Diego Novillo <dnovillo@redhat.com>
13728
13729 PR 24455
13730 * testsuite/libgomp.c++/pr24455-1.C: New test.
13731 * testsuite/libgomp.c++/pr24455.C: New test.
13732 * testsuite/libgomp.dg/pr24455-1.c: New test.
13733 * testsuite/libgomp.dg/pr24455.c: New test.
13734
137352005-10-20 Richard Henderson <rth@redhat.com>
13736
13737 * testsuite/libgomp.c++/loop-6.C: New.
13738 * testsuite/libgomp.dg/loop-3.c: New.
13739
137402005-10-20 Jakub Jelinek <jakub@redhat.com>
13741
13742 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13743 explicitly private.
13744 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13745 explicitly shared.
13746
137472005-10-19 Diego Novillo <dnovillo@redhat.com>
13748
13749 * testsuite/libgomp.fortran/jacobi.f: New test.
13750
137512005-10-19 Richard Henderson <rth@redhat.com>
13752
13753 * configure.tgt (i?86-linux): Default to with_arch instead of
13754 CFLAGS. Add -mtune to match target_cpu.
13755 (x86_64-linux): Tune to i686.
13756
13757 * fortran.c (omp_test_nest_lock_): Fix typo.
13758
137592005-10-19 Jakub Jelinek <jakub@redhat.com>
13760
13761 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13762 gomp_ordered_sync): Do nothing if team->nthreads == 1.
13763 * testsuite/libgomp.dg/ordered-3.c: New test.
13764
13765 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13766 Remove volatile keyword.
13767
13768 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13769 in COMMON block to avoid warnings on 64-bit targets.
13770
137712005-10-18 Diego Novillo <dnovillo@redhat.com>
13772
13773 * testsuite/libgomp.dg/shared-3.c: New test.
13774
137752005-10-18 Jakub Jelinek <jakub@redhat.com>
13776
13777 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13778 * testsuite/libgomp.fortran/reduction5.f90: New test.
13779
137802005-10-18 Jakub Jelinek <jakub@redhat.com>
13781
13782 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13783 dg-options.
13784 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
13785 flush loop now that __sync_synchronize has proper memory barrier.
13786 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13787 Add -ffixed-form to dg-options.
13788
137892005-10-17 Diego Novillo <dnovillo@redhat.com>
13790
13791 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13792 from subdirectories.
13793 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13794 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13795 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13796 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13797 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13798 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13799 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13800 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13801 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13802 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13803 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13804 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13805 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13806 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13807 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13808 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13809 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13810 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13811 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13812 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13813 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13814 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13815 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13816 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13817 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13818
138192005-10-17 Jakub Jelinek <jakub@redhat.com>
13820
13821 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13822 lang_library_path exists. Use find instead of glob to gather tests.
13823 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13824
138252005-10-17 Diego Novillo <dnovillo@redhat.com>
13826
13827 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13828 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13829 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13830 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13831 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13832 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13833 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13834 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13835 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13836 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13837 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13838 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13839 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13840
138412005-10-15 Jakub Jelinek <jakub@redhat.com>
13842
13843 * testsuite/libgomp.dg/vla-1.c: New test.
13844
13845 * testsuite/libgomp.fortran/reference2.f90: New test.
13846
13847 * testsuite/libgomp.fortran/character2.f90: Remove explicit
13848 declaration of omp_get_thread_num.
13849 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
13850 use omp_lib.
13851
13852 * testsuite/libgomp.fortran/reduction1.f90: New test.
13853 * testsuite/libgomp.fortran/reduction2.f90: New test.
13854 * testsuite/libgomp.fortran/reduction3.f90: New test.
13855 * testsuite/libgomp.fortran/reduction4.f90: New test.
13856
138572005-10-13 Richard Henderson <rth@redhat.com>
13858
13859 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13860 * Makefile.in: Regenerate.
13861 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13862 * libgomp.h: Include bar.h.
13863 (struct gomp_barrier): Remove.
13864 (struct gomp_team): Add barrier. Replace master_barrier with
13865 master_release. Replace threads with ordered_release.
13866 (struct gomp_thread): Replace barrier with release.
13867 * ordered.c (gomp_ordered_first): Update for ordered_release change.
13868 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13869 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13870 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13871 (GOMP_single_copy_end): Likewise.
13872 * team.c (gomp_threads_dock): New.
13873 (gomp_barrier_init, gomp_barrier_destroy): Remove.
13874 (gomp_thread_start): Use gomp_barrier_wait.
13875 (new_team, free_team): Update for gomp_team changes.
13876 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13877 (gomp_team_end): Use gomp_barrier_wait.
13878 (initialize_team): Update for gomp_thread changes.
13879 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13880 (gomp_work_share_end_nowait): Use atomic ops when available.
13881 * config/linux/bar.c, config/linux/bar.h: New files.
13882 * config/posix/bar.c, config/posix/bar.h: New files.
13883
138842005-10-13 Jakub Jelinek <jakub@redhat.com>
13885
13886 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13887 * testsuite/libgomp.dg/single-2.c: New test.
13888
13889 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13890 lang_link_flags): Unset, so that they aren't inherited from previously
13891 sourced *.exp.
13892
13893 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13894
138952005-10-12 Richard Henderson <rth@redhat.com>
13896
13897 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13898 (libgomp_init): Use lang_test_file, lang_library_path, and
13899 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
13900
13901 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13902 (lang_test_file, lang_link_flags): New.
13903 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13904
13905 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13906 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13907 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13908 testsuite/libgomp.c++/parallel-1.C,
13909 testsuite/libgomp.c++/reduction-1.C,
13910 testsuite/libgomp.c++/reduction-2.C,
13911 testsuite/libgomp.c++/reduction-3.C,
13912 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13913 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13914 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13915 New files, largely cribbed from the C testsuite.
13916
139172005-10-12 Jakub Jelinek <jakub@redhat.com>
13918
13919 * testsuite/libgomp.fortran/character1.f90: New test.
13920 * testsuite/libgomp.fortran/character2.f90: New test.
13921
13922 * testsuite/libgomp.dg/nested-1.c: New test.
13923 * testsuite/libgomp.dg/nested-2.c: New test.
13924 * testsuite/libgomp.fortran/do1.f90: New test.
13925 * testsuite/libgomp.fortran/do2.f90: New test.
13926
13927 * testsuite/libgomp.fortran/reference1.f90: New test.
13928
139292005-10-11 Jakub Jelinek <jakub@redhat.com>
13930
13931 * testsuite/libgomp.dg/reduction-1.c: New test.
13932 * testsuite/libgomp.dg/reduction-2.c: New test.
13933 * testsuite/libgomp.dg/reduction-3.c: New test.
13934
139352005-10-10 Jakub Jelinek <jakub@redhat.com>
13936
13937 * testsuite/libgomp.dg/atomic-1.c: New test.
13938 * testsuite/libgomp.dg/atomic-2.c: New test.
13939
139402005-10-09 Richard Henderson <rth@redhat.com>
13941
13942 * critical.c (atomic_lock): New.
13943 (initialize_critical): Initialize it.
13944 (GOMP_atomic_start, GOMP_atomic_end): New.
13945 * libgomp.map: Export them.
13946 * libgomp_g.h: Declare them.
13947
13948 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13949
139502005-10-02 Richard Henderson <rth@redhat.com>
13951
13952 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
13953 to XCFLAGS instead of CFLAGS.
13954
139552005-09-30 Richard Henderson <rth@redhat.com>
13956
13957 * configure.ac: Determine whether -pthread or -lpthread is needed.
13958 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 13959 * Makefile.in, configure: Rebuild.
953ff289
DN
13960
139612005-09-28 Richard Henderson <rth@redhat.com>
13962
13963 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13964 * testsuite/libgomp.dg/omp-single-3.c: New test.
13965
139662005-09-28 Diego Novillo <dnovillo@redhat.com>
13967
13968 * testsuite/libgomp.dg/omp-single-2.c: New test.
13969 * testsuite/libgomp.dg/shared-2.c: Fix return code.
13970
139712005-09-27 Richard Henderson <rth@redhat.com>
13972
13973 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13974 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13975
139762005-09-27 Jakub Jelinek <jakub@redhat.com>
13977
13978 * testsuite/libgomp.dg/omp-loop03.c: New test.
13979
139802005-09-27 Diego Novillo <dnovillo@redhat.com>
13981
13982 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
13983
139842005-09-27 Diego Novillo <dnovillo@redhat.com>
13985
13986 * testsuite/libgomp.dg/omp-single-1.c: New test.
13987 * testsuite/libgomp.dg/shared-1.c: Return 0.
13988 Add prototype for abort.
13989 * testsuite/libgomp.dg/shared-2.c: Likewise.
13990
139912005-09-26 Jakub Jelinek <jakub@redhat.com>
13992
13993 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
13994 constructs.
13995
139962005-09-26 Diego Novillo <dnovillo@redhat.com>
13997
13998 * testsuite/libgomp.dg/shared-1.c: New test.
13999 * testsuite/libgomp.dg/shared-2.c: New test.
14000
140012005-09-24 Richard Henderson <rth@redhat.com>
14002
14003 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
14004
140052005-09-24 Richard Henderson <rth@redhat.com>
14006
14007 * iter.c (gomp_iter_static_next): Round up when computing number
14008 of iterations. Don't bother distributing a remainder equally.
14009
14010 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
14011 Don't call srand. Zero b before testing.
14012 (main): New.
14013
140142005-09-24 Jakub Jelinek <jakub@redhat.com>
14015
14016 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
14017 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
14018
140192005-09-23 Jakub Jelinek <jakub@redhat.com>
14020
14021 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
14022 without !$omp end do, followed immediately by subroutine end.
14023
140242005-09-23 Diego Novillo <dnovillo@redhat.com>
14025
14026 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
14027
140282005-09-22 Richard Henderson <rth@redhat.com>
14029
14030 * critical.c (GOMP_critical_name_start): Change argument to void**.
14031 Reuse the pointer space if the mutex fits.
14032 (GOMP_critical_name_end): Likewise.
14033 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
14034 * libgomp_g.h (GOMP_critical_name_start): Update decl.
14035 (GOMP_critical_name_end): Likewise.
14036 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
14037 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
14038
140392005-09-20 Richard Henderson <rth@redhat.com>
14040
14041 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
14042 (create_lock_lock): New.
14043 (initialize_critical): Initialize it.
14044 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
14045 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
14046
140472005-09-20 Diego Novillo <dnovillo@redhat.com>
14048
14049 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
14050
140512005-09-20 Diego Novillo <dnovillo@redhat.com>
14052
14053 * testsuite/libgomp.dg/omp-loop01.c: New test.
14054 * testsuite/libgomp.dg/omp-loop02.c: New test.
14055
140562005-09-20 Jakub Jelinek <jakub@redhat.com>
14057
14058 * configure.ac (AC_PROG_FC): Add.
14059 (USE_FORTRAN): New automake conditional.
14060 * configure: Rebuilt.
14061 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
14062 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
14063 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
14064 Add rules to build them.
14065 * Makefile.in: Rebuilt.
14066 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
14067 OMP_NEST_LOCK_KIND.
14068 * libgomp.map: Add Fortran wrappers.
14069 * libgomp_f.h.in: New file.
14070 * omp_lib.h.in: New file.
14071 * omp_lib.f90.in: New file.
14072 * fortran.c: New file.
14073 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
14074 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
14075 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
14076 libgfortran has been built.
14077 * testsuite/libgomp.fortran/fortran.exp: New file.
14078 * testsuite/libgomp.fortran/omp_cond1.f: New test.
14079 * testsuite/libgomp.fortran/omp_cond2.f: New test.
14080 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
14081 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
14082 * testsuite/libgomp.fortran/omp_hello.f: New test.
14083 * testsuite/libgomp.fortran/omp_orphan.f: New test.
14084 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
14085 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
14086 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
14087 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
14088 * testsuite/libgomp.fortran/omp_reduction.f: New test.
14089 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
14090 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
14091
140922005-08-30 Richard Henderson <rth@redhat.com>
14093
14094 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
14095 function for when aliases are not usable.
14096 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
14097 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14098 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
14099 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
14100 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
14101 GOMP_loop_ordered_guided_next): Likewise.
14102 * ordered.c (GOMP_ordered_start): Likewise.
14103
141042005-08-01 Diego Novillo <dnovillo@redhat.com>
14105
14106 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
14107 * testsuite/libgomp.dg/omp_hello.c: Fix return code
14108 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
14109 * testsuite/libgomp.dg/omp_orphan.c: Likewise
14110 * testsuite/libgomp.dg/omp_reduction.c: Likewise
14111 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
14112 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
14113 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
14114 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
14115
141162005-07-07 Eric Christopher <echristo@redhat.com>
14117 Diego Novillo <dnovillo@redhat.com>
14118
14119 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
14120 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
14121 up code.
14122 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
14123 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
14124 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
14125 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
14126 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
14127 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
14128 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
14129
141302005-06-13 Diego Novillo <dnovillo@redhat.com>
14131
14132 * TOPLEVEL.patch: Remove.
14133
141342005-05-16 Richard Henderson <rth@redhat.com>
14135
14136 * configure.ac: Test for clock_gettime.
14137 * config.h.in, configure: Rebuild.
14138 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
14139 (omp_get_wtime): Use clock_gettime if available.
14140 (omp_get_wtick): Use clock_getres if available.
14141
141422005-05-11 Richard Henderson <rth@redhat.com>
14143
14144 * config/linux/ia64/futex.h: New file.
14145 * configure.tgt: Use it.
14146
14147 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
14148
141492005-05-07 Richard Henderson <rth@redhat.com>
14150
14151 * config/linux/powerpc/futex.h: New file.
14152 * configure.tgt: Use it.
14153
14154 * config/linux/i486/futex.h: Merge ...
14155 * config/linux/x86_64/futex.h: ... into ...
14156 * config/linux/x86/futex.h: ... here.
14157 * configure.tgt: Update to match.
14158
141592005-05-06 Richard Henderson <rth@redhat.com>
14160
14161 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
14162 * config/linux/i486/futex.h: Likewise.
14163 * config/linux/x86_64/futex.h: Likewise.
14164
14165 * config/linux/lock.c: New file.
14166 * config/linux/omp-lock.h: New file.
14167
14168 * critical.c, env.h: Don't include omp.h
14169 * config/posix/lock.c: Include libgomp.h instead of omp.h.
14170 * config/posix/time.c: Likewise.
14171 * config/posix/omp-lock.h: New file.
14172 * libgomp.h: Include omp-lock.h and omp.h.
14173 * Makefile.am (nodist_include_HEADERS): New.
14174 (omp.h): New rule.
14175 * configure.ac (PERL): New.
14176 * mkomp_h.pl: New file.
14177 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
14178 with templates.
14179 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
14180
14181 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
14182 build directory. Re-add -march=i486 hack.
14183
14184 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
14185 (libgomp_link_flags): Remove.
14186 (libgomp_initialized): Remove.
14187 (libgomp_init): Don't protect from reinitialization. Copy code
14188 from libstdc++ for getting the multilib set correctly.
14189
141902005-05-05 Richard Henderson <rth@redhat.com>
14191
14192 * config/linux/alpha/futex.h: New file.
14193 * configure.tgt (alpha*-*-linux*): Use it.
14194
14195 * config/posix/mutex.c: New file.
14196 * config/posix/sem.c: Use libgomp.h.
14197
14198 * configure.tgt (x86_64-linux): Also test CC for -m32.
14199 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
14200
a1daed2d 14201 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
14202 after $gccpath.
14203
14204 * Makefile.am (SUBDIRS): New.
14205 (libgomp_la_LDFLAGS): Add -lpthread.
14206 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
14207 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
14208
14209 * libgomp_g.h: New file.
14210 * libgomp.h: Split out all public declarations to libgomp_g.h.
14211 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
14212 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
14213 * config/linux/sem.h: Likewise.
14214 * config/posix/sem.h: Likewise.
14215
14216 * Makefile.am (AM_LDFLAGS): New.
14217 (libgomp_version_script): Split out from ...
14218 (libgomp_la_LDFLAGS): ... here.
14219 (libgomp_version_info): New.
14220 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
14221 (LIBGOMP_ENABLE): New.
14222 (LIBGOMP_CHECK_LINKER_FEATURES): New.
14223 (LIBGOMP_ENABLE_SYMVERS): New.
14224 * configure.ac (AC_INIT): Version 1.0.
14225 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
14226 (enable-linux-futex): Likewise. Rename from enable-futex.
14227 (libtool_VERSION): New.
14228 (LIBGOMP_ENABLE_SYMVERS): Use it.
14229 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
14230 * Makefile.in, aclocal.m4, configure: Rebuild.
14231
14232 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
14233 (gomp_mutex_unlock_slow): Fix typo.
14234 * config/linux/sem.c: Similarly.
14235 (gomp_sem_post_slow): Fix typo.
14236 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
14237 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
14238 [__PIC__] (sys_futex0): Don't use tmp output in asm.
14239
14240 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
14241 (libgomp_la_LDFLAGS): Add top_srcdir to path.
14242 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
14243 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
14244 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
14245 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
14246 LDFLAGS. Pull enable_futex check to top-level.
14247 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
14248 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
14249
14250 First attempt at real configury.
14251 * Makefile, config.h: Remove file.
14252 * Makefile.am, Makefile.in: New file.
14253 * acinclude.m4 aclocal.m4: New file.
14254 * configure.ac, configure.tgt, configure: New file.
14255
14256 * config/posix/lock.c: Rename from sys-lock.c.
14257 * config/posix/mutex.h: Rename from sys-mutex.h.
14258 * config/posix/sem.c: Rename from sys-sem.c.
14259 * config/posix/sem.h: Rename from sys-sem.h.
14260 * config/posix/proc.c: Rename from sys-proc.c.
14261 * config/posix/time.c: Rename from sys-proc.c.
14262
14263 * config/linux/mutex.c: New file.
14264 * config/linux/mutex.h: New file.
14265 * config/linux/sem.c: New file.
14266 * config/linux/sem.h: New file.
14267 * config/linux/i486/futex.h: New file.
14268 * config/linux/x86_64/futex.h: New file.
14269
142702005-05-04 Richard Henderson <rth@redhat.com>
14271
14272 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
14273 * libgomp.h: Declare them.
14274 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
14275 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
14276
142772005-05-04 Richard Henderson <rth@redhat.com>
14278
14279 * libgomp-1 code drop
14280
142812005-05-04 Richard Henderson <rth@redhat.com>
14282
14283 * iter.c (gomp_iter_static_next): Return tri-state on 0.
14284 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
14285 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
14286 (gomp_iter_static_next): Update.
14287 (gomp_ordered_static_next): Update.
14288 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
14289 (gomp_loop_ordered_static_start): Likewise. Exit early for a
14290 totally empty range.
14291 (gomp_loop_ordered_static_next): Refine test for calling
14292 gomp_ordered_static_next.
14293 * testsuite/ordered-1.c: Add case for more threads than iterations.
14294
14295 * iter.c (gomp_iter_runtime_next_locked): Remove.
14296 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 14297 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
14298 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
14299 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
14300 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
14301 gomp_loop_ordered_guided_next): Downcase name, make static, add
14302 an external alias with the old name.
14303 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
14304 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
14305 switch and call one of the above static functions.
14306 * libgomp.h: Update.
14307
14308 * work.c (gomp_work_share_start): Lock the mutex for !first too.
14309 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
14310 GOMP_loop_guided_start, GOMP_loop_runtime_start,
14311 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14312 GOMP_loop_ordered_guided_start): Update to match.
14313 * sections.c (GOMP_sections_start): Likewise.
14314 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
14315
14316 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
14317 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
14318 Use bounds check instead of modulus.
14319 (gomp_ordered_sync): Split out of GOMP_ordered_start.
14320 (gomp_ordered_last): Don't sync with ordered_owner here.
14321 (gomp_ordered_next): Likewise.
14322 (gomp_ordered_static_loop_next): Likewise.
14323 * loop.c, libgomp.h: Update to match.
14324
14325 * libgomp.h (GOMP_barrier): Declare.
14326
14327 * testsuite/barrier-1.c: New file.
14328 * testsuite/critical-1.c: New file.
14329 * testsuite/ordered-2.c: New file.
14330 * testsuite/ordered-1.c: New file.
14331 * testsuite/sections-1.c: New file.
14332 * testsuite/single-1.c: New file.
14333 * testsuite/Makefile (TESTS): Add them.
14334
143352005-05-04 Richard Henderson <rth@redhat.com>
14336
14337 * libgomp.h (struct gomp_work_share): Add ordered_owner.
14338 * loop.c (GOMP_loop_static_start): If not the startup thread,
14339 acquire the mutex to wait for initialization complete.
14340 (GOMP_loop_ordered_static_start): Likewise.
14341 (GOMP_loop_ordered_runtime_start): Likewise.
14342 (GOMP_loop_ordered_static_first): Remove.
14343 (GOMP_loop_ordered_dynamic_first): Remove.
14344 (GOMP_loop_ordered_guided_first): Remove.
14345 (GOMP_loop_ordered_runtime_first): Remove.
14346 * ordered.c (gomp_ordered_loop_first): Post to own release when
14347 we're the first thread.
14348 (gomp_ordered_loop_last): Wait on release if not owner.
14349 (gomp_ordered_loop_next): Likewise.
14350 (gomp_ordered_static_loop_init): New.
14351 (gomp_ordered_static_loop_next): Use ordered_owner.
14352 (GOMP_ordered_start): Likewise.
14353 * work.c (gomp_new_work_share): Initialize ordered_owner.
14354
143552005-05-03 Richard Henderson <rth@redhat.com>
14356
14357 * Makefile (OPT): New.
14358 (CFLAGS): Use it.
14359
14360 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
14361 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
14362 * libgomp.h, libgomp.map, NOTES: Update to match.
14363
14364 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
14365 Add initialized and thr members.
14366 (gomp_thread_start): Pause when initially spawned to wait for
14367 the whole team to be created.
14368 (gomp_team_start): Release team members at the end.
14369
14370 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
14371 (f_foo_1): Use GOMP_loop_end.
14372 (f_foo_2): Use GOMP_loop_end_nowait.
14373
14374 * testsuite/loop-2.c: New file.
14375 * testsuite/Makefile (TESTS): Add it.
14376
143772005-05-03 Richard Henderson <rth@redhat.com>
14378
14379 * iter.c (gomp_iter_static_next): Fix overflow check typo.
14380 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
14381 * team.c (new_team): Initialize oldest_live_gen to 1 if no
14382 initial work_share.
14383
14384 * testsuite/Makefile: New file.
14385 * testsuite/loop-1.c: New file.
14386
143872005-05-03 Richard Henderson <rth@redhat.com>
14388
14389 Initial implementation and checkin.
21fa2a29 14390\f
8d9254fc 14391Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
14392
14393Copying and distribution of this file, with or without modification,
14394are permitted in any medium without royalty provided the copyright
14395notice and this notice are preserved.