]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
libstdc++: Use custom timespec in system calls [PR 93421]
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
a5a11525
GA
12020-11-12 Jakub Jelinek <jakub@redhat.com>
2
3 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
4 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
5 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6 * allocator.c (omp_aligned_alloc): New for now static function,
7 add alignment argument and handle it.
8 (omp_alloc): Reimplement using omp_aligned_alloc.
9 (GOMP_alloc, GOMP_free): New functions.
10 (omp_free): Add ialias.
11 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
12 * testsuite/libgomp.c++/allocate-1.C: New test.
13
142020-11-12 Thomas Schwinge <thomas@codesourcery.com>
15
16 PR fortran/97782
17 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
18
bb622641
GA
192020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
20
21 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
22 usable.
23 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
24 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
25 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
26 (goacc_enter_data_internal): Likewise.
27 * target.c (gomp_map_vars_internal):
28 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
29 of gomp_attach_pointer for OpenMP cases.
30 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
31 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
32 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
33
0cfd9109
GA
342020-11-05 Ulrich Drepper <drepper@redhat.com>
35 Kwok Cheung Yeung <kcy@codesourcery.com>
36
37 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
38 * Makefile.in: Regenerate.
39 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
40 pragmas to ignore -Wdeprecated-declarations warnings.
41 * icv.c: Likewise.
42 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
43 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
44 and omp_get_nested with __GOMP_DEPRECATED_5_0.
45 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
46 deprecated.
47 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
48 to test options.
49 * testsuite/libgomp.c/affinity-1.c: Likewise.
50 * testsuite/libgomp.c/affinity-2.c: Likewise.
51 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
52 * testsuite/libgomp.c/lib-1.c: Likewise.
53 * testsuite/libgomp.c/nested-1.c: Likewise.
54 * testsuite/libgomp.c/nested-2.c: Likewise.
55 * testsuite/libgomp.c/nested-3.c: Likewise.
56 * testsuite/libgomp.c/pr32362-1.c: Likewise.
57 * testsuite/libgomp.c/pr32362-2.c: Likewise.
58 * testsuite/libgomp.c/pr32362-3.c: Likewise.
59 * testsuite/libgomp.c/pr35549.c: Likewise.
60 * testsuite/libgomp.c/pr42942.c: Likewise.
61 * testsuite/libgomp.c/pr61200.c: Likewise.
62 * testsuite/libgomp.c/sort-1.c: Likewise.
63 * testsuite/libgomp.c/target-5.c: Likewise.
64 * testsuite/libgomp.c/target-6.c: Likewise.
65 * testsuite/libgomp.c/teams-1.c: Likewise.
66 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
67 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
68 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
69 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
70 * testsuite/libgomp.fortran/lib1.f90: Likewise.
71 * testsuite/libgomp.fortran/lib2.f: Likewise.
72 * testsuite/libgomp.fortran/nested1.f90: Likewise.
73 * testsuite/libgomp.fortran/teams1.f90: Likewise.
74
88ce3d5f
GA
752020-11-02 Thomas Schwinge <thomas@codesourcery.com>
76
77 PR target/85486
78 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
79 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
80 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
81
822020-11-02 Thomas Schwinge <thomas@codesourcery.com>
83
84 PR testsuite/80219
85 PR testsuite/85303
86 * testsuite/lib/libgomp.exp (libgomp_init): Set
87 'gcc_warning_prefix', 'gcc_error_prefix'.
88
892020-10-30 Jakub Jelinek <jakub@redhat.com>
90
91 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
92 even in field_tgt_clear initializer.
93
e93aae4a
GA
942020-10-28 Jakub Jelinek <jakub@redhat.com>
95
96 * testsuite/libgomp.c/target-42.c: New test.
97
982020-10-28 Jakub Jelinek <jakub@redhat.com>
99 Tom de Vries <tdevries@suse.de>
100
101 PR testsuite/81690
102 * testsuite/libgomp.c/usleep.h: New file.
103 * testsuite/libgomp.c/target-32.c: Include usleep.h.
104 (main): Use tgt_usleep instead of usleep.
105 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
106 (main): Use tgt_usleep instead of usleep.
107
1082020-10-28 Jakub Jelinek <jakub@redhat.com>
109
110 PR lto/96680
111 * testsuite/libgomp.c/declare-variant-1.c: New test.
112
56ddd5e2
GA
1132020-10-22 Jakub Jelinek <jakub@redhat.com>
114
115 * testsuite/libgomp.c/target-41.c: New test.
116
1172020-10-22 Jakub Jelinek <jakub@redhat.com>
118
119 * icv.c (omp_get_initial_device): Remove including corresponding
120 ialias.
121 * icv-device.c (omp_get_initial_device): New function. Return
122 gomp_get_num_devices (). Add ialias.
123 * target.c (resolve_device): Don't fail with
124 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
125 gomp_get_num_devices ().
126 (omp_target_alloc, omp_target_free, omp_target_is_present,
127 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
128 omp_target_disassociate_ptr, omp_pause_resource): Use
129 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
130 first use in the functions, in uses dominated by the
131 gomp_get_num_devices call use num_devices_openmp instead.
132 * libgomp.texi (omp_get_initial_device): Document.
133 * config/gcn/icv-device.c (omp_get_initial_device): New function.
134 Add ialias.
135 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
136 * testsuite/libgomp.c/target-40.c: New test.
137
1382020-10-21 Jakub Jelinek <jakub@redhat.com>
139
140 * env.c (parse_target_offload): Change new_offload var type to int,
141 preinitialize to -1, remove found var and test new_offload != -1
142 instead of found.
143
e2e04288
GA
1442020-10-20 Jakub Jelinek <jakub@redhat.com>
145
146 * target.c (gomp_target_init): Inside of the function, use automatic
147 variables corresponding to num_devices, num_devices_openmp and devices
148 global variables and update the globals only at the end of the
149 function.
150
1512020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
152
153 * env.c (gomp_target_offload_var): New.
154 (parse_target_offload): New.
155 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
156 (initialize_env): Parse OMP_TARGET_OFFLOAD.
157 * libgomp.h (gomp_target_offload_t): New.
158 (gomp_target_offload_var): New.
159 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
160 * target.c (resolve_device): Generate error if device not found and
161 offloading is mandatory.
162 (gomp_target_fallback): Generate error if offloading is mandatory.
163 (GOMP_target): Add argument in call to gomp_target_fallback.
164 (GOMP_target_ext): Likewise.
165 (gomp_target_data_fallback): Generate error if offloading is mandatory.
166 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
167 (GOMP_target_data_ext): Likewise.
168 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
169 (gomp_target_init): Return early if offloading is disabled.
170
b85d5dc5
GA
1712020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
172
173 * libgomp.texi (omp_get_max_active_levels): Modify description.
174 (omp_get_supported_active_levels): Make descriptions consistent.
175
b2698c21
GA
1762020-10-14 Jakub Jelinek <jakub@redhat.com>
177
178 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
179
bdd74cc2
GA
1802020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
181
182 * env.c (gomp_max_active_levels_var): Initialize to
183 gomp_supported_active_levels.
184 (initialize_env): Limit gomp_max_active_levels_var to be at most
185 equal to gomp_supported_active_levels.
186 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
187 (omp_get_supported_active_levels_): New.
188 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
189 to at most equal to gomp_supported_active_levels.
190 (omp_get_supported_active_levels): New.
191 * libgomp.h (gomp_supported_active_levels): New.
192 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
193 omp_get_supported_active_levels_.
194 * libgomp.texi (omp_get_supported_active_levels): New.
195 (omp_set_max_active_levels): Update. Add reference to
196 omp_get_supported_active_levels.
197 * omp.h.in (omp_get_supported_active_levels): New.
198 * omp_lib.f90.in (omp_get_supported_active_levels): New.
199 * omp_lib.h.in (omp_get_supported_active_levels): New.
200 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
201 against omp_get_supported_active_levels.
202 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
203
2baa36d4
GA
2042020-10-11 Clement Chigot <clement.chigot@atos.net>
205
206 * config/t-aix: Delete and recreate libgomp before creating
207 FAT library.
208
da9df699
GA
2092020-10-08 Tom de Vries <tdevries@suse.de>
210
211 PR libgomp/81802
212 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
213 dimensions.
214
8e97b905
GA
2152020-10-06 Tom de Vries <tdevries@suse.de>
216
217 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
218
2192020-10-06 Tom de Vries <tdevries@suse.de>
220
221 PR middle-end/90861
222 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
223
7e9282ae
GA
2242020-10-05 Tom de Vries <tdevries@suse.de>
225
226 PR fortran/95654
227 * testsuite/libgomp.fortran/pr95654.f90: New test.
228
b0b9b8f0
GA
2292020-10-02 Tobias Burnus <tobias@codesourcery.com>
230
231 * Makefile.in: Regenerate with automake 1.15.1.
232 * aclocal.m4: Likewise.
233 * configure: Likewise.
234 * testsuite/Makefile.in: Likewise.
235
660bfe61
GA
2362020-09-30 Andrew Stubbs <ams@codesourcery.com>
237
238 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
239 and amdgcn targets.
240
2412020-09-30 Tobias Burnus <tobias@codesourcery.com>
242
243 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
244
93bca37c
GA
2452020-09-29 Andrew Stubbs <ams@codesourcery.com>
246
247 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
248 total number of threads is one.
249 (gomp_team_barrier_wake): Likewise.
250 (gomp_team_barrier_wait_end): Likewise.
251 (gomp_team_barrier_wait_cancel_end): Likewise.
252 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
253 (gomp_team_barrier_wake): Likewise.
254 (gomp_team_barrier_wait_end): Likewise.
255 (gomp_team_barrier_wait_cancel_end): Likewise.
256 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
257
e84761c6
GA
2582020-09-28 Tobias Burnus <tobias@codesourcery.com>
259
260 PR middle-end/96390
261 * testsuite/libgomp.c++/pr96390.C: New test.
262 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
263
4383c595
GA
2642020-09-27 Clement Chigot <clement.chigot@atos.net>
265
266 * config/t-aix: Use $(AR) without -X32_64.
267
cdd8f031
GA
2682020-09-25 Jakub Jelinek <jakub@redhat.com>
269
270 * testsuite/libgomp.c/loop-25.c: New test.
271
521d2711
GA
2722020-09-22 Tobias Burnus <tobias@codesourcery.com>
273
274 PR fortran/95654
275 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
276
2772020-09-22 Tom de Vries <tdevries@suse.de>
278
279 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
280 fails.
281
ecde1b0a
GA
2822020-09-16 Nathan Sidwell <nathan@acm.org>
283
284 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
285
9f7ab8c5
GA
2862020-09-15 Tobias Burnus <tobias@codesourcery.com>
287
288 PR fortran/96668
289 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
290
2912020-09-15 Tobias Burnus <tobias@codesourcery.com>
292
293 PR fortran/96668
294 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
295 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
296 (gomp_map_vars_existing): Update call to it.
297 (gomp_map_fields_existing): Likewise
298 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
299 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
300 remapped.
301 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
302 GOMP_MAP_POINTER.
303 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
304 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
305
50a71cd0
GA
3062020-09-14 Tom de Vries <tdevries@suse.de>
307
308 * config/nvptx/atomic.c: New file. Add
309 __sync_val_compare_and_swap_16.
310 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
311 target offload_target_nvptx.
312
31a05046
GA
3132020-09-08 Julian Brown <julian@codesourcery.com>
314
315 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
316 iteration-ordering assumptions.
317
3182020-09-08 Julian Brown <julian@codesourcery.com>
319
320 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
321 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
322
5b9a3d2a
GA
3232020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
324
325 * plugin/plugin-nvptx.c (nvptx_free):
326 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
327 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
328 comments.
329
3302020-08-20 Tobias Burnus <tobias@codesourcery.com>
331
332 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
333
b3cb5606
GA
3342020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
335
336 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
337
3382020-08-13 Jakub Jelinek <jakub@redhat.com>
339
340 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
341 * testsuite/libgomp.c/loop-23.c (main): Likewise.
342 * testsuite/libgomp.c/loop-24.c: New test.
343
bc0ca715
GA
3442020-08-08 Jakub Jelinek <jakub@redhat.com>
345 Tobias Burnus <tobias@codesourcery.com>
346
347 PR fortran/93553
348 * testsuite/libgomp.fortran/pr93553.f90: New test.
349
aa5ea20c
GA
3502020-08-05 Jakub Jelinek <jakub@redhat.com>
351
352 * testsuite/libgomp.c/loop-22.c: New test.
353 * testsuite/libgomp.c/loop-23.c: New test.
354
3552020-08-05 Jakub Jelinek <jakub@redhat.com>
356
357 PR middle-end/96459
358 * testsuite/libgomp.c/teams-3.c: New test.
359 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
360 if not defined yet.
361 (N(test)): Use it before all N(f*) calls.
362 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
363 (main): Don't call all test_* functions from within
364 #pragma omp teams reduction(|:err), call them directly.
365
abba2591
GA
3662020-08-04 Tom de Vries <tdevries@suse.de>
367
368 PR target/96428
369 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
370 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
371
6a1ad710
GA
3722020-08-03 Julian Brown <julian@codesourcery.com>
373 Thomas Schwinge <thomas@codesourcery.com>
374
375 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
376 shared-memory devices. Extend with further checking.
377
3782020-08-03 Martin Jambor <mjambor@suse.cz>
379
380 * plugin/Makefrag.am: Remove configuration of HSA plugin.
381 * aclocal.m4: Regenerated.
382 * Makefile.in: Regenerated.
383 * config.h.in: Regenerated.
384 * configure: Regenerated.
385 * plugin/configfrag.ac: Likewise.
386 * plugin/hsa_ext_finalize.h: Removed.
387 * plugin/plugin-hsa.c: Likewise.
388 * testsuite/Makefile.in: Regenerated.
389 * testsuite/lib/libgomp.exp
390 (offload_target_to_openacc_device_type): Remove hsa case.
391 (check_effective_target_hsa_offloading_selected_nocache): Removed
392 (check_effective_target_hsa_offloading_selected): Likewise.
393 (libgomp_init): Do not add -Wno-hsa to additional_flags.
394 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
395 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
396 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
397 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
398 * testsuite/libgomp.hsa.c/c.exp: Likewise.
399 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
400 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
401 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
402 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
403 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
404 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
405 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
406 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
407 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
408 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
409 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
410 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
411 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
412 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
413 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
414 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
415 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
416 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
417 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
418
e71dab87
GA
4192020-07-27 Julian Brown <julian@codesourcery.com>
420 Thomas Schwinge <thomas@codesourcery.com>
421
422 * libgomp.h (struct target_var_desc): Rename do_detach field to
423 is_attach.
424 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
425 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
426 (goacc_enter_data_internal): Don't affect reference counts
427 for attach mappings.
428 (goacc_exit_data_internal): Don't affect reference counts for detach
429 mappings.
430 * target.c (gomp_map_vars_existing): Don't affect reference counts for
431 attach mappings.
432 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
433 mark attach mappings.
434 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
435 reference count for attach mappings.
436 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
437 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
438 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
439 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
440 test as shouldfail.
441 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
442 gracefully in no-finalize mode.
443 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
444
53256ee3
GA
4452020-07-24 Thomas Schwinge <thomas@codesourcery.com>
446
447 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
448 use.
449 * testsuite/libgomp.oacc-c/c.exp: Likewise.
450 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
451
9bb403dc
GA
4522020-07-23 Julian Brown <julian@codesourcery.com>
453 Thomas Schwinge <thomas@codesourcery.com>
454
455 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
456 finalization for detach operation.
457 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
458 New test.
459
4602020-07-23 Tobias Burnus <tobias@codesourcery.com>
461
462 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
463 * libgomp_f.h.in (omp_check_defines): Check whether
464 sizeof of determined Fortran kind and C typedef match.
465 * omp_lib.f90.in: Add omp_depened_kind.
466 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
467 * configure: Regenerate.
468 * Makefile.in: Regenerate.
469 * testsuite/Makefile.in: Regenerate.
470
3ea9abca
GA
4712020-07-22 Tobias Burnus <tobias@codesourcery.com>
472
473 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
474 gcc/testsuite/c-c++-common/gomp/.
475 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
476 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
477 from gcc/testsuite/gfortran.dg/gomp/.
478 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
479
4802020-07-22 Tobias Burnus <tobias@codesourcery.com>
481
482 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
483 * omp_lib.h.in: Likewise.
484
aeb34e15
GA
4852020-07-18 H.J. Lu <hjl.tools@gmail.com>
486
487 PR target/95620
488 * testsuite/libgomp.c/pr95620.c: New test.
489
96686b3f
GA
4902020-07-16 Julian Brown <julian@codesourcery.com>
491 Thomas Schwinge <thomas@codesourcery.com>
492
493 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
494 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
495
fe8185b5
GA
4962020-07-15 Tobias Burnus <tobias@codesourcery.com>
497
498 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
499 avoid conversion on 32bit systems from 32bit to 64bit due
500 to -fdefault-integer-8.
501
5022020-07-15 Tobias Burnus <tobias@codesourcery.com>
503
504 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
505 variables; add character(kind=4) tests; update TODO comment.
506
5072020-07-15 Tobias Burnus <tobias@codesourcery.com>
508
509 * allocator.c: Add ialias for omp_init_allocator and
510 omp_destroy_allocator.
511 * configure.ac: Set INTPTR_T_KIND.
512 * configure: Regenerate.
513 * Makefile.in: Regenerate.
514 * testsuite/Makefile.in: Regenerate.
515 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
516 omp_set_default_allocator_, omp_get_default_allocator_): New
517 functions and ialias_redirect.
518 * icv.c: Add ialias for omp_set_default_allocator and
519 omp_get_default_allocator.
520 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
521 omp_destroy_allocator_, omp_set_default_allocator_ and
522 omp_get_default_allocator_.
523 * omp_lib.f90.in: Add allocator traits parameters, declare
524 allocator routines and add related kind parameters.
525 * omp_lib.h.in: Likewise.
526 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
527 * testsuite/libgomp.fortran/alloc-1.F90: New test.
528 * testsuite/libgomp.fortran/alloc-2.F90: New test.
529 * testsuite/libgomp.fortran/alloc-3.F: New test.
530 * testsuite/libgomp.fortran/alloc-4.f90: New test.
531 * testsuite/libgomp.fortran/alloc-5.f90: New test.
532
8ca07a30
GA
5332020-07-14 Tom de Vries <tom@codesourcery.com>
534 Cesar Philippidis <cesar@codesourcery.com>
535 Thomas Schwinge <thomas@codesourcery.com>
536 Kwok Cheung Yeung <kcy@codesourcery.com>
537
538 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
539 New variable.
540 (acc_init_1): Set acc_init_thread to pthread_self (). Set
541 acc_init_state to initializing at the start, and to initialized at the
542 end.
543 (self_initializing_p): New function.
544 (acc_get_device_type): Return acc_device_none if called by thread that
545 is currently executing acc_init_1.
546 * libgomp.texi (acc_get_device_type): Update documentation.
547 (Implementation Status and Implementation-Defined Behavior): Likewise.
548 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
549
5502020-07-14 David Edelsohn <dje.gcc@gmail.com>
551
552 * config/t-aix: Set BITS from compiler cpp macro.
553
5542020-07-14 Tobias Burnus <tobias@codesourcery.com>
555
556 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
557
5582020-07-14 Tobias Burnus <tobias@codesourcery.com>
559
560 PR fortran/67311
561 * testsuite/libgomp.fortran/target-map-1.f90: New test.
562
5632020-07-14 Jakub Jelinek <jakub@redhat.com>
564
565 * testsuite/libgomp.c/loop-21.c: New test.
566
ea69fcf9
GA
5672020-07-13 Julian Brown <julian@codesourcery.com>
568 Thomas Schwinge <thomas@codesourcery.com>
569
570 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
571
86536295
GA
5722020-07-10 Julian Brown <julian@codesourcery.com>
573 Thomas Schwinge <thomas@codesourcery.com>
574
575 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
576 dynamic_refcount.
577 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
578 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
579 dynamic_refcount.
580 (acc_unmap_data): Update comment.
581 (goacc_map_var_existing, goacc_enter_datum): Adjust for
582 dynamic_refcount semantics.
583 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
584 Adjust for dynamic_refcount semantics.
585 (goacc_enter_data_internal): Implement "present" case of dynamic
586 memory-map handling here. Update "non-present" case for
587 dynamic_refcount semantics.
588 (goacc_exit_data_internal): Use goacc_exit_datum_1.
589 * target.c (gomp_map_vars_internal): Remove
590 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
591 handling.
592 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
593 (gomp_load_image_to_device): Substitute dynamic_refcount for
594 virtual_refcount.
595 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
596 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
597 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
598 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
599 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
600 trace output.
601 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
602 trace output.
603 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
604 test.
605 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
606 Remove stale comment.
607 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
608 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
609 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
610 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
611 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
612 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
613
6142020-07-10 Julian Brown <julian@codesourcery.com>
615 Thomas Schwinge <thomas@codesourcery.com>
616
617 * oacc-mem.c (goacc_map_var_existing): New function.
618 (goacc_enter_datum): Use above function.
619 (goacc_exit_datum_1): New function.
620 (goacc_exit_datum): Use above function.
621
3f8ca9cb
GA
6222020-07-09 Julian Brown <julian@codesourcery.com>
623 Thomas Schwinge <thomas@codesourcery.com>
624
625 PR middle-end/95270
626 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
627 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
628
6292020-07-09 Julian Brown <julian@codesourcery.com>
630
631 * oacc-mem.c (find_group_last): Group data-movement clauses
632 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
633 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
634
6352020-07-09 Jakub Jelinek <jakub@redhat.com>
636
637 * testsuite/libgomp.c/loop-19.c: New test.
638 * testsuite/libgomp.c/loop-20.c: New test.
639
6402020-07-09 Jakub Jelinek <jakub@redhat.com>
641
642 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
643 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
644 it. Remove __omp_alloctrait_value_max__.
645 * allocator.c (omp_init_allocator): Handle omp_atv_default for
646 omp_atk_alignment and omp_atk_pool_size.
647
b991c834
GA
6482020-07-03 Thomas Schwinge <thomas@codesourcery.com>
649
650 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
651 behavior for 'GOMP_MAP_FORCE_FROM'.
652 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
653
6542020-07-03 Thomas Schwinge <thomas@codesourcery.com>
655
656 * oacc-mem.c (goacc_exit_data_internal): Remove
657 'GOMP_MAP_ALWAYS_FROM' handling.
658
46fbb6c6
GA
6592020-06-30 Thomas Schwinge <thomas@codesourcery.com>
660
661 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
662 'scan-assembler' with 'scan-offload-rtl'.
663 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
664 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
665 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
666 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
667
6682020-06-30 Thomas Schwinge <thomas@codesourcery.com>
669
670 * target.c (gomp_map_vars_existing): Assert 'kind !=
671 GOMP_MAP_ATTACH'.
672 (gomp_map_vars_internal): Clean up.
673
9a33c41f
GA
6742020-06-27 Jakub Jelinek <jakub@redhat.com>
675
676 * testsuite/libgomp.c/loop-17.c: New test.
677 * testsuite/libgomp.c/loop-18.c: New test.
678
c9c05f73
GA
6792020-06-26 Marek Polacek <polacek@redhat.com>
680
681 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
682
4543acc8
GA
6832020-06-23 Alexandre Oliva <oliva@adacore.com>
684
685 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
686 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
687
605a8f3b
GA
6882020-06-22 David Edelsohn <dje.gcc@gmail.com>
689
690 * Makefile.am: Use -include.
691 * Makefile.in: Regenerate.
692
f86e11a2
GA
6932020-06-21 David Edelsohn <dje.gcc@gmail.com>
694
695 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
696 * Makefile.in: Regenerate
697 * configure.ac (tmake_file): Substitute.
698 * configure: Regenerate.
699 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
700 * config/t-aix: New file.
701
aff95ee7
GA
7022020-06-17 Thomas Schwinge <thomas@codesourcery.com>
703
704 PR lto/94848
705 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
706 'dg-do run'.
707
7082020-06-17 Andrew Stubbs <ams@codesourcery.com>
709
710 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
711 variant for HSA_RUNTIME_LIB name.
712 (find_executable_symbol_1): Delete.
713 (find_executable_symbol): Delete.
714 (init_kernel_properties): Add ".kd" suffix to symbol names.
715 (find_load_offset): Delete.
716 (create_and_finalize_hsa_program): Remove relocation handling.
717
56638b9b
GA
7182020-06-16 Tobias Burnus <tobias@codesourcery.com>
719
720 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
721
2c455ae0
GA
7222020-06-08 Tobias Burnus <tobias@codesourcery.com>
723
724 PR lto/94848
725 PR middle-end/95551
726 * testsuite/libgomp.fortran/target-var.f90: New test.
727
1a59f3db
GA
7282020-06-05 Thomas Schwinge <thomas@codesourcery.com>
729 Julian Brown <julian@codesourcery.com>
730
731 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
732 special handling.
733
7342020-06-05 Thomas Schwinge <thomas@codesourcery.com>
735 Julian Brown <julian@codesourcery.com>
736
737 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
738 Simplify.
739
7402020-06-05 Julian Brown <julian@codesourcery.com>
741
742 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
743 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
744
3add3425
GA
7452020-06-04 Thomas Schwinge <thomas@codesourcery.com>
746
747 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
748 Evaluate 'copyfrom' individually for each entry.
749 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
750
7512020-06-04 Thomas Schwinge <thomas@codesourcery.com>
752
753 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
754 Evaluate 'finalize' individually for each entry.
755 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
756 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
757 file.
758
7592020-06-04 Thomas Schwinge <thomas@codesourcery.com>
760
761 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
762 usage.
763 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
764
7652020-06-04 Thomas Schwinge <thomas@codesourcery.com>
766 Julian Brown <julian@codesourcery.com>
767
768 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
769 checking.
770 (acc_unmap_data, goacc_exit_data_internal): Restore
771 'is_tgt_unmapped' checking.
772 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
773 file.
774 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
775 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
776 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
777 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
778 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
779 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
780
7812020-06-04 Thomas Schwinge <thomas@codesourcery.com>
782 Julian Brown <julian@codesourcery.com>
783
784 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
785
7862020-06-04 Thomas Schwinge <thomas@codesourcery.com>
787
788 PR libgomp/92854
789 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
790
7912020-06-04 Thomas Schwinge <thomas@codesourcery.com>
792
793 PR libgomp/92854
794 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
795 more.
796
7972020-06-04 Thomas Schwinge <thomas@codesourcery.com>
798 Julian Brown <julian@codesourcery.com>
799
800 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
801 'gomp_map_vars'.
802 (acc_map_data): Clean up accordingly.
803
8042020-06-04 Thomas Schwinge <thomas@codesourcery.com>
805
806 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
807 of over-eager 'finalize' clause.
808 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
809 file.
810 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
811 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
812 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
813 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
814 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
815 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
816 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
817 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
818
8192020-06-04 Thomas Schwinge <thomas@codesourcery.com>
820
821 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
822
8232020-06-04 Julian Brown <julian@codesourcery.com>
824
825 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
826 error path.
827 (goacc_detach_internal): Likewise.
828
8292020-06-04 Thomas Schwinge <thomas@codesourcery.com>
830
831 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
832 the checkpoint.
833 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
834 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
835 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
836 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
837 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
838
a9312a79
GA
8392020-06-02 Jakub Jelinek <jakub@redhat.com>
840
841 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
842 defined.
843
945b53cc
GA
8442020-05-30 Jakub Jelinek <jakub@redhat.com>
845
846 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
847
8482020-05-30 Jakub Jelinek <jakub@redhat.com>
849
850 * allocator.c (omp_alloc): For size == 0, return NULL early.
851
885ef72f
GA
8522020-05-29 H.J. Lu <hjl.tools@gmail.com>
853
854 PR bootstrap/95413
855 * configure: Regenerated.
856
8df7ee67
TK
8572020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
858
859 PR libfortran/95191
860 * testsuite/libgomp.fortran/async_io_9.f90: New test.
861
800bcc8c
JJ
8622020-05-19 Jakub Jelinek <jakub@redhat.com>
863
864 * omp.h.in (omp_uintptr_t): New typedef.
865 (__GOMP_UINTPTR_T_ENUM): Define.
866 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
867 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
868 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
869 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
870 omp_get_default_allocator, omp_alloc, omp_free): Declare.
871 * libgomp.h (struct gomp_team_state): Add def_allocator field.
872 (gomp_def_allocator): Declare.
873 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
874 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
875 omp_alloc and omp_free.
876 * team.c (gomp_team_start): Copy over ts.def_allocator.
877 * env.c (gomp_def_allocator): New variable.
878 (parse_wait_policy): Adjust function comment.
879 (parse_allocator): New function.
880 (handle_omp_display_env): Print OMP_ALLOCATOR.
881 (initialize_env): Call parse_allocator.
882 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
883 * allocator.c: New file.
884 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
885 functions.
886 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
887 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
888 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
889 * Makefile.in: Regenerated.
890
4c1a5d8b
L
8912020-05-15 H.J. Lu <hongjiu.lu@intel.com>
892
893 PR bootstrap/95147
894 * configure: Regenerated.
895
cdc34b50
TK
8962020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
897
898 PR libfortran/95119
899 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
900
9012020-05-14 H.J. Lu <hongjiu.lu@intel.com>
902
903 * configure: Regenerated.
904
9052020-05-14 Jakub Jelinek <jakub@redhat.com>
906
907 * testsuite/libgomp.c-c++-common/target-40.c: New test.
908
f884bef2
TB
9092020-05-13 Tobias Burnus <tobias@codesourcery.com>
910
911 PR fortran/94690
912 * testsuite/libgomp.fortran/pr66199-3.f90: New.
913 * testsuite/libgomp.fortran/pr66199-4.f90: New.
914 * testsuite/libgomp.fortran/pr66199-5.f90: New.
915 * testsuite/libgomp.fortran/pr66199-6.f90: New.
916 * testsuite/libgomp.fortran/pr66199-7.f90: New.
917 * testsuite/libgomp.fortran/pr66199-8.f90: New.
918 * testsuite/libgomp.fortran/pr66199-9.f90: New.
919
dc703151
JJ
9202020-05-12 Jakub Jelinek <jakub@redhat.com>
921
922 * testsuite/libgomp.c/target-39.c: New test.
923
b9dc11b6
TS
9242020-04-29 Thomas Schwinge <thomas@codesourcery.com>
925
a5d0bc12
TS
926 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
927 * openacc.f90 (acc_device_current): Likewise.
928 * openacc.h (acc_device_current): Likewise.
929 * openacc_lib.h (acc_device_current): Likewise.
930
7f198924
TS
931 PR target/94282
932 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
933 'dg-allow-blank-lines-in-output'.
934
4912a04f
TS
935 * oacc-init.c (get_openacc_name): Handle 'gcn'.
936 * testsuite/lib/libgomp.exp
937 (offload_target_to_openacc_device_type) [amdgcn*]: Return
938 'radeon'. Adjust all users.
939 (check_effective_target_openacc_amdgcn_accel_present): Rename
940 to...
941 (check_effective_target_openacc_radeon_accel_present): ... this.
942 Adjust all users.
943 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
944 (check_effective_target_openacc_radeon_accel_selected): ... this.
945 Adjust all users.
946
b9dc11b6
TS
947 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
948 'dg-do run'.
949
966de09b
AS
9502020-04-23 Andrew Stubbs <ams@codesourcery.com>
951
952 PR other/94629
953
954 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
955 hsa_iterate_agents.
956 (GOMP_OFFLOAD_init_device): Check return values from both calls to
957 hsa_agent_iterate_regions.
958
3f5d94c1
TS
9592020-04-20 Thomas Schwinge <thomas@codesourcery.com>
960
961 PR middle-end/94635
962 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
963 run'.
964
85d8c05a
TB
9652020-04-20 Tobias Burnus <tobias@codesourcery.com>
966
967 PR middle-end/94120
968 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
969 test case.
970
af557050
TB
9712020-04-17 Tobias Burnus <tobias@codesourcery.com>
972
973 PR middle-end/94635
974 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
975
af4c9257
TS
9762020-04-13 Thomas Schwinge <thomas@codesourcery.com>
977
978 PR libgomp/92843
979 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
980 Rename to...
981 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
982 ... this.
983 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
984 Rename to...
985 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
986 ... this.
987 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
988 Rename to...
989 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
990 ... this.
991 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
992 Rename to...
993 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
994 ... this.
995 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
996 Rename to...
997 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
998 ... this.
999 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1000 Rename to...
1001 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
1002 ... this.
1003 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1004 Rename to...
1005 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
1006 ... this.
1007 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1008 Rename to...
1009 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
1010 ... this.
1011 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1012 Rename to...
1013 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
1014 ... this.
1015 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1016 Rename to...
1017 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
1018 ... this.
1019 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1020 Rename to...
1021 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
1022 ... this.
1023 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1024 Rename to...
1025 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
1026 ... this.
1027 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1028 Rename to...
1029 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
1030 ... this.
1031 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1032 Rename to...
1033 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
1034 ... this.
1035 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1036 Rename to...
1037 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
1038 ... this.
1039 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
1040 Rename to...
1041 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
1042 ... this.
1043
be9862dd
JB
10442020-04-10 Julian Brown <julian@codesourcery.com>
1045 Thomas Schwinge <thomas@codesourcery.com>
1046
1047 PR libgomp/92843
1048 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1049 New file.
1050 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1051 Likewise.
1052 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1053 Likewise.
1054 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1055 Likewise.
1056 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1057 Likewise.
1058 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1059 Likewise.
1060 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1061 Likewise.
1062 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1063 Likewise.
1064 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1065 Likewise.
1066 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1067 Likewise.
1068 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1069 Likewise.
1070 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1071 Likewise.
1072 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1073 Likewise.
1074 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1075 Likewise.
1076 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1077 Likewise.
1078 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
1079 Likewise.
1080
6b816a5f
TS
10812020-04-10 Thomas Schwinge <thomas@codesourcery.com>
1082
1083 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
1084 run'.
1085
13e41d8b
TB
10862020-04-08 Tobias Burnus <tobias@codesourcery.com>
1087
1088 PR middle-end/94120
1089 * libgomp.oacc-c++/declare-pr94120.C: New.
1090
749bd22d
MR
10912020-04-06 Maciej W. Rozycki <macro@wdc.com>
1092
1093 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
1094 files.
1095 * configure: Regenerate.
1096 * testsuite/libgomp-site-extra.exp.in: New file.
1097 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
1098 variable.
1099 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
1100 variable.
1101 * testsuite/Makefile.in: Regenerate.
1102
2b1e849b
TS
11032020-04-03 Thomas Schwinge <thomas@codesourcery.com>
1104
1105 PR tree-optimization/89713
1106 PR c/94392
1107 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
1108 'bar.sync'.
1109 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
1110
689418b9
TB
11112020-03-31 Tobias Burnus <tobias@codesourcery.com>
1112
1113 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
1114 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
1115
c2211a60
TB
11162020-03-24 Tobias Burnus <tobias@codesourcery.com>
1117
1118 PR libgomp/81689
1119 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
1120
4897bb00
TB
11212020-03-20 Tobias Burnus <tobias@codesourcery.com>
1122
1123 PR libgomp/94251
1124 * target.c (gomp_load_image_to_device): Fix link
1125 variable handling.
1126
02f7334a
JJ
11272020-03-19 Jakub Jelinek <jakub@redhat.com>
1128
1129 PR c++/93931
1130 * testsuite/libgomp.c++/pr93931.C: New test.
1131
bb83e069
TB
11322020-03-19 Tobias Burnus <tobias@codesourcery.com>
1133
1134 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
1135 dg-allow-blank-lines-in-output.
1136
26cbcfe5
TB
11372020-03-18 Julian Brown <julian@codesourcery.com>
1138 Tobias Burnus <tobias@codesourcery.com>
1139
1140 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
1141 it work concurrently.
1142
4da92887
TB
11432020-03-18 Tobias Burnus <tobias@codesourcery.com>
1144
1145 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
1146 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
1147 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
1148
9c3cdb43
JJ
11492020-03-14 Jakub Jelinek <jakub@redhat.com>
1150
1151 PR middle-end/93566
1152 * testsuite/libgomp.c/pr93566.c: New test.
1153
83d45e1d
FH
11542020-02-21 Frederik Harwath <frederik@codesourcery.com>
1155
1156 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
1157 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
1158 integer(acc_device_property) for the type of the return value of
1159 acc_get_property.
1160
8d1a1cb1
TB
11612020-02-19 Tobias Burnus <tobias@codesourcery.com>
1162
1163 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
1164 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
1165 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
1166 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
1167 (acc_set_device_num): Fix Fortran argument name, use same name for C.
1168 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
1169 corrections; add note about the previous interface and named constant.
1170 (OpenACC library and environment variables): Fix two typos.
1171 * openacc.f90: Use for all procedures the argument names from the spec
1172 as for …_h they are user visible.
1173 (openacc_kinds): Rename acc_device_property to
1174 acc_device_property_kinds and change value to int32 ; and update users.
1175 Re-add acc_device_property for for backward compatibility.
1176 (acc_get_property_string_h): Clean up as acc_device_property_kind
1177 changed.
1178 (acc_get_property_h): Likewise and return c_size_t instead of
1179 acc_device_property.
1180 (openacc): Also export acc_device_property_kinds.
1181 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
1182 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
1183 handling; check against /= 0 instead of == 1 to match C.
1184 * openacc_lib.h: Use for all procedures the argument names from the spec
1185 as for …_h they are user visible. Place !GCC$ into the first column to
1186 be active also for fixed-form souce form.
1187 (acc_device_current, acc_device_property_kind, acc_device_property,
1188 acc_property_memory, acc_property_free_memory, acc_property_name,
1189 acc_property_vendor, acc_property_driver): New named constants.
1190 (acc_get_property, acc_get_property_string): New generic interface.
1191
2d9eb4e4
FH
11922020-02-13 Frederik Harwath <frederik@codesourcery.com>
1193
1194 PR libgomp/93481
1195 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
1196 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
1197 optional.
1198 (gomp_target_task_fn): Assert "devicep->async_run_func".
1199 (clear_unsupported_flags): New function to remove unsupported flags
1200 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
1201 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
1202 * testsuite/libgomp.c/target-33.c:
1203 Remove xfail for offload_target_nvptx.
1204 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
1205
12062020-02-10 Frederik Harwath <frederik@codesourcery.com>
1207
1208 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
1209 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
1210 * testsuite/libgomp.c/target-34.c: Likewise.
1211 * testsuite/libgomp.c/target-link-1.c: Add xfail for
1212 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
1213
9bc3b95d
JJ
12142020-02-09 Jakub Jelinek <jakub@redhat.com>
1215
1216 * testsuite/libgomp.c/target-38.c: New test.
1217
cb3f0648
JJ
12182020-02-06 Jakub Jelinek <jakub@redhat.com>
1219
1220 PR libgomp/93515
1221 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
1222
91bc3c98
TB
12232020-02-05 Tobias Burnus <tobias@codesourcery.com>
1224
1225 * testsuite/lib/libgomp.exp
1226 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
1227 and not as 'source' argument to libgomp_target_compile.
1228
591f869a
AS
12292020-02-03 Andrew Stubbs <ams@codesourcery.com>
1230
1231 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
1232 (gcn_gfx801_s): Remove.
1233 (isa_hsa_name): Remove gfx801.
1234 (isa_gcc_name): Remove gfx801/carizzo.
1235 (isa_code): Remove gfx801.
1236
e464fc90
TB
12372020-02-03 Julian Brown <julian@codesourcery.com>
1238 Tobias Burnus <tobias@codesourcery.com>
1239
1240 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
1241 and *_finalize variants; document acc_attach and acc_detach; update
1242 references from OpenACC 2.0 to 2.6.
1243 * openacc.f90 (openacc_version): Update to 201711.
1244 * openacc_lib.h (openacc_version): Update to 201711.
1245 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
1246 openacc_version to 201711.
1247 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1248
5a28e272
KCY
12492020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
1250
1251 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
1252 and vgpr_count fields.
1253 (struct kernel_info): Add a field for a hsa_kernel_description.
1254 (run_kernel): Reduce the number of threads/workers if the requested
1255 number would require too many VGPRs.
1256 (init_basic_kernel_info): Initialize description field with
1257 the hsa_kernel_description entry for the kernel.
1258
5ab5d81b
TB
12592020-01-29 Tobias Burnus <tobias@codesourcery.com>
1260
1261 PR bootstrap/93409
1262 * plugin/configfrag.ac (enable_offload_targets): Skip
1263 HSA and GCN plugin besides -m32 also for -mx32.
1264 * configure: Regenerate.
1265
989a5fb3
FH
12662020-01-29 Frederik Harwath <frederik@codesourcery.com>
1267
1268 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
1269
12702020-01-29 Frederik Harwath <frederik@codesourcery.com>
1271
1272 * plugin-gcn.c (struct agent_info): Add fields "name" and
1273 "vendor_name" ...
1274 (GOMP_OFFLOAD_init_device): ... and init from here.
1275 (struct hsa_context_info): Add field "driver_version_s" ...
1276 (init_hsa_contest): ... and init from here.
1277 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
1278 implementation.
1279 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1280 Enable test execution for amdgcn and host offloading targets.
1281 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
1282 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1283 (expect_device_properties): Split function into ...
1284 (expect_device_string_properties): ... this new function ...
1285 (expect_device_memory): ... and this new function.
1286 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
1287 Add test.
1288
278c3214
JB
12892020-01-28 Julian Brown <julian@codesourcery.com>
1290
1291 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
1292 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
1293 component/non-component variable refs in a single directive.
1294 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
1295
e8e66971
MR
12962020-01-24 Maciej W. Rozycki <macro@wdc.com>
1297
1298 * configure.ac: Handle `--with-toolexeclibdir='.
1299 * Makefile.in: Regenerate.
1300 * aclocal.m4: Regenerate.
1301 * configure: Regenerate.
1302 * testsuite/Makefile.in: Regenerate.
1303
9e424d97
FH
13042020-01-24 Frederik Harwath <frederik@codesourcery.com>
1305
1306 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1307 (expect_device_properties): Remove "expected_free_mem" argument,
1308 change "expected_total_mem" argument type to size_t;
1309 change types of acc_get_property results to size_t,
1310 adapt format strings.
1311 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1312 Use %zu instead of %zd to print size_t values.
1313 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
1314 rename to ...
1315 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
1316 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
1317 rename to ...
1318 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
1319
14e5e746
AS
13202020-01-23 Andrew Stubbs <ams@codesourcery.com>
1321
1322 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
1323 the device id.
1324
09e0ad62
AS
13252020-01-20 Andrew Stubbs <ams@codesourcery.com>
1326
1327 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
1328 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
1329 Adjust test dimensions for amdgcn.
1330 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
1331 gang/worker/vector expectations dynamically.
1332 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
1333 (main): Likewise.
1334 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
1335 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
1336 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
1337 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
1338 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
1339 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
1340 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
1341 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
1342 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1343 (acc_gang): Recognise acc_device_radeon.
1344 (acc_worker): Likewise.
1345 (acc_vector): Likewise.
1346 (main): Set expectations for amdgcn.
1347 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
1348 (main): Adjust gang/worker/vector expectations dynamically.
1349 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
1350 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
1351 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
1352 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
1353 for amdgcn.
1354
6687d13a
AS
13552020-01-17 Andrew Stubbs <ams@codesourcery.com>
1356
1357 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
1358 acc_device_radeon.
1359 (openacc): Likewise.
1360 * openacc.f90 (openacc_kinds): Likewise.
1361 (openacc): Likewise.
1362 * openacc.h (acc_device_t): Likewise.
1363 * openacc_lib.h: Likewise.
1364 * testsuite/lib/libgomp.exp
1365 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
1366 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1367 (cb_compute_construct_end): Likewise.
1368 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1369 (cb_enqueue_launch_start): Likewise.
1370 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1371 (cb_enter_data_end): Likewise.
1372 (cb_exit_data_start): Likewise.
1373 (cb_exit_data_end): Likewise.
1374 (cb_compute_construct_end): Likewise.
1375 (cb_enqueue_launch_start): Likewise.
1376 (cb_enqueue_launch_end): Likewise.
1377 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
1378 (main): Likewise.
1379
b3b75e66
TS
13802020-01-10 Thomas Schwinge <thomas@codesourcery.com>
1381
6fc0385c
TS
1382 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
1383 to use this instead of 'enum gomp_device_property'.
1384 (GOMP_OFFLOAD_get_property): Rename to...
1385 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
1386 * libgomp.h (struct gomp_device_descr): Move
1387 'GOMP_OFFLOAD_openacc_get_property'...
1388 (struct acc_dispatch_t): ... here. Adjust all users.
1389 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
1390
b3b75e66
TS
1391 * target.c (gomp_map_vars_internal)
1392 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
1393 paths.
1394
91df4397
JJ
13952020-01-10 Jakub Jelinek <jakub@redhat.com>
1396
1397 PR libgomp/93219
1398 * libgomp.h (gomp_print_string): Change return type from void to int.
1399 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
1400 not all characters have been written.
1401
df2c0d36
TB
14022020-01-08 Tobias Burnus <tobias@codesourcery.com>
1403
1404 * libgomp.texi: Fix typos, use https.
1405
f760c0c7
TB
14062020-01-03 Tobias Burnus <tobias@codesourcery.com>
1407
1408 * testsuite/libgomp.fortran/optional-map.f90: Add test for
1409 unallocated/disassociated actual arguments to nonallocatable/nonpointer
1410 dummy arguments; those are/shall be regarded as absent arguments.
1411 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1412 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
1413
7e7065b9
JJ
14142020-01-01 Jakub Jelinek <jakub@redhat.com>
1415
8d9254fc
JJ
1416 Update copyright years.
1417
7e7065b9
JJ
1418 * libgomp.texi: Bump @copying's copyright year.
1419
2c829799
AM
14202019-12-31 Ayush Mittal <ayush.m@samsung.com>
1421
1422 PR libgomp/93065
1423 * oacc-init.c (goacc_runtime_deinitialize): New function.
1424
e9dcb75e
JJ
14252019-12-28 Jakub Jelinek <jakub@redhat.com>
1426
1427 PR bootstrap/93074
1428 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
1429 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
1430
6c84c8bf
MR
14312019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
1432 Frederik Harwath <frederik@codesourcery.com>
1433 Thomas Schwinge <tschwinge@codesourcery.com>
1434
1435 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
1436 * libgomp-plugin.h (gomp_device_property_value): New union.
1437 (gomp_device_property_value): New prototype.
1438 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
1439 constant.
1440 (acc_device_property_t): New enum.
1441 (acc_get_property, acc_get_property_string): New prototypes.
1442 * oacc-init.c (acc_get_device_type): Also assert that result
1443 is not `acc_device_current'.
1444 (get_property_any, acc_get_property, acc_get_property_string):
1445 New functions.
1446 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
1447 `acc_property_memory', `acc_property_free_memory',
1448 `acc_property_name', `acc_property_vendor' and
1449 `acc_property_driver' constants. Add `acc_device_property' data
1450 type.
1451 (openacc_internal): Add `acc_get_property' and
1452 `acc_get_property_string' interfaces. Add `acc_get_property_h',
1453 `acc_get_property_string_h', `acc_get_property_l' and
1454 `acc_get_property_string_l'.
1455 * oacc-host.c (host_get_property): New function.
1456 (host_dispatch): Wire it.
1457 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
1458 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
1459 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
1460 * libgomp.texi (OpenACC Runtime Library Routines): Add
1461 `acc_get_property'.
1462 (acc_get_property): New node.
1463 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
1464 function (stub).
1465 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
1466 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
1467 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
1468 calls.
1469 (GOMP_OFFLOAD_get_property): New function.
1470 (struct ptx_device): Add new field "name".
1471 (cuda_driver_version_s): Add new static variable ...
1472 (nvptx_init): ... and init from here.
1473
1474 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
1475 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
1476 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
1477 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
1478 with test helper functions.
1479
1480 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
1481
c8e759b4
MR
14822019-12-22 Maciej W. Rozycki <macro@wdc.com>
1483
1484 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
1485 variable.
1486
b092fb3b
TS
14872019-12-21 Thomas Schwinge <thomas@codesourcery.com>
1488
1489 * target.c (gomp_map_vars_internal): Restore 'omp declare target
1490 link' handling.
1491
9be3ac5d
JB
14922019-12-19 Julian Brown <julian@codesourcery.com>
1493
1494 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
1495 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
1496 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
1497
02817027
JB
14982019-12-19 Julian Brown <julian@codesourcery.com>
1499 Cesar Philippidis <cesar@codesourcery.com>
1500
1501 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1502 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1503 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1504 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1505 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1506 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1507 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1508 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1509 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1510 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1511 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1512 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1513 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1514
c2eb021f
JB
15152019-12-19 Julian Brown <julian@codesourcery.com>
1516
1517 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1518 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1519 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1520 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1521 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1522 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1523 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1524 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1525 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1526 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1527 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1528 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1529
8e7e71ff
JB
15302019-12-19 Julian Brown <julian@codesourcery.com>
1531
1532 * libgomp.h (struct target_var_desc): Add do_detach flag.
1533 * oacc-init.c (acc_shutdown_1): Free aux block if present.
1534 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1535 struct components. Tidy up and add some new checks.
1536 (goacc_enter_data_internal): Update call to find_group_last.
1537 (goacc_exit_data_internal): Support detach operations and
1538 GOMP_MAP_STRUCT.
1539 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1540 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
1541 attach/detach in enter/exit data detection code.
1542 * target.c (gomp_map_vars_existing): Initialise do_detach field of
1543 tgt_var_desc.
1544 (gomp_map_vars_internal): Support attach.
1545 (gomp_unmap_vars_internal): Support detach.
1546
5d5be7bf
JB
15472019-12-19 Julian Brown <julian@codesourcery.com>
1548 Thomas Schwinge <thomas@codesourcery.com>
1549
1550 * libgomp.h (struct splay_tree_aux): Add attach_count field.
1551 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1552 * libgomp.map (OACC_2.6): New section. Add acc_attach,
1553 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1554 acc_detach_finalize_async.
1555 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1556 acc_detach, acc_detach_async, acc_detach_finalize,
1557 acc_detach_finalize_async): New functions.
1558 * openacc.h (acc_attach, acc_attach_async, acc_detach,
1559 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1560 prototypes.
1561 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1562 (gomp_remove_var_internal): Free attachment counts if present.
1563 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1564 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1565
5bcd470b
JB
15662019-12-19 Julian Brown <julian@codesourcery.com>
1567 Cesar Philippidis <cesar@codesourcery.com>
1568
1569 * libgomp.h (gomp_map_val): Add prototype.
1570 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1571 open-coding device-address calculation.
1572 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1573 non-present case.
1574
378da98f
JB
15752019-12-19 Julian Brown <julian@codesourcery.com>
1576
1577 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1578 field for virtual_refcount.
1579 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1580 (gomp_free_memmap): Remove prototype.
1581 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1582 instead of calling gomp_free_memmap.
1583 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1584 dynamic_refcount.
1585 (acc_unmap_data): Open code instead of forcing target_mem_desc's
1586 to_free field to NULL then calling gomp_unmap_vars. Handle
1587 REFCOUNT_INFINITY on target blocks.
1588 (goacc_enter_data): Rename to...
1589 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
1590 handling for mapping groups. Use virtual_refcount instead of
1591 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1592 map_map_vars_async call. Re-do lookup for target pointer return value.
1593 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1594 renamed goacc_enter_datum function.
1595 (goacc_exit_data): Rename to...
1596 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
1597 (acc_delete, acc_delete_async, acc_delete_finalize,
1598 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1599 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1600 goacc_exit_datum function.
1601 (gomp_acc_remove_pointer, find_pointer): Remove functions.
1602 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1603 New functions.
1604 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1605 goacc_exit_data_internal helper functions.
1606 * target.c (gomp_map_vars_internal): Handle
1607 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
1608 semantics.
1609 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1610 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1611 virtual_refcount field instead of dynamic_refcount.
1612 (gomp_free_memmap): Remove function.
1613 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1614 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1615 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1616
2a656a93
JB
16172019-12-19 Julian Brown <julian@codesourcery.com>
1618 Thomas Schwinge <thomas@codesourcery.com>
1619
1620 * libgomp.h (struct splay_tree_aux): New.
1621 (struct splay_tree_key_s): Replace link_key field with aux pointer.
1622 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1623 to aux struct.
1624 (gomp_remove_var_internal): Free aux block if present.
1625 (gomp_load_image_to_device): Zero-initialise aux field instead of
1626 link_key field.
1627 (omp_target_associate_pointer): Zero-initialise aux field.
1628
601399c0
JJ
16292019-12-18 Jakub Jelinek <jakub@redhat.com>
1630
1631 PR middle-end/86416
1632 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1633 q or none.
1634 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1635 L or none.
1636
a6163563
JB
16372019-12-19 Julian Brown <julian@codesourcery.com>
1638 Maciej W. Rozycki <macro@codesourcery.com>
1639 Tobias Burnus <tobias@codesourcery.com>
1640 Thomas Schwinge <thomas@codesourcery.com>
1641
1642 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1643 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1644 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1645 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1646 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1647 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1648 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1649 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1650 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1651
6278b549
TS
16522019-12-18 Thomas Schwinge <thomas@codesourcery.com>
1653
77ce5555
TS
1654 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1655 called...
1656 (goacc_insert_pointer): ... from here, "present" case.
1657 (goacc_insert_pointer): Inline function into...
1658 (GOACC_enter_exit_data): ... here, and simplify.
1659
9444a299
TS
1660 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1661 called...
1662 (goacc_insert_pointer): ... from here, "not present" case.
1663
5031b619
TS
1664 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
1665 all users.
1666
1a79b578
TS
1667 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1668 'goacc_enter_data', 'goacc_exit_data'.
1669
34cfe31e
TS
1670 * oacc-mem.c (delete_copyout): Refactor into...
1671 (goacc_exit_data): ... this. Adjust all users.
1672
aaf0e9d7
TS
1673 * oacc-mem.c (present_create_copy): Refactor into...
1674 (goacc_enter_data): ... this. Adjust all users.
1675
83d1d065
TS
1676 * target.c (gomp_unmap_vars_internal): Add a safeguard to
1677 'gomp_remove_var'.
1678
cc3f11f5
TS
1679 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1680 like 'GOMP_MAP_FROM'.
1681
ddb25eb9
TS
1682 PR libgomp/92726
1683 PR libgomp/92970
1684 PR libgomp/92984
1685 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1686 fails.
1687 (GOACC_enter_exit_data): Simplify accordingly.
1688 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1689 subsuming...
1690 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1691 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1692 file.
1693 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1694 subsuming...
1695 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1696 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1697 file.
1698 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1699 subsuming...
1700 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1701
32128577
TS
1702 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1703 'finalize' handling.
1704
ba40277f
TS
1705 PR libgomp/92848
1706 * oacc-mem.c (acc_map_data, present_create_copy)
1707 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1708 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1709 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1710 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1711 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1712 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1713 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1714 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1715 Remove "XFAIL"s.
1716
6278b549
TS
1717 * target.c (gomp_unmap_tgt): Make it 'static'.
1718 * libgomp.h (gomp_unmap_tgt): Remove.
1719
c80c9e26
TB
17202019-12-18 Tobias Burnus <tobias@codesourcery.com>
1721
1722 PR middle-end/86416
1723 * testsuite/libgomp.c/pr86416-1.c: New.
1724 * testsuite/libgomp.c/pr86416-2.c: New.
1725
0b8499a4
TB
17262019-12-17 Tobias Burnus <tobias@codesourcery.com>
1727
1728 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1729 all symbols as public except for the 'use …, only' imported symbol,
1730 which is private.
1731 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1732 all symbols from module openacc_kinds as PUBLIC
1733 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1734 fix comment typo.
1735 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1736
1cbd94e8
JB
17372019-12-13 Julian Brown <julian@codesourcery.com>
1738
1739 PR libgomp/92881
1740
1741 * libgomp.h (gomp_remove_var_async): Add prototype.
1742 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1743 gomp_remove_var.
1744 * target.c (gomp_unref_tgt): Change return type to bool, indicating
1745 whether target_mem_desc was unmapped.
1746 (gomp_unref_tgt_void): New.
1747 (gomp_remove_var): Reimplement in terms of...
1748 (gomp_remove_var_internal): ...this new helper function.
1749 (gomp_remove_var_async): New, implemented using above helper function.
1750 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1751 gomp_unref_tgt.
1752
26b74ed0
AS
17532019-12-13 Andrew Stubbs <ams@codesourcery.com>
1754
1755 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1756 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1757 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1758 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1759 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1760 Likewise.
1761 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1762 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1763
7858bb96
TB
17642019-12-13 Tobias Burnus <tobias@codesourcery.com>
1765
1766 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1767 as public except for the 'use …, only' imported symbol, which is
1768 private.
1769 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1770 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1771 attributes for acc_copyout_finalize and acc_delete_finalize.
1772
f8ac7d8f
JJ
17732019-12-11 Jakub Jelinek <jakub@redhat.com>
1774
1775 PR fortran/92899
1776 * testsuite/libgomp.fortran/atomic1.f90: New test.
1777
3d1b5e71
TS
17782019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1779
d6e8c01c
TS
1780 PR libgomp/92843
1781 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1782 reference counting for structured 'REFCOUNT_INFINITY'. Add some
1783 assertions.
1784 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1785 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1786 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1787 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1788 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1789
57963e39
TS
1790 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1791 * oacc-mem.c: ... here.
1792 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1793 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1794 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1795 Remove.
1796 * libgomp_g.h: Update.
1797
c5578b56
TS
1798 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1799 * oacc-async.c: ... here.
1800 * oacc-int.h (goacc_wait): Declare.
1801 * libgomp_g.h: Update
1802
3d1b5e71
TS
1803 PR libgomp/92854
1804 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1805 New file.
1806 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1807 Likewise.
1808 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1809 Likewise.
1810 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1811 Likewise.
1812 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1813 Likewise.
1814 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1815 Likewise.
1816
5e939438
TS
18172019-12-11 Thomas Schwinge <thomas@codesourcery.com>
1818 Julian Brown <julian@codesourcery.com>
1819
1820 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1821 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1822
93d90219
TB
18232019-12-11 Tobias Burnus <tobias@codesourcery.com>
1824
1825 * omp_lib.h.in: Fix spelling of function declaration
1826 omp_get_cancell(l)ation.
1827 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1828 Fix typos.
1829 * env.c: Fix comment typos.
1830 * oacc-host.c: Likewise.
1831 * ordered.c: Likewise.
1832 * task.c: Likewise.
1833 * team.c: Likewise.
1834 * config/gcn/task.c: Likewise.
1835 * config/gcn/team.c: Likewise.
1836 * config/nvptx/task.c: Likewise.
1837 * config/nvptx/team.c: Likewise.
1838 * plugin/plugin-gcn.c: Likewise.
1839 * testsuite/libgomp.fortran/jacobi.f: Likewise.
1840 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1841 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1842
a0221aee
TB
18432019-12-11 Tobias Burnus <tobias@codesourcery.com>
1844
1845 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1846 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1847 unnecessary 'dg-additional-options "-w"'.
1848
47afc7b4
TS
18492019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1850 Julian Brown <julian@codesourcery.com>
1851
1852 PR libgomp/92116
1853 PR libgomp/92877
1854
1855 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
1856 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1857 Adjust all users.
1858 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1859 Remove XFAIL.
1860 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1861 Likewise.
1862 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1863
b5859e40
TS
18642019-12-09 Thomas Schwinge <thomas@codesourcery.com>
1865
cec41816
TS
1866 PR libgomp/92503
1867 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1868 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1869 file.
1870 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1871 Likewise.
1872 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1873 Likewise.
1874 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1875 Likewise.
1876 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1877 Likewise.
1878 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1879 Likewise.
1880 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1881 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1882 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1883 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1884 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1885 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1886 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1887 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1888 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1889 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1890
e103542b
TS
1891 PR libgomp/92840
1892 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
1893 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
1894 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
1895 New file.
1896 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
1897 Likewise.
1898 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
1899 Likewise.
1900 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
1901 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
1902
41f36f22
TS
1903 PR libgomp/92511
1904 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
1905 this file...
1906 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
1907 this file...
1908 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
1909 file...
1910 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
1911 file...
1912 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1913 ... with their content moved into, and extended in this new file.
1914 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
1915 New file.
1916 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
1917 Likewise.
1918 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
1919 Likewise.
1920 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
1921 Likewise.
1922
6effebe1
TS
1923 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
1924
7d020473
TS
1925 PR libgomp/92854
1926 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
1927
1e1fb715
TS
1928 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
1929
b5859e40
TS
1930 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
1931
11586ed9
TB
19322019-12-09 Tobias Burnus <tobias@codesourcery.com>
1933
1934 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
1935 unique.
1936 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
1937 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1938 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
1939 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
1940 Ditto.
1941 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
1942 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
1943
3ad4a03a
KCY
19442019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1945
1946 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
1947
6e4d01d6
TB
19482019-12-06 Tobias Burnus <tobias@codesourcery.com>
1949 Kwok Cheung Yeung <kcy@codesourcery.com>
1950
1951 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
1952 if input it a NULL pointer.
1953 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
1954 diagnostic of NULL pointer.
1955 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
1956 * testsuite/libgomp.fortran/optional-map.f90: New.
1957 * testsuite/libgomp.fortran/use_device_addr-1.f90
1958 (test_dummy_opt_callee_1_absent): New.
1959 (test_dummy_opt_call_1): Call it.
1960 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
1961 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
1962 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
1963 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
1964 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
1965 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
1966 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
1967 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
1968 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
1969 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
1970 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
1971 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
1972 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
1973 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
1974 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
1975 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
1976
ad80ec46
TB
19772019-12-05 Tobias Burnus <tobias@codesourcery.com>
1978
1979 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
1980 expect dg-output of 'Error termination.' for GCN.
1981 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1982 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1983
a8a5f4cc
JJ
19842019-12-04 Jakub Jelinek <jakub@redhat.com>
1985
1986 PR fortran/92756
1987 * testsuite/libgomp.fortran/teams1.f90: New test.
1988 * testsuite/libgomp.fortran/teams2.f90: New test.
1989
d8f0024b
FH
19902019-12-03 Frederik Harwath <frederik@codesourcery.com>
1991
1992 * oacc-init.c (acc_known_device_type): Add function.
1993 (unknown_device_type_error): Add function.
1994 (name_of_acc_device_t): Change to call unknown_device_type_error
1995 on unknown type.
1996 (resolve_device): Use acc_known_device_type.
1997 (acc_init): Fail if acc_device_t argument is not valid.
1998 (acc_shutdown): Likewise.
1999 (acc_get_num_devices): Likewise.
2000 (acc_set_device_type): Likewise.
2001 (acc_get_device_num): Likewise.
2002 (acc_set_device_num): Likewise.
2003 (acc_on_device): Add comment that argument validity is not checked.
2004
83caa34e
AS
20052019-12-03 Andrew Stubbs <ams@codesourcery.com>
2006
2007 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2008 Recognize amdgcn.
2009 (check_effective_target_openacc_amdgcn_accel_present): New proc.
2010 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
2011 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
2012 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2013 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2014
00484365
SN
20152019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
2016
2017 PR libgomp/91938
2018 * configure.tgt: Avoid IE tls on *-*-musl*.
2019
9909a059
TB
20202019-11-29 Tobias Burnus <tobias@codesourcery.com>
2021
2022 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
2023 adding a common-block test case.
2024
b3f44388
JJ
20252019-11-29 Jakub Jelinek <jakub@redhat.com>
2026
2027 PR c++/60228
2028 * testsuite/libgomp.c++/udr-20.C: New test.
2029 * testsuite/libgomp.c++/udr-21.C: New test.
2030
b1a73b48
TS
20312019-11-27 Thomas Schwinge <thomas@codesourcery.com>
2032
2033 * testsuite/lib/libgomp.exp
2034 (check_effective_target_offload_target_nvptx): New proc.
2035 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
2036 'dg-skip-if'.
2037 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2038 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
2039 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
2040
b8e72446
RO
20412019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2042
2043 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
2044 * testsuite/libgomp.c/pr39591-2.c: Likewise.
2045 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2046 * testsuite/libgomp.c/private-1.c: Likewise.
2047 * testsuite/libgomp.c/task-1.c: Likewise.
2048 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
2049
d88b27da
JB
20502019-11-20 Julian Brown <julian@codesourcery.com>
2051
2052 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
2053 aq->mutex here.
2054 (queue_push_launch): Lock aq->mutex before calling
2055 wait_for_queue_nonfull.
2056 (queue_push_callback): Likewise.
2057 (queue_push_asyncwait): Likewise.
2058 (queue_push_placeholder): Likewise.
2059
8d2f4ddf
JB
20602019-11-20 Julian Brown <julian@codesourcery.com>
2061
2062 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
2063 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
2064 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
2065 return code.
2066
e307b05f
JB
20672019-11-20 Julian Brown <julian@codesourcery.com>
2068
2069 PR libgomp/92511
2070
2071 * oacc-mem.c (present_create_copy): Fix device pointer return value in
2072 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
2073 in non-present/create case.
2074 (delete_copyout): Change error condition to fail only on copies outside
2075 of mapped block. Adjust error message accordingly.
2076 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
2077 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
2078 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
2079 message.
2080 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2081 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
2082 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2083
83115e9e
MR
20842019-11-20 Maciej W. Rozycki <macro@wdc.com>
2085
2086 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
2087 libatomic in build-tree testing.
2088
a1289887
MR
20892019-11-18 Maciej W. Rozycki <macro@wdc.com>
2090
2091 * testsuite/Makefile.in: Regenerate.
2092
8916ba87
AS
20932019-11-15 Andrew Stubbs <ams@codesourcery.com>
2094
2095 * testsuite/libgomp.c/target-print-1.c: New file.
2096 * testsuite/libgomp.fortran/target-print-1.f90: New file.
2097 * testsuite/libgomp.oacc-c/print-1.c: New file.
2098 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
2099
237957cc
AS
21002019-11-13 Andrew Stubbs <ams@codesourcery.com>
2101 Kwok Cheung Yeung <kcy@codesourcery.com>
2102 Julian Brown <julian@codesourcery.com>
2103 Tom de Vries <tom@codesourcery.com>
2104
2105 * plugin/Makefrag.am: Add amdgcn plugin support.
2106 * plugin/configfrag.ac: Likewise.
2107 * plugin/plugin-gcn.c: New file.
2108 * configure: Regenerate.
2109 * Makefile.in: Regenerate.
2110 * testsuite/Makefile.in: Regenerate.
2111
cee16451
AS
21122019-11-13 Andrew Stubbs <ams@codesourcery.com>
2113
2114 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
2115 and use team_malloc variants.
2116 (gomp_gcn_exit_kernel): Use team_free.
2117 * libgomp.h (TEAM_ARENA_SIZE): Define.
2118 (TEAM_ARENA_START): Define.
2119 (TEAM_ARENA_FREE): Define.
2120 (TEAM_ARENA_END): Define.
2121 (team_malloc): New function.
2122 (team_malloc_cleared): New function.
2123 (team_free): New function.
2124 * team.c (gomp_new_team): Initialize and use team_malloc.
2125 (free_team): Use team_free.
2126 (gomp_free_thread): Use team_free.
2127 (gomp_pause_host): Use team_free.
2128 * work.c (gomp_init_work_share): Use team_malloc.
2129 (gomp_fini_work_share): Use team_free.
2130
fa499995
AS
21312019-11-13 Andrew Stubbs <ams@codesourcery.com>
2132 Kwok Cheung Yeung <kcy@codesourcery.com>
2133 Julian Brown <julian@codesourcery.com>
2134 Tom de Vries <tom@codesourcery.com>
2135
2136 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
2137 * Makefile.in: Regenerate.
2138 * config.h.in (PLUGIN_GCN): Add new undef.
2139 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
2140 * config/gcn/affinity-fmt.c: New file.
2141 * config/gcn/bar.c: New file.
2142 * config/gcn/bar.h: New file.
2143 * config/gcn/doacross.h: New file.
2144 * config/gcn/icv-device.c: New file.
2145 * config/gcn/oacc-target.c: New file.
2146 * config/gcn/simple-bar.h: New file.
2147 * config/gcn/target.c: New file.
2148 * config/gcn/task.c: New file.
2149 * config/gcn/team.c: New file.
2150 * config/gcn/time.c: New file.
2151 * configure.ac: Add amdgcn*-*-*.
2152 * configure: Regenerate.
2153 * configure.tgt: Add amdgcn*-*-*.
2154 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
2155 * libgomp.h (gcn_thrs): Add amdgcn variant.
2156 (set_gcn_thrs): Likewise.
2157 (gomp_thread): Likewise.
2158 * oacc-int.h (goacc_thread): Likewise.
2159 * oacc-target.c: New file.
2160 * openacc.f90 (acc_device_gcn): New parameter.
2161 * openacc.h (acc_device_t): Add acc_device_gcn.
2162 * team.c (gomp_free_pool_helper): Add amdgcn support.
2163
d2903ce0
AS
21642019-11-13 Andrew Stubbs <ams@codesourcery.com>
2165 Julian Brown <julian@codesourcery.com>
2166
2167 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
2168 parameter.
2169 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
2170 queue constructor.
2171 * oacc-host.c (host_openacc_async_construct): Add device parameter.
2172 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
2173 device parameter.
2174
b3d14b3a
AS
21752019-11-13 Andrew Stubbs <ams@codesourcery.com>
2176
2177 * configure.tgt (nvptx*-*-*): Add "accel" directory.
2178 * config/nvptx/libgomp-plugin.c: Move ...
2179 * config/accel/libgomp-plugin.c: ... to here.
2180 * config/nvptx/lock.c: Move ...
2181 * config/accel/lock.c: ... to here.
2182 * config/nvptx/mutex.c: Move ...
2183 * config/accel/mutex.c: ... to here.
2184 * config/nvptx/mutex.h: Move ...
2185 * config/accel/mutex.h: ... to here.
2186 * config/nvptx/oacc-async.c: Move ...
2187 * config/accel/oacc-async.c: ... to here.
2188 * config/nvptx/oacc-cuda.c: Move ...
2189 * config/accel/oacc-cuda.c: ... to here.
2190 * config/nvptx/oacc-host.c: Move ...
2191 * config/accel/oacc-host.c: ... to here.
2192 * config/nvptx/oacc-init.c: Move ...
2193 * config/accel/oacc-init.c: ... to here.
2194 * config/nvptx/oacc-mem.c: Move ...
2195 * config/accel/oacc-mem.c: ... to here.
2196 * config/nvptx/oacc-plugin.c: Move ...
2197 * config/accel/oacc-plugin.c: ... to here.
2198 * config/nvptx/omp-lock.h: Move ...
2199 * config/accel/omp-lock.h: ... to here.
2200 * config/nvptx/openacc.f90: Move ...
2201 * config/accel/openacc.f90: ... to here.
2202 * config/nvptx/pool.h: Move ...
2203 * config/accel/pool.h: ... to here.
2204 * config/nvptx/proc.c: Move ...
2205 * config/accel/proc.c: ... to here.
2206 * config/nvptx/ptrlock.c: Move ...
2207 * config/accel/ptrlock.c: ... to here.
2208 * config/nvptx/ptrlock.h: Move ...
2209 * config/accel/ptrlock.h: ... to here.
2210 * config/nvptx/sem.c: Move ...
2211 * config/accel/sem.c: ... to here.
2212 * config/nvptx/sem.h: Move ...
2213 * config/accel/sem.h: ... to here.
2214 * config/nvptx/thread-stacksize.h: Move ...
2215 * config/accel/thread-stacksize.h: ... to here.
2216
62aee289
MR
22172019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
2218 Tobias Burnus <tobias@codesourcery.com>
2219 Frederik Harwath <frederik@codesourcery.com>
2220 Thomas Schwinge <thomas@codesourcery.com>
2221
2222 libgomp/
2223 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
2224 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
2225 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
2226
a2c26c50
TB
22272019-11-11 Tobias Burnus <tobias@codesourcery.com>
2228 Kwok Cheung Yeung <kcy@codesourcery.com>
2229
2230 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
2231 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
2232
6d4868f3
TS
22332019-11-11 Thomas Schwinge <thomas@codesourcery.com>
2234
bfa1837b
TS
2235 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
2236
6d4868f3
TS
2237 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
2238 run'.
2239 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2240 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
2241
5d183d17
FH
22422019-11-06 Thomas Schwinge <thomas@codesourcery.com>
2243
2244 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
2245 Add expected warnings about missing reduction clauses.
2246 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
2247 Likewise.
2248 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
2249 Likewise.
2250 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
2251 Likewise.
2252
d8f03b03
TB
22532019-11-04 Tobias Burnus <tobias@codesourcery.com>
2254
2255 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
2256 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
2257 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
2258 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2259 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2260 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2261
12fd2ec5
TB
22622019-11-04 Tobias Burnus <tobias@codesourcery.com>
2263
2264 PR fortran/92305
2265 * testsuite/libgomp.fortran/allocatable2.f90: Use
2266 unique numbers with 'stop'.
2267 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2268 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2269 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
2270 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
2271 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
2272
92e63bd2
TB
22732019-11-01 Tobias Burnus <tobias@codesourcery.com>
2274
2275 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
2276 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
2277 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2278 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
2279 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
2280 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
2281
91ae0a46
TB
22822019-10-30 Tobias Burnus <tobias@codesourcery.com>
2283
2284 * testsuite/libgomp.fortran/target9.f90: New.
2285
c425e66b
TB
22862019-10-30 Tobias Burnus <tobias@codesourcery.com>
2287
2288 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
2289 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
2290 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
2291 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
2292 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
2293 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
2294 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
2295 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
2296 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
2297 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
2298 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
2299 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
2300 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
2301 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
2302 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
2303 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
2304 * testsuite/libgomp.fortran/associate1.f90: Ditto.
2305 * testsuite/libgomp.fortran/associate2.f90: Ditto.
2306 * testsuite/libgomp.fortran/associate3.f90: Ditto.
2307 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
2308 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
2309 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
2310 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
2311 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
2312 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
2313 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
2314 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
2315 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
2316 * testsuite/libgomp.fortran/character1.f90: Ditto.
2317 * testsuite/libgomp.fortran/character2.f90: Ditto.
2318 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
2319 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
2320 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
2321 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
2322 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
2323 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
2324 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
2325 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
2326 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
2327 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
2328 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
2329 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
2330 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
2331 * testsuite/libgomp.fortran/do1.f90: Ditto.
2332 * testsuite/libgomp.fortran/do2.f90: Ditto.
2333 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
2334 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
2335 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
2336 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
2337 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
2338 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
2339 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
2340 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
2341 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
2342 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
2343 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
2344 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
2345 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
2346 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
2347 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
2348 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
2349 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
2350 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
2351 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
2352 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
2353 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
2354 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
2355 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
2356 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
2357 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
2358 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
2359 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
2360 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
2361 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
2362 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
2363 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
2364 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
2365 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
2366 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
2367 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
2368 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
2369 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
2370 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
2371 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
2372 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
2373 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
2374 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
2375 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
2376 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
2377 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
2378 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
2379 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
2380 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
2381 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
2382 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2383 * testsuite/libgomp.fortran/lib1.f90: Ditto.
2384 * testsuite/libgomp.fortran/lib4.f90: Ditto.
2385 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
2386 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
2387 * testsuite/libgomp.fortran/nested1.f90: Ditto.
2388 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
2389 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
2390 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
2391 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2392 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
2393 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
2394 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2395 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
2396 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
2397 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
2398 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
2399 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
2400 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
2401 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
2402 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2403 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
2404 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2405 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
2406 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
2407 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
2408 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
2409 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
2410 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
2411 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
2412 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2413 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
2414 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
2415 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
2416 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
2417 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
2418 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2419 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
2420 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
2421 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
2422 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
2423 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2424 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
2425 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
2426 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
2427 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
2428 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
2429 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
2430 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
2431 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
2432 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
2433 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
2434 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
2435 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
2436 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
2437 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
2438 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
2439 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
2440 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
2441 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
2442 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
2443 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
2444 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2445 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
2446 * testsuite/libgomp.fortran/reference1.f90: Ditto.
2447 * testsuite/libgomp.fortran/reference2.f90: Ditto.
2448 * testsuite/libgomp.fortran/retval1.f90: Ditto.
2449 * testsuite/libgomp.fortran/retval2.f90: Ditto.
2450 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
2451 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
2452 * testsuite/libgomp.fortran/simd1.f90: Ditto.
2453 * testsuite/libgomp.fortran/simd2.f90: Ditto.
2454 * testsuite/libgomp.fortran/simd3.f90: Ditto.
2455 * testsuite/libgomp.fortran/simd4.f90: Ditto.
2456 * testsuite/libgomp.fortran/simd5.f90: Ditto.
2457 * testsuite/libgomp.fortran/simd6.f90: Ditto.
2458 * testsuite/libgomp.fortran/simd7.f90: Ditto.
2459 * testsuite/libgomp.fortran/stack.f90: Ditto.
2460 * testsuite/libgomp.fortran/strassen.f90: Ditto.
2461 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
2462 * testsuite/libgomp.fortran/tabs2.f: Ditto.
2463 * testsuite/libgomp.fortran/target1.f90: Ditto.
2464 * testsuite/libgomp.fortran/target2.f90: Ditto.
2465 * testsuite/libgomp.fortran/target3.f90: Ditto.
2466 * testsuite/libgomp.fortran/target4.f90: Ditto.
2467 * testsuite/libgomp.fortran/target5.f90: Ditto.
2468 * testsuite/libgomp.fortran/target6.f90: Ditto.
2469 * testsuite/libgomp.fortran/target7.f90: Ditto.
2470 * testsuite/libgomp.fortran/target8.f90: Ditto.
2471 * testsuite/libgomp.fortran/task1.f90: Ditto.
2472 * testsuite/libgomp.fortran/task2.f90: Ditto.
2473 * testsuite/libgomp.fortran/task3.f90: Ditto.
2474 * testsuite/libgomp.fortran/task4.f90: Ditto.
2475 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2476 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2477 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2478 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2479 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2480 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
2481 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
2482 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
2483 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
2484 * testsuite/libgomp.fortran/udr1.f90: Ditto.
2485 * testsuite/libgomp.fortran/udr10.f90: Ditto.
2486 * testsuite/libgomp.fortran/udr11.f90: Ditto.
2487 * testsuite/libgomp.fortran/udr12.f90: Ditto.
2488 * testsuite/libgomp.fortran/udr13.f90: Ditto.
2489 * testsuite/libgomp.fortran/udr14.f90: Ditto.
2490 * testsuite/libgomp.fortran/udr15.f90: Ditto.
2491 * testsuite/libgomp.fortran/udr2.f90: Ditto.
2492 * testsuite/libgomp.fortran/udr3.f90: Ditto.
2493 * testsuite/libgomp.fortran/udr4.f90: Ditto.
2494 * testsuite/libgomp.fortran/udr5.f90: Ditto.
2495 * testsuite/libgomp.fortran/udr6.f90: Ditto.
2496 * testsuite/libgomp.fortran/udr7.f90: Ditto.
2497 * testsuite/libgomp.fortran/udr8.f90: Ditto.
2498 * testsuite/libgomp.fortran/udr9.f90: Ditto.
2499 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2500 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2501 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2502 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2503 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2504 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2505 * testsuite/libgomp.fortran/vla7.f90: Ditto.
2506 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2507 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2508 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2509
01509e2f
TB
25102019-10-30 Tobias Burnus <tobias@codesourcery.com>
2511
2512 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2513 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2514 Ditto; add 'dg-do run' for torture testing.
2515 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
2516 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2517 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2518 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2519 * testsuite/libgomp.fortran/pr28390.f: Ditto.
2520 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2521 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2522 * testsuite/libgomp.fortran/task2.f90: Ditto.
2523 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2524 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2525 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2526 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2527 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2528 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2529
ffbdd78a
TB
25302019-10-28 Tobias Burnus <tobias@codesourcery.com>
2531
2532 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2533 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2534 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2535 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2536 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2537 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2538 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2539 Use 'stop' not abort().
2540 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2541 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2542 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2543 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2544 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2545 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2546 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2547 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2548 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2549 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2550 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2551 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2552 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2553 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2554 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2555 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2556 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2557 Ditto.
2558 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2559 Ditto.
2560 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2561 Ditto.
2562 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2563 Ditto.
2564 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2565 Ditto.
2566 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2567 Ditto.
2568 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2569 Ditto.
2570 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2571 Ditto.
2572 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2573 Ditto.
2574 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2575 Ditto.
2576 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2577 Ditto.
2578 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2579 Ditto.
2580 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2581 Ditto.
2582 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2583 Ditto.
2584 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2585 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2586 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2587 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2588 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2589 Likewise and also add 'dg-do run'.
2590 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2591 Ditto.
2592
ec084613
CP
25932019-10-25 Cesar Philippidis <cesar@codesourcery.com>
2594 Tobias Burnus <tobias@codesourcery.com>
2595
2596 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2597 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2598 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2599
77ef3394
JJ
26002019-10-14 Jakub Jelinek <jakub@redhat.com>
2601
2602 PR libgomp/92081
2603 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2604 than 0.
2605
08c14aaa
TB
26062019-10-11 Tobias Burnus <tobias@codesourcery.com>
2607
2608 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2609 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2610
6bbead0c
TS
26112019-10-09 Thomas Schwinge <thomas@codesourcery.com>
2612
2613 PR middle-end/92036
2614 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2615 file.
2616
eba3dee8
TB
26172019-10-09 Tobias Burnus <tobias@codesourcery.com>
2618
2619 PR testsuite/91884
2620 * testsuite/libgomp.fortran/fortran.exp: Conditionally
2621 add -lquadmath.
2622 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2623
7d48e14f
JJ
26242019-10-09 Jakub Jelinek <jakub@redhat.com>
2625
2626 PR libgomp/92028
2627 * target.c (gomp_map_vars_internal): Readd the previous
2628 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2629 though do that just in the !not_found_cnt case.
2630
65b67cf3
TB
26312019-10-08 Tobias Burnus <tobias@codesourcery.com>
2632
2633 * gfortran.dg/gomp/target-simd.f90: New.
2634
6c7e076b
JB
26352019-10-02 Julian Brown <julian@codesourcery.com>
2636 Cesar Philippidis <cesar@codesourcery.com>
2637
2638 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2639 * target.c (FIELD_TGT_EMPTY): Define.
2640 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
2641 as switch instead of list of ifs.
2642 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2643
d61bff85
AT
26442019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
2645
2646 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2647 include. Replace alloca () with __builtin_alloca ().
2648 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2649
810f316d
JJ
26502019-10-01 Jakub Jelinek <jakub@redhat.com>
2651
2652 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2653 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2654 * oacc-parallel.c: Don't include "libgomp_g.h".
2655 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2656 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2657 * aclocal.m4: Regenerated.
2658 * config.h.in: Regenerated.
2659 * configure: Regenerated.
2660 * Makefile.in: Regenerated.
2661
d7f9ee98
KCY
26622019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
2663
2664 * libgomp_g.h: Include stdint.h instead of gstdint.h.
2665
e9085da5
MR
26662019-09-27 Maciej W. Rozycki <macro@wdc.com>
2667
2668 * configure: Regenerate.
2669
c28712be
TB
26702019-09-13 Tobias Burnus <tobias@codesourcery.com>
2671
2672 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2673 string is initialized.
2674
3c086f8d
FW
26752019-09-06 Florian Weimer <fweimer@redhat.com>
2676
2677 * configure: Regenerate.
2678
c6c2d1bc
CLT
26792019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
2680
2681 PR other/79543
2682 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2683 scanning to conform to the GNU Coding Standards.
2684 * configure: Regenerate.
2685
5cb72d83
JJ
26862019-08-28 Jakub Jelinek <jakub@redhat.com>
2687
2688 PR libgomp/91530
2689 * testsuite/libgomp.c/scan-21.c: New test.
2690 * testsuite/libgomp.c/scan-22.c: New test.
2691
0ad7981c
JJ
26922019-08-27 Jakub Jelinek <jakub@redhat.com>
2693
2694 PR libgomp/91530
2695 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2696 targets.
2697 * testsuite/libgomp.c/scan-12.c: Likewise.
2698 * testsuite/libgomp.c/scan-13.c: Likewise.
2699 * testsuite/libgomp.c/scan-14.c: Likewise.
2700 * testsuite/libgomp.c/scan-15.c: Likewise.
2701 * testsuite/libgomp.c/scan-16.c: Likewise.
2702 * testsuite/libgomp.c/scan-17.c: Likewise.
2703 * testsuite/libgomp.c/scan-18.c: Likewise.
2704 * testsuite/libgomp.c/scan-19.c: Likewise.
2705 * testsuite/libgomp.c/scan-20.c: Likewise.
2706 * testsuite/libgomp.c++/scan-9.C: Likewise.
2707 * testsuite/libgomp.c++/scan-10.C: Likewise.
2708 * testsuite/libgomp.c++/scan-11.C: Likewise.
2709 * testsuite/libgomp.c++/scan-12.C: Likewise.
2710 * testsuite/libgomp.c++/scan-14.C: Likewise.
2711 * testsuite/libgomp.c++/scan-15.C: Likewise.
2712 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
2713 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2714 * testsuite/libgomp.c++/scan-16.C: Likewise.
2715
1e67491a
TK
27162019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
2717
2718 PR fortran/91473
2719 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2720 -std=legacy so invalid code in the test case is accepted.
2721
393fdeb1
TK
27222019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2723
2724 PR fortran/91422
2725 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2726 dimension.
2727
8860d270
JJ
27282019-08-08 Jakub Jelinek <jakub@redhat.com>
2729
2730 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2731 perform the lookup in the first loop only if !not_found_cnt, otherwise
2732 perform lookups for it in the second loop guarded with
2733 if (not_found_cnt || has_firstprivate).
2734 * testsuite/libgomp.c/target-37.c: New test.
2735 * testsuite/libgomp.c++/target-22.C: New test.
2736
398e3feb
JJ
27372019-08-07 Jakub Jelinek <jakub@redhat.com>
2738
2739 * testsuite/libgomp.c/target-18.c (struct S): New type.
2740 (foo): Use use_device_addr clause instead of use_device_ptr clause
2741 where required by OpenMP 5.0, add further tests for both use_device_ptr
2742 and use_device_addr clauses.
2743 * testsuite/libgomp.c++/target-9.C (struct S): New type.
2744 (foo): Use use_device_addr clause instead of use_device_ptr clause
2745 where required by OpenMP 5.0, add further tests for both use_device_ptr
2746 and use_device_addr clauses. Add t and u arguments.
2747 (main): Adjust caller.
2748
d81ab49d
JJ
27492019-08-06 Jakub Jelinek <jakub@redhat.com>
2750
2751 * testsuite/libgomp.c++/loop-13.C: New test.
2752 * testsuite/libgomp.c++/loop-14.C: New test.
2753 * testsuite/libgomp.c++/loop-15.C: New test.
2754
c3ac76aa
JJ
27552019-07-31 Jakub Jelinek <jakub@redhat.com>
2756
2757 PR middle-end/91301
2758 * testsuite/libgomp.c++/for-27.C: New test.
2759
8dc63166
SK
27602019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
2761
393fdeb1 2762 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 2763 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 2764
554a530f
JJ
27652019-07-20 Jakub Jelinek <jakub@redhat.com>
2766
2767 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2768
6cda84b5
JJ
27692019-07-08 Jakub Jelinek <jakub@redhat.com>
2770
2771 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2772 * testsuite/libgomp.c++/scan-16.C: Likewise.
2773
1f52d1a8
JJ
27742019-07-06 Jakub Jelinek <jakub@redhat.com>
2775
6f67abcd
JJ
2776 * testsuite/libgomp.c/scan-19.c: New test.
2777 * testsuite/libgomp.c/scan-20.c: New test.
2778
1f52d1a8
JJ
2779 * testsuite/libgomp.c/scan-11.c: New test.
2780 * testsuite/libgomp.c/scan-12.c: New test.
2781 * testsuite/libgomp.c/scan-13.c: New test.
2782 * testsuite/libgomp.c/scan-14.c: New test.
2783 * testsuite/libgomp.c/scan-15.c: New test.
2784 * testsuite/libgomp.c/scan-16.c: New test.
2785 * testsuite/libgomp.c/scan-17.c: New test.
2786 * testsuite/libgomp.c/scan-18.c: New test.
2787 * testsuite/libgomp.c++/scan-9.C: New test.
2788 * testsuite/libgomp.c++/scan-10.C: New test.
2789 * testsuite/libgomp.c++/scan-11.C: New test.
2790 * testsuite/libgomp.c++/scan-12.C: New test.
2791 * testsuite/libgomp.c++/scan-13.C: New test.
2792 * testsuite/libgomp.c++/scan-14.C: New test.
2793 * testsuite/libgomp.c++/scan-15.C: New test.
2794 * testsuite/libgomp.c++/scan-16.C: New test.
2795
2f03073f
JJ
27962019-07-04 Jakub Jelinek <jakub@redhat.com>
2797
2798 * testsuite/libgomp.c/scan-9.c: New test.
2799 * testsuite/libgomp.c/scan-10.c: New test.
2800
2f6bb511
JJ
28012019-07-03 Jakub Jelinek <jakub@redhat.com>
2802
2803 * testsuite/libgomp.c++/scan-1.C: New test.
2804 * testsuite/libgomp.c++/scan-2.C: New test.
2805 * testsuite/libgomp.c++/scan-3.C: New test.
2806 * testsuite/libgomp.c++/scan-4.C: New test.
2807 * testsuite/libgomp.c++/scan-5.C: New test.
2808 * testsuite/libgomp.c++/scan-6.C: New test.
2809 * testsuite/libgomp.c++/scan-7.C: New test.
2810 * testsuite/libgomp.c++/scan-8.C: New test.
2811 * testsuite/libgomp.c/scan-1.c: New test.
2812 * testsuite/libgomp.c/scan-2.c: New test.
2813 * testsuite/libgomp.c/scan-3.c: New test.
2814 * testsuite/libgomp.c/scan-4.c: New test.
2815 * testsuite/libgomp.c/scan-5.c: New test.
2816 * testsuite/libgomp.c/scan-6.c: New test.
2817 * testsuite/libgomp.c/scan-7.c: New test.
2818 * testsuite/libgomp.c/scan-8.c: New test.
2819
bd194a51
TS
28202019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2821
85fca03a
TS
2822 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2823 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2824 Likewise.
2825
bd194a51
TS
2826 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2827 check.
2828
6652161e
CP
28292019-06-18 Cesar Philippidis <cesar@codesourcery.com>
2830
2831 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2832 file.
2833
3a37d6f6
TS
28342019-06-18 Thomas Schwinge <thomas@codesourcery.com>
2835
4017da8d
TS
2836 PR fortran/90743
2837 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2838 case.
2839 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2840 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2841 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2842 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2843
6f7c1f65
TS
2844 PR testsuite/90861
2845 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2846
3a37d6f6
TS
2847 PR middle-end/90862
2848 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2849
f45ce17d
TV
28502019-06-16 Tom de Vries <tdevries@suse.de>
2851
2852 PR tree-optimization/89376
2853 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2854
00908992
TV
28552019-06-15 Tom de Vries <tdevries@suse.de>
2856
2857 PR tree-optimization/89713
2858 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2859 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2860
211b7533
JJ
28612019-06-15 Jakub Jelinek <jakub@redhat.com>
2862
2863 PR middle-end/90779
2864 * testsuite/libgomp.c/pr90779.c: New test.
2865 * testsuite/libgomp.fortran/pr90779.f90: New test.
2866
120a01d1
TV
28672019-06-15 Tom de Vries <tdevries@suse.de>
2868
2869 PR tree-optimization/90009
2870 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2871
c29c92c7
FX
28722019-06-13 Feng Xue <fxue@os.amperecomputing.com>
2873
2874 PR tree-optimization/89713
2875 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2876
ce9c4ec3
JJ
28772019-06-11 Jakub Jelinek <jakub@redhat.com>
2878
2879 PR target/90811
2880 * testsuite/libgomp.c/pr90811.c: New test.
2881
28b3a77c
JJ
28822019-06-05 Jakub Jelinek <jakub@redhat.com>
2883
2884 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
2885 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
2886
7855700e
JJ
28872019-06-04 Jakub Jelinek <jakub@redhat.com>
2888
2889 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
2890 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
2891 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
2892 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
2893
a7155c2e
RO
28942019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2895
2896 * configure.ac: Call AX_COUNT_CPUS.
2897 Substitute CPU_COUNT.
2898 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
2899 count fallback.
2900 * aclocal.m4: Regenerate.
2901 * configure: Regenerate.
2902 * Makefile.in, testsuite/Makefile.in: Regenerate.
2903
7e47198b
JJ
29042019-05-29 Jakub Jelinek <jakub@redhat.com>
2905
2906 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
2907 to ...
2908 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
2909 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
2910 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
2911
fcfb8032
JJ
29122019-05-27 Jakub Jelinek <jakub@redhat.com>
2913
8e7757ba
JJ
2914 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
2915
36c7a3ff
JJ
2916 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
2917
fcfb8032
JJ
2918 PR libgomp/90641
2919 * work.c (gomp_init_work_share): Instead of aligning final ordered
2920 value to multiples of long long alignment, align to that the
2921 first part (ordered team ids) and if inline_ordered_team_ids
2922 is not on a long long alignment boundary within the structure,
2923 use __alignof__ (long long) - 1 pad size always.
2924 * loop.c (GOMP_loop_start): Fix *mem computation if
2925 inline_ordered_team_ids is not aligned on long long alignment boundary
2926 within the structure.
2927 * loop-ull.c (GOMP_loop_ull_start): Likewise.
2928 * sections.c (GOMP_sections2_start): Likewise.
2929
b5c26449
JJ
29302019-05-24 Jakub Jelinek <jakub@redhat.com>
2931
6c7ae8c5
JJ
2932 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
2933 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
2934
b5c26449
JJ
2935 PR libgomp/90585
2936 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
2937 HAVE_INTTYPES_H is defined.
2938 (print_uint64_t): New typedef.
2939 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
2940 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
2941 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
2942 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
2943 before casting to void *.
2944 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
2945 * oacc-mem.c: Don't include config.h nor stdint.h.
2946 * target.c: Don't include config.h.
2947 * oacc-cuda.c: Likewise.
2948 * oacc-host.c: Don't include stdint.h.
2949
3e03ed66
JJ
29502019-05-20 Jakub Jelinek <jakub@redhat.com>
2951
2952 PR libgomp/90527
2953 * alloc.c (_GNU_SOURCE): Define.
2954
5fae049d
TS
29552019-05-17 Thomas Schwinge <thomas@codesourcery.com>
2956
2957 * acc_prof.h: New file.
2958 * oacc-profiling.c: Likewise.
2959 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
2960 Add these, respectively.
2961 * Makefile.in: Regenerate.
2962 * env.c (initialize_env): Call goacc_profiling_initialize.
2963 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
2964 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
2965 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
2966 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
2967 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
2968 acc_prof_register, acc_prof_unregister, and acc_register_library.
2969 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
2970 GOMP_PLUGIN_goacc_thread.
2971 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
2972 prof_callbacks_enabled members.
2973 (goacc_prof_enabled, goacc_profiling_initialize)
2974 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
2975 (goacc_profiling_dispatch): Declare.
2976 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
2977 (GOACC_PROFILING_SETUP_P): Define.
2978 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
2979 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
2980 OpenACC Profiling Interface.
2981 * oacc-cuda.c (acc_get_current_cuda_device)
2982 (acc_get_current_cuda_context, acc_get_cuda_stream)
2983 (acc_set_cuda_stream): Likewise.
2984 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
2985 (acc_init, acc_set_device_type, acc_get_device_type)
2986 (acc_get_device_num, goacc_lazy_initialize): Likewise.
2987 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
2988 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
2989 (acc_unmap_data, present_create_copy, delete_copyout)
2990 (update_dev_host): Likewise.
2991 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
2992 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
2993 Likewise.
2994 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
2995 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
2996 Likewise.
2997 * libgomp.texi: Update.
2998 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
2999 file.
3000 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
3001 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3002 Likewise.
3003 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
3004 Likewise.
3005 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
3006 Likewise.
3007 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
3008 Likewise.
3009
1f4c5b9b
CLT
30102019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
3011
3012 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
3013 (struct goacc_asyncqueue_list): Likewise.
3014 (goacc_aq): Likewise.
3015 (goacc_aq_list): Likewise.
3016 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3017 (GOMP_OFFLOAD_openacc_async_test): Remove.
3018 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3019 (GOMP_OFFLOAD_openacc_async_wait): Remove.
3020 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3021 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3022 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3023 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3024 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
3025 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
3026 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
3027 (GOMP_OFFLOAD_openacc_async_exec): Declare.
3028 (GOMP_OFFLOAD_openacc_async_construct): Declare.
3029 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
3030 (GOMP_OFFLOAD_openacc_async_test): Declare.
3031 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
3032 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
3033 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
3034 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
3035 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
3036
3037 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
3038 (gomp_acc_insert_pointer): Adjust declaration.
3039 (gomp_copy_host2dev): New declaration.
3040 (gomp_copy_dev2host): Likewise.
3041 (gomp_map_vars_async): Likewise.
3042 (gomp_unmap_tgt): Likewise.
3043 (gomp_unmap_vars_async): Likewise.
3044 (gomp_fini_device): Likewise.
3045
3046 * oacc-async.c (get_goacc_thread): New function.
3047 (get_goacc_thread_device): New function.
3048 (lookup_goacc_asyncqueue): New function.
3049 (get_goacc_asyncqueue): New function.
3050 (acc_async_test): Adjust code to use new async design.
3051 (acc_async_test_all): Likewise.
3052 (acc_wait): Likewise.
3053 (acc_wait_async): Likewise.
3054 (acc_wait_all): Likewise.
3055 (acc_wait_all_async): Likewise.
3056 (goacc_async_free): New function.
3057 (goacc_init_asyncqueues): Likewise.
3058 (goacc_fini_asyncqueues): Likewise.
3059 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
3060 design.
3061 (acc_set_cuda_stream): Likewise.
3062 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
3063 (host_openacc_register_async_cleanup): Remove.
3064 (host_openacc_async_exec): New function.
3065 (host_openacc_async_test): Adjust parameters.
3066 (host_openacc_async_test_all): Remove.
3067 (host_openacc_async_wait): Remove.
3068 (host_openacc_async_wait_async): Remove.
3069 (host_openacc_async_wait_all): Remove.
3070 (host_openacc_async_wait_all_async): Remove.
3071 (host_openacc_async_set_async): Remove.
3072 (host_openacc_async_synchronize): New function.
3073 (host_openacc_async_serialize): New function.
3074 (host_openacc_async_host2dev): New function.
3075 (host_openacc_async_dev2host): New function.
3076 (host_openacc_async_queue_callback): New function.
3077 (host_openacc_async_construct): New function.
3078 (host_openacc_async_destruct): New function.
3079 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 3080 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
3081 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
3082 (goacc_attach_host_thread_to_device): Remove old async code usage.
3083 * oacc-int.h (goacc_init_asyncqueues): New declaration.
3084 (goacc_fini_asyncqueues): Likewise.
3085 (goacc_async_copyout_unmap_vars): Likewise.
3086 (goacc_async_free): Likewise.
3087 (get_goacc_asyncqueue): Likewise.
3088 (lookup_goacc_asyncqueue): Likewise.
3089 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
3090 design.
3091 (present_create_copy): Adjust code to use new async design.
3092 (delete_copyout): Likewise.
3093 (update_dev_host): Likewise.
3094 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
3095 async design.
3096 (gomp_acc_remove_pointer): Adjust code to use new async design.
3097 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
3098 design.
3099 (GOACC_enter_exit_data): Likewise.
3100 (goacc_wait): Likewise.
3101 (GOACC_update): Likewise.
3102 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
3103 when called, warn as obsolete in comment.
3104 * target.c (goacc_device_copy_async): New function.
3105 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
3106 add goacc_device_copy_async case.
3107 (gomp_copy_dev2host): Likewise.
3108 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
3109 (gomp_map_pointer): Likewise.
3110 (gomp_map_fields_existing): Likewise.
3111 (gomp_map_vars_internal): New always_inline function, renamed from
3112 gomp_map_vars.
3113 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
3114 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
3115 passing goacc_asyncqueue argument.
3116 (gomp_unmap_tgt): Remove static, add attribute_hidden.
3117 (gomp_unref_tgt): New function.
3118 (gomp_unmap_vars_internal): New always_inline function, renamed from
3119 gomp_unmap_vars.
3120 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
3121 (gomp_unmap_vars_async): Implement by calling
3122 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
3123 (gomp_fini_device): New function.
3124 (gomp_exit_data): Adjust gomp_copy_dev2host call.
3125 (gomp_load_plugin_for_device): Remove old interface, adjust to load
3126 new async interface.
3127 (gomp_target_fini): Adjust code to call gomp_fini_device.
3128
3129 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
3130 (struct ptx_stream): Remove.
3131 (struct nvptx_thread): Remove current_stream field.
3132 (cuda_map_create): Remove.
3133 (cuda_map_destroy): Remove.
3134 (map_init): Remove.
3135 (map_fini): Remove.
3136 (map_pop): Remove.
3137 (map_push): Remove.
3138 (struct goacc_asyncqueue): Define.
3139 (struct nvptx_callback): Define.
3140 (struct ptx_free_block): Define.
3141 (struct ptx_device): Remove null_stream, active_streams, async_streams,
3142 stream_lock, and next fields.
3143 (enum ptx_event_type): Remove.
3144 (struct ptx_event): Remove.
3145 (ptx_event_lock): Remove.
3146 (ptx_events): Remove.
3147 (init_streams_for_device): Remove.
3148 (fini_streams_for_device): Remove.
3149 (select_stream_for_async): Remove.
3150 (nvptx_init): Remove ptx_events and ptx_event_lock references.
3151 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
3152 case.
3153 (nvptx_open_device): Add free_blocks initialization, remove
3154 init_streams_for_device call.
3155 (nvptx_close_device): Remove fini_streams_for_device call, add
3156 free_blocks destruct code.
3157 (event_gc): Remove.
3158 (event_add): Remove.
3159 (nvptx_exec): Adjust parameters and code.
3160 (nvptx_free): Likewise.
3161 (nvptx_host2dev): Remove.
3162 (nvptx_dev2host): Remove.
3163 (nvptx_set_async): Remove.
3164 (nvptx_async_test): Remove.
3165 (nvptx_async_test_all): Remove.
3166 (nvptx_wait): Remove.
3167 (nvptx_wait_async): Remove.
3168 (nvptx_wait_all): Remove.
3169 (nvptx_wait_all_async): Remove.
3170 (nvptx_get_cuda_stream): Remove.
3171 (nvptx_set_cuda_stream): Remove.
3172 (GOMP_OFFLOAD_alloc): Adjust code.
3173 (GOMP_OFFLOAD_free): Likewise.
3174 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3175 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
3176 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3177 (GOMP_OFFLOAD_openacc_async_wait): Remove.
3178 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3179 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3180 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3181 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3182 (cuda_free_argmem): New function.
3183 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
3184 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
3185 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
3186 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
3187 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
3188 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
3189 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
3190 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
3191 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
3192 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
3193 (cuda_callback_wrapper): New function.
3194 (cuda_memcpy_sanity_check): New function.
3195 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
3196 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
3197 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
3198 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
3199
da2d30c1
TS
32002019-05-07 Thomas Schwinge <thomas@codesourcery.com>
3201
3202 PR target/87835
3203 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
3204
2bbbfa4e
TS
32052019-05-06 Thomas Schwinge <thomas@codesourcery.com>
3206
3207 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
3208
bbf1efe1
KB
32092019-03-27 Kevin Buettner <kevinb@redhat.com>
3210
3211 * team.c (gomp_team_start): Initialize pool->threads[0].
3212
1241136c
TS
32132019-02-22 Thomas Schwinge <thomas@codesourcery.com>
3214
b03d721a
TS
3215 * testsuite/libgomp.oacc-c++/c++.exp: Specify
3216 "-foffload=$offload_target".
3217 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3218 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3219 * testsuite/lib/libgomp.exp
3220 (check_effective_target_openacc_nvidia_accel_configured): Remove,
3221 as (conceptually) merged into
3222 check_effective_target_openacc_nvidia_accel_selected. Adjust all
3223 users.
3224
0a0384b4
TS
3225 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
3226 * testsuite/libgomp-test-support.exp.in: Adjust.
3227 * testsuite/lib/libgomp.exp: Likewise. Don't populate
3228 openacc_device_types_s.
3229 (offload_target_to_openacc_device_type): New proc.
3230 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
3231 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3232 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3233 * Makefile.in: Regenerate.
3234 * configure: Likewise.
3235 * testsuite/Makefile.in: Likewise.
3236
ee332b4a
TS
3237 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
3238 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
3239 instead of OFFLOAD_TARGETS.
3240 * target.c (gomp_target_init): Adjust.
3241 * testsuite/libgomp-test-support.exp.in: Likewise.
3242 * testsuite/lib/libgomp.exp: Likewise. Populate
3243 openacc_device_types_s instead of offload_targets_s_openacc.
3244 (check_effective_target_openacc_nvidia_accel_selected)
3245 (check_effective_target_openacc_host_selected): Adjust.
3246 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3247 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3248 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3249 * Makefile.in: Regenerate.
3250 * config.h.in: Likewise.
3251 * configure: Likewise.
3252 * testsuite/Makefile.in: Likewise.
3253
1241136c
TS
3254 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
3255 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
3256 "offloading: supported, but hardware not accessible".
3257 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3258 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3259
19695f4d
CLT
32602019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
3261
3262 PR c/87924
3263 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
3264 goacc_wait().
3265 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
3266 and related adjustment.
3267
8b44f8ec
JJ
32682019-01-30 Jakub Jelinek <jakub@redhat.com>
3269
3270 PR c++/88988
3271 * testsuite/libgomp.c++/pr88988.C: New test.
3272
be3a87e7
JJ
32732019-01-28 Jakub Jelinek <jakub@redhat.com>
3274
3275 PR middle-end/89002
3276 * testsuite/libgomp.c/pr89002.c: New test.
3277
497ef4d7
RB
32782019-01-28 Richard Biener <rguenther@suse.de>
3279
3280 PR testsuite/89064
3281 PR tree-optimization/86865
3282 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
3283
738c56d4
TV
32842019-01-24 Tom de Vries <tdevries@suse.de>
3285
3286 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
3287 once instantiated_devices drops to 0.
3288
4a75460b
TV
32892019-01-23 Tom de Vries <tdevries@suse.de>
3290
3291 PR target/PR88946
3292 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
3293 cuMemFree.
3294 (nvptx_exec): Don't call map_push if mapnum == 0.
3295 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
3296
4fef8e4d
TV
32972019-01-23 Tom de Vries <tdevries@suse.de>
3298
3299 PR target/88941
3300 PR target/88939
3301 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
3302 (map_fini): Remove "assert (!s->map->active)".
3303 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
3304
2ee6cb22
TV
33052019-01-23 Tom de Vries <tdevries@suse.de>
3306
3307 PR target/87835
3308 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
3309 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
3310
d41d952c
TV
33112019-01-15 Tom de Vries <tdevries@suse.de>
3312
3313 PR target/80547
3314 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
3315 New test.
3316
efb56ae8
TV
33172019-01-12 Tom de Vries <tdevries@suse.de>
3318
3319 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
3320 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
3321 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
3322 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
3323
2c2ff168
TV
33242019-01-12 Tom de Vries <tdevries@suse.de>
3325
3326 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
3327
a1057758
TV
33282019-01-12 Tom de Vries <tdevries@suse.de>
3329
3330 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
3331 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
3332 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
3333
56314b77
TV
33342019-01-12 Tom de Vries <tdevries@suse.de>
3335
3336 PR target/85486
3337 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
3338 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
3339
b39e4366
TV
33402019-01-12 Tom de Vries <tdevries@suse.de>
3341
3342 PR target/85381
3343 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
3344 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
3345
2cb7a501
TV
33462019-01-12 Tom de Vries <tdevries@suse.de>
3347
3348 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
3349 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
3350 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
3351
8e77f71e
TV
33522019-01-12 Tom de Vries <tdevries@suse.de>
3353
3354 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
3355 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
3356 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
3357
52d22ece
TV
33582019-01-12 Tom de Vries <tdevries@suse.de>
3359
3360 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
3361 resources diagnostic.
3362
2b9d9e39
TV
33632019-01-12 Tom de Vries <tdevries@suse.de>
3364
3365 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
3366 vector length to be 128.
3367 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
3368 length 2097152 to be reduced to 1024 instead of 32.
3369
4102bda6
TS
33702019-01-11 Thomas Schwinge <thomas@codesourcery.com>
3371 James Norris <jnorris@codesourcery.com>
3372
3373 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
3374 Library Routines", and "Environment Variables".
3375
052aaace
TV
33762019-01-11 Tom de Vries <tdevries@suse.de>
3377
3378 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
3379 num_workers 16.
3380
9390f916
TV
33812019-01-11 Tom de Vries <tdevries@suse.de>
3382
3383 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
3384 -foffload=-w.
3385 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
3386 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
3387 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
3388 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
3389
2c3e7ad2
TV
33902019-01-11 Tom de Vries <tdevries@suse.de>
3391
3392 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
3393 test.
3394
e222497d
NS
33952019-01-10 Nathan Sidwell <nathan@acm.org>
3396 Julian Brown <julian@codesourcery.com>
3397
3398 PR lto/71959
3399 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
3400 * testsuite/libgomp.oacc-c++/pr71959.C: New.
3401
cb87fec3
SH
34022019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
3403
3404 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
3405 and paste code.
3406
30b4d0d0
SH
34072019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
3408
3409 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
3410 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3411 write.
3412
5d0bc70a
TV
34132019-01-09 Tom de Vries <tdevries@suse.de>
3414
3415 PR target/88756
3416 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
3417 #define instead of "const int".
3418 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
3419 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
3420 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
3421 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
3422
2c372e81
TV
34232019-01-09 Tom de Vries <tdevries@suse.de>
3424
3425 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
3426 one worker.
3427
43493c97
TV
34282019-01-07 Tom de Vries <tdevries@suse.de>
3429
3430 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
3431 GOMP_OPENACC_DIM argument.
3432
5c571497
TV
34332019-01-03 Tom de Vries <tdevries@suse.de>
3434
3435 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
3436 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
3437
a5544970
JJ
34382019-01-01 Jakub Jelinek <jakub@redhat.com>
3439
3440 Update copyright years.
3441
3f27508c
JJ
34422019-01-01 Jakub Jelinek <jakub@redhat.com>
3443
3444 * libgomp.texi: Bump @copying's copyright year.
3445
59d5960c
TS
34462018-12-28 Thomas Schwinge <thomas@codesourcery.com>
3447
3448 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
3449 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
3450 (GOACC_declare): Redefine the "device" argument to "flags".
3451
a44c1790
TS
34522018-12-28 Thomas Schwinge <thomas@codesourcery.com>
3453 Cesar Philippidis <cesar@codesourcery.com>
3454
3455 * target.c (struct gomp_coalesce_chunk): New structure.
3456 (struct gomp_coalesce_buf): Update the chunks member to use that
3457 type. Adjust all users.
3458
a152954e
TV
34592018-12-19 Tom de Vries <tdevries@suse.de>
3460
3461 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
3462 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
3463 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
3464
49188cd1
TV
34652018-12-19 Tom de Vries <tdevries@suse.de>
3466
3467 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
3468 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
3469 gcc/testsuite/gcc.dg/goacc.
3470 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
3471
c759830b
TS
34722018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3473 Chung-Lin Tang <cltang@codesourcery.com>
3474
3475 * oacc-mem.c (acc_present_or_create): Remove definition and change
3476 to alias of acc_create.
3477 (acc_present_or_copyin): Remove definition and change to alias of
3478 acc_copyin.
3479 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
3480 of acc_present_or_create.
3481 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
3482 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3483 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3484 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3485 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3486 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3487 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3488 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3489 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3490 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3491 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3492 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3493 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3494 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3495 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3496 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3497
7de562ee
TS
34982018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3499
f847198e
TS
3500 PR libgomp/88495
3501 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3502 "identical parameters".
3503 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3504 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3505
c8ab8aab
TS
3506 PR libgomp/88484
3507 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3508 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3509
1404af62
TS
3510 PR libgomp/88407
3511 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3512 (nvptx_wait_async): Unseen async-argument is a no-op.
3513 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3514 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3515 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3516 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3517 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3518 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3519 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
3520 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3521 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
3522
7de562ee
TS
3523 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3524 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3525
17469af7
CLT
35262018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
3527
3528 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3529 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3530 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3531
18c247cc
TS
35322018-12-14 Thomas Schwinge <thomas@codesourcery.com>
3533
3534 PR libgomp/88370
3535 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3536 (acc_set_cuda_stream): Clarify.
3537 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3538 "async_valid_p".
3539 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3540 acc_async_sync".
3541 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3542 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3543 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3544 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3545
b0aba46c
TV
35462018-12-14 Tom de Vries <tdevries@suse.de>
3547
3548 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3549 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3550 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3551 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3552 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3553
fe0827ee
TV
35542018-12-13 Tom de Vries <tdevries@suse.de>
3555
3556 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3557 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3558 * fortran.c (omp_display_affinity_): ... here.
3559 * libgomp.h (gomp_print_string): Declare.
3560 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
3561 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3562 write.
3563
a51f8c92
JJ
35642018-12-13 Jakub Jelinek <jakub@redhat.com>
3565
3566 PR libgomp/88460
3567 * testsuite/libgomp.c++/for-24.C (results): Include it in
3568 omp declare target region.
3569 (main): Use map (always, tofrom: results) instead of
3570 map (tofrom: results).
3571
a6ef2ac9
JJ
35722018-12-12 Jakub Jelinek <jakub@redhat.com>
3573
7a289b7d
JJ
3574 PR fortran/88463
3575 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3576 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3577
a6ef2ac9
JJ
3578 * testsuite/libgomp.c-c++-common/for-16.c: New test.
3579
9c47a019
AS
35802018-12-12 Andreas Schwab <schwab@suse.de>
3581
3582 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3583 clobbered.
3584
d0cbb206
TK
35852018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
3586
3587 PR fortran/88411
3588 * testsuite/libgomp.fortran/async_io_8.f90: New test.
3589
84ca08d2
TS
35902018-12-09 Thomas Schwinge <thomas@codesourcery.com>
3591 Jakub Jelinek <jakub@redhat.com>
3592
3593 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3594 devicep->host2dev_func.
3595
6997628d
JJ
35962018-12-08 Jakub Jelinek <jakub@redhat.com>
3597
3598 PR libgomp/87995
3599 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3600 tls_runtime effective target.
3601 (t): New threadprivate variable.
3602 (main): Set t in threads which execute iterations of the worksharing
3603 loop. Propagate that to the task after the loop and don't abort
3604 if the current taskgroup hasn't been cancelled.
3605
daa8c1d7
JJ
36062018-12-02 Jakub Jelinek <jakub@redhat.com>
3607
4a82df9a
JJ
3608 * testsuite/libgomp.c/task-reduction-3.c: New test.
3609
daa8c1d7
JJ
3610 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3611
fe570ff8
CP
36122018-11-30 Cesar Philippidis <cesar@codesourcery.com>
3613
3614 PR libgomp/88288
3615 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3616 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3617
c223608f
TS
36182018-11-30 Thomas Schwinge <thomas@codesourcery.com>
3619
3620 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3621
fc60283c
RB
36222018-10-19 Richard Biener <rguenther@suse.de>
3623
3624 PR tree-optimization/88182
3625 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3626
ffcf3b79
JJ
36272018-11-26 Jakub Jelinek <jakub@redhat.com>
3628
3629 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3630 (RUNTEST): Don't define.
3631 (RUNTESTDEFAULTFLAGS): Add.
3632 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3633 (distclean-am): Depend on distclean-DEJAGNU.
3634 (check-am): If -j% option is present in MFLAGS and if
3635 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3636 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3637 * testsuite/Makefile.in: Regenerated.
3638
ef6e6914
RB
36392018-11-26 Richard Biener <rguenther@suse.de>
3640
3641 PR tree-optimization/88182
3642 * testsuite/libgomp.c++/pr88182.C: New testcase.
3643
72d3bb76
JJ
36442018-11-20 Jakub Jelinek <jakub@redhat.com>
3645
3646 PR bootstrap/88106
3647 * config/mingw32/affinity-fmt.c: New file.
3648
207286c3
JJ
36492018-11-09 Jakub Jelinek <jakub@redhat.com>
3650
9666c522
JJ
3651 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3652 (gomp_display_affinity): Use __builtin_choose_expr to handle
3653 properly handle argument having integral, or pointer or some other
3654 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
3655 with uint64_t type instead of %llx and unsigned long long.
3656
207286c3
JJ
3657 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3658 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3659
2033f45b
RO
36602018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3661
3662 * affinity.c: Include <string.h>, <stdio.h>.
3663 (gomp_display_affinity_place): Remove cpusetp.
3664 * teams.c: Include <limits.h>.
3665
28567c40
JJ
36662018-11-08 Jakub Jelinek <jakub@redhat.com>
3667
8991d779
JJ
3668 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3669 in_reduction clause for s[0].
3670
28567c40
JJ
3671 * affinity.c (gomp_display_affinity_place): New function.
3672 * affinity-fmt.c: New file.
3673 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3674 * config/linux/affinity.c (gomp_display_affinity_place): New function.
3675 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3676 Move these functions to ...
3677 * config/nvptx/teams.c: ... here. New file.
3678 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3679 New functions.
3680 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3681 functions.
3682 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3683 and _aligned_malloc.
3684 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3685 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3686 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3687 gomp_affinity_format_len): New variables.
3688 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3689 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
3690 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3691 modifiers. Display (non-default) chunk sizes. Print
3692 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3693 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
3694 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3695 * fortran.c: Include stdio.h and string.h.
3696 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3697 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3698 (omp_set_affinity_format_, omp_get_affinity_format_,
3699 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3700 omp_pause_resource_all_): New functions.
3701 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3702 switch.
3703 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3704 functions to ...
3705 * teams.c: ... here. New file.
3706 * libgomp_g.h: Include gstdint.h.
3707 (GOMP_loop_nonmonotonic_runtime_start,
3708 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3709 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3710 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3711 GOMP_parallel_loop_nonmonotonic_runtime,
3712 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3713 GOMP_loop_ull_nonmonotonic_runtime_start,
3714 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3715 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3716 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3717 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3718 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3719 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3720 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3721 GOMP_teams_reg): Declare.
3722 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3723 gomp_aligned_alloc uses fallback implementation.
3724 (gomp_aligned_alloc, gomp_aligned_free): Declare.
3725 (enum gomp_schedule_type): Add GFS_MONOTONIC.
3726 (struct gomp_doacross_work_share): Add extra field.
3727 (struct gomp_work_share): Add task_reductions field.
3728 (struct gomp_taskgroup): Add workshare and reductions fields.
3729 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3730 (gomp_thread_handle): New typedef.
3731 (gomp_display_affinity_place, gomp_set_affinity_format,
3732 gomp_display_string, gomp_display_affinity,
3733 gomp_display_affinity_thread): Declare.
3734 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3735 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3736 gomp_workshare_task_reduction_register): Declare.
3737 (gomp_team_start): Add taskgroup argument.
3738 (gomp_pause_host): Declare.
3739 (gomp_init_work_share, gomp_work_share_start): Change bool argument
3740 to size_t.
3741 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3742 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3743 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3744 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3745 GOMP_loop_ull_doacross_start,
3746 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3747 GOMP_loop_maybe_nonmonotonic_runtime_next,
3748 GOMP_loop_maybe_nonmonotonic_runtime_start,
3749 GOMP_loop_nonmonotonic_runtime_next,
3750 GOMP_loop_nonmonotonic_runtime_start,
3751 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3752 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3753 GOMP_loop_ull_nonmonotonic_runtime_next,
3754 GOMP_loop_ull_nonmonotonic_runtime_start,
3755 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3756 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3757 GOMP_taskgroup_reduction_register,
3758 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3759 GOMP_teams_reg and GOMP_taskwait_depend.
3760 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3761 omp_{capture,display}_affinity{,_}, and
3762 omp_[gs]et_affinity_format{,_}.
3763 * loop.c: Include string.h.
3764 (GOMP_loop_runtime_next): Add ialias.
3765 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3766 (gomp_loop_static_start, gomp_loop_dynamic_start,
3767 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3768 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3769 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3770 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3771 or gomp_doacross_init callers.
3772 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3773 GOMP_loop_doacross_start): New functions.
3774 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3775 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3776 Mask off GFS_MONOTONIC bit.
3777 (GOMP_loop_maybe_nonmonotonic_runtime_next,
3778 GOMP_loop_maybe_nonmonotonic_runtime_start,
3779 GOMP_loop_nonmonotonic_runtime_next,
3780 GOMP_loop_nonmonotonic_runtime_start,
3781 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3782 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3783 functions.
3784 (gomp_parallel_loop_start): Pass NULL as taskgroup to
3785 gomp_team_start.
3786 * loop_ull.c: Include string.h.
3787 (GOMP_loop_ull_runtime_next): Add ialias.
3788 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3789 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3790 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3791 gomp_loop_ull_ordered_dynamic_start,
3792 gomp_loop_ull_ordered_guided_start,
3793 gomp_loop_ull_doacross_static_start,
3794 gomp_loop_ull_doacross_dynamic_start,
3795 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3796 and gomp_doacross_ull_init callers.
3797 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3798 GOMP_loop_ull_doacross_start): New functions.
3799 (GOMP_loop_ull_runtime_start,
3800 GOMP_loop_ull_ordered_runtime_start,
3801 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3802 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3803 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3804 GOMP_loop_ull_nonmonotonic_runtime_next,
3805 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3806 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3807 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3808 (omp_pause_resource_t, omp_depend_t): New typedefs.
3809 (enum omp_lock_hint_t): Renamed to ...
3810 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
3811 enumerators using numbers and omp_lock_hint_* as their aliases.
3812 (omp_lock_hint_t): New typedef. Rename to ...
3813 (omp_sync_hint_t): ... this.
3814 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3815 omp_sync_hint_t instead of omp_lock_hint_t.
3816 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3817 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3818 Declare.
3819 (omp_target_is_present, omp_target_disassociate_ptr):
3820 Change first argument from void * to const void *.
3821 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3822 from void * to const void *.
3823 (omp_target_associate_ptr): Change first and second arguments from
3824 void * to const void *.
3825 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3826 omp_pause_hard): New parameters.
3827 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3828 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3829 New interfaces.
3830 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3831 omp_pause_hard): New parameters.
3832 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3833 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3834 New externals.
3835 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3836 EXTRA argument. If not needed to prepare array, if extra is 0,
3837 clear ws->doacross, otherwise allocate just doacross structure and
3838 extra payload. If array is needed, allocate also extra payload.
3839 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3840 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3841 doacross == NULL.
3842 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3843 gomp_team_start.
3844 (GOMP_parallel): Likewise. Formatting fix.
3845 (GOMP_parallel_reductions): New function.
3846 (GOMP_cancellation_point): If taskgroup has workshare
3847 flag set, check cancelled of prev taskgroup if any.
3848 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3849 on prev taskgroup if any.
3850 * sections.c: Include string.h.
3851 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3852 (GOMP_sections_start): Adjust gomp_work_share_start caller.
3853 (GOMP_sections2_start): New function.
3854 (GOMP_parallel_sections_start, GOMP_parallel_sections):
3855 Pass NULL as taskgroup to gomp_team_start.
3856 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3857 gomp_work_share_start callers.
3858 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3859 If taskgroup has workshare flag set, check cancelled on prev
3860 taskgroup if any. Guard all cancellation tests with
3861 gomp_cancel_var test.
3862 (omp_target_is_present, omp_target_disassociate_ptr):
3863 Change ptr argument from void * to const void *.
3864 (omp_target_memcpy): Change src argument from void * to const void *.
3865 (omp_target_memcpy_rect): Likewise.
3866 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
3867 instead of char * where needed.
3868 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3869 from void * to const void *.
3870 (omp_pause_resource, omp_pause_resource_all): New functions.
3871 * task.c (gomp_task_handle_depend): Handle new depend array format
3872 in addition to the old. Handle mutexinoutset kinds the same as
3873 inout for now, handle unspecified kinds.
3874 (gomp_create_target_task): If taskgroup has workshare flag set, check
3875 cancelled on prev taskgroup if any. Guard all cancellation tests with
3876 gomp_cancel_var test. Handle new depend array format count in
3877 addition to the old.
3878 (GOMP_task): Likewise. Adjust function comment.
3879 (gomp_task_run_pre): If taskgroup has workshare flag set, check
3880 cancelled on prev taskgroup if any. Guard all cancellation tests with
3881 gomp_cancel_var test.
3882 (GOMP_taskwait_depend): New function.
3883 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
3884 format in addition to the old. Handle mutexinoutset kinds the same as
3885 inout for now, handle unspecified kinds. Fix a function comment typo.
3886 (gomp_taskgroup_init): New function.
3887 (GOMP_taskgroup_start): Use it.
3888 (gomp_reduction_register, gomp_create_artificial_team,
3889 GOMP_taskgroup_reduction_register,
3890 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3891 gomp_parallel_reduction_register,
3892 gomp_workshare_task_reduction_register,
3893 gomp_workshare_taskgroup_start,
3894 GOMP_workshare_task_reduction_unregister): New functions.
3895 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
3896 check cancelled on prev taskgroup if any. Guard all cancellation
3897 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
3898 by calling GOMP_taskgroup_reduction_register.
3899 * team.c (gomp_thread_attr): Remove comment.
3900 (struct gomp_thread_start_data): Add handle field.
3901 (gomp_thread_start): Call pthread_detach.
3902 (gomp_new_team): Adjust gomp_init_work_share caller.
3903 (gomp_free_pool_helper): Call pthread_detach.
3904 (gomp_team_start): Add taskgroup argument, initialize implicit
3905 tasks' taskgroup field to that. Don't call
3906 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
3907 (gomp_team_end): Determine nesting by thr->ts.level != 0
3908 rather than thr->ts.team != NULL.
3909 (gomp_pause_pool_helper, gomp_pause_host): New functions.
3910 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
3911 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
3912 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
3913 if more than 1 allocate also extra payload at the end of array. Never
3914 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
3915 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
3916 return true instead of ws.
3917 * Makefile.in: Regenerated.
3918 * configure: Regenerated.
3919 * config.h.in: Regenerated.
3920 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
3921 in some cases.
3922 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
3923 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
3924 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
3925 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
3926 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
3927 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
3928 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
3929 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
3930 * testsuite/libgomp.c-c++-common/for-10.c: New test.
3931 * testsuite/libgomp.c-c++-common/for-11.c: New test.
3932 * testsuite/libgomp.c-c++-common/for-12.c: New test.
3933 * testsuite/libgomp.c-c++-common/for-13.c: New test.
3934 * testsuite/libgomp.c-c++-common/for-14.c: New test.
3935 * testsuite/libgomp.c-c++-common/for-15.c: New test.
3936 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
3937 define a different N(test), don't define N(f0) to N(f14), but instead
3938 define N(f20) to N(f34) using != comparisons.
3939 * testsuite/libgomp.c-c++-common/for-7.c: New test.
3940 * testsuite/libgomp.c-c++-common/for-8.c: New test.
3941 * testsuite/libgomp.c-c++-common/for-9.c: New test.
3942 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
3943 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
3944 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
3945 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
3946 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
3947 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
3948 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
3949 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
3950 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
3951 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
3952 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
3953 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
3954 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
3955 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
3956 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
3957 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
3958 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
3959 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
3960 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
3961 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
3962 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
3963 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
3964 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
3965 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
3966 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
3967 * testsuite/libgomp.c++/depend-1.C: New test.
3968 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
3969 * testsuite/libgomp.c++/depobj-1.C: New test.
3970 * testsuite/libgomp.c++/for-16.C: New test.
3971 * testsuite/libgomp.c++/for-21.C: New test.
3972 * testsuite/libgomp.c++/for-22.C: New test.
3973 * testsuite/libgomp.c++/for-23.C: New test.
3974 * testsuite/libgomp.c++/for-24.C: New test.
3975 * testsuite/libgomp.c++/for-25.C: New test.
3976 * testsuite/libgomp.c++/for-26.C: New test.
3977 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
3978 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
3979 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
3980 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
3981 * testsuite/libgomp.c++/task-reduction-10.C: New test.
3982 * testsuite/libgomp.c++/task-reduction-11.C: New test.
3983 * testsuite/libgomp.c++/task-reduction-12.C: New test.
3984 * testsuite/libgomp.c++/task-reduction-13.C: New test.
3985 * testsuite/libgomp.c++/task-reduction-14.C: New test.
3986 * testsuite/libgomp.c++/task-reduction-15.C: New test.
3987 * testsuite/libgomp.c++/task-reduction-16.C: New test.
3988 * testsuite/libgomp.c++/task-reduction-17.C: New test.
3989 * testsuite/libgomp.c++/task-reduction-18.C: New test.
3990 * testsuite/libgomp.c++/task-reduction-19.C: New test.
3991 * testsuite/libgomp.c/task-reduction-1.c: New test.
3992 * testsuite/libgomp.c++/task-reduction-1.C: New test.
3993 * testsuite/libgomp.c/task-reduction-2.c: New test.
3994 * testsuite/libgomp.c++/task-reduction-2.C: New test.
3995 * testsuite/libgomp.c++/task-reduction-3.C: New test.
3996 * testsuite/libgomp.c++/task-reduction-4.C: New test.
3997 * testsuite/libgomp.c++/task-reduction-5.C: New test.
3998 * testsuite/libgomp.c++/task-reduction-6.C: New test.
3999 * testsuite/libgomp.c++/task-reduction-7.C: New test.
4000 * testsuite/libgomp.c++/task-reduction-8.C: New test.
4001 * testsuite/libgomp.c++/task-reduction-9.C: New test.
4002 * testsuite/libgomp.c/teams-1.c: New test.
4003 * testsuite/libgomp.c/teams-2.c: New test.
4004 * testsuite/libgomp.c/thread-limit-4.c: New test.
4005 * testsuite/libgomp.c/thread-limit-5.c: New test.
4006 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
4007
58168bbf
CLT
40082018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
4009
4010 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
4011 acc_memcpy_to/from_device functions, now with async parameter.
4012 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
4013 (acc_memcpy_from_device): Likewise.
4014 (acc_memcpy_to_device_async): New API function.
4015 (acc_memcpy_from_device_async): Likewise.
4016 (present_create_copy): Add async parameter and async setting/unsetting.
4017 (acc_create): Adjust present_create_copy call.
4018 (acc_copyin): Likewise.
4019 (acc_present_or_create): Likewise.
4020 (acc_present_or_copyin): Likewise.
4021 (acc_create_async): New API function.
4022 (acc_copyin_async): New API function.
4023 (delete_copyout): Add async parameter and async setting/unsetting.
4024 (acc_delete): Adjust delete_copyout call.
4025 (acc_copyout): Likewise.
4026 (acc_delete_async): New API function.
4027 (acc_copyout_async): Likewise.
4028 (update_dev_host): Add async parameter and async setting/unsetting.
4029 (acc_update_device): Adjust update_dev_host call.
4030 (acc_update_self): Likewise.
4031 (acc_update_device_async): New API function.
4032 (acc_update_self_async): Likewise.
4033 * openacc.h (acc_copyin_async): Declare new API function.
4034 (acc_create_async): Likewise.
4035 (acc_copyout_async): Likewise.
4036 (acc_delete_async): Likewise.
4037 (acc_update_device_async): Likewise.
4038 (acc_update_self_async): Likewise.
4039 (acc_memcpy_to_device_async): Likewise.
4040 (acc_memcpy_from_device_async): Likewise.
4041 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
4042 (acc_copyin_async_64_h): New subroutine.
4043 (acc_copyin_async_array_h): New subroutine.
4044 (acc_create_async_32_h): New subroutine.
4045 (acc_create_async_64_h): New subroutine.
4046 (acc_create_async_array_h): New subroutine.
4047 (acc_copyout_async_32_h): New subroutine.
4048 (acc_copyout_async_64_h): New subroutine.
4049 (acc_copyout_async_array_h): New subroutine.
4050 (acc_delete_async_32_h): New subroutine.
4051 (acc_delete_async_64_h): New subroutine.
4052 (acc_delete_async_array_h): New subroutine.
4053 (acc_update_device_async_32_h): New subroutine.
4054 (acc_update_device_async_64_h): New subroutine.
4055 (acc_update_device_async_array_h): New subroutine.
4056 (acc_update_self_async_32_h): New subroutine.
4057 (acc_update_self_async_64_h): New subroutine.
4058 (acc_update_self_async_array_h): New subroutine.
4059 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
4060 (acc_copyin_async_64_h): New subroutine.
4061 (acc_copyin_async_array_h): New subroutine.
4062 (acc_create_async_32_h): New subroutine.
4063 (acc_create_async_64_h): New subroutine.
4064 (acc_create_async_array_h): New subroutine.
4065 (acc_copyout_async_32_h): New subroutine.
4066 (acc_copyout_async_64_h): New subroutine.
4067 (acc_copyout_async_array_h): New subroutine.
4068 (acc_delete_async_32_h): New subroutine.
4069 (acc_delete_async_64_h): New subroutine.
4070 (acc_delete_async_array_h): New subroutine.
4071 (acc_update_device_async_32_h): New subroutine.
4072 (acc_update_device_async_64_h): New subroutine.
4073 (acc_update_device_async_array_h): New subroutine.
4074 (acc_update_self_async_32_h): New subroutine.
4075 (acc_update_self_async_64_h): New subroutine.
4076 (acc_update_self_async_array_h): New subroutine.
4077 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
4078 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
4079 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
4080 acc_memcpy_to_device_async*, acc_update_device_async*, and
4081 acc_update_self_async* entries.
4082 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
4083 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
4084 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
4085
22e05272
JM
40862018-10-31 Joseph Myers <joseph@codesourcery.com>
4087
4088 PR bootstrap/82856
4089 * Makefile.am: Include multilib.am
4090 (AUTOMAKE_OPTIONS): Add info-in-builddir.
4091 (CLEANFILES): Remove libgomp.info.
4092 * configure.ac: Remove AC_PREREQ.
4093 * testsuite/Makefile.am (RUNTEST): Remove quotes.
4094 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
4095 Regenerate.
4096
87a5ccfb
JM
40972018-10-29 Joseph Myers <joseph@codesourcery.com>
4098 Julian Brown <julian@codesourcery.com>
4099
4100 * testsuite/libgomp.oacc-c++/this.C: New.
4101
2049befd
CP
41022018-09-18 Cesar Philippidis <cesar@codesourcery.com>
4103
4104 * plugin/plugin-nvptx.c (struct cuda_map): New.
4105 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
4106 h_tail with (cuda_map *) map.
4107 (cuda_map_create): New function.
4108 (cuda_map_destroy): New function.
4109 (map_init): Update to use a linked list of cuda_map objects.
4110 (map_fini): Likewise.
4111 (map_pop): Likewise.
4112 (map_push): Likewise. Return CUdeviceptr instead of void.
4113 (init_streams_for_device): Remove stales references to ptx_stream
4114 members.
4115 (select_stream_for_async): Likewise.
4116 (nvptx_exec): Update call to map_init.
4117
8e36332c
CP
41182018-09-09 Cesar Philippidis <cesar@codesourcery.com>
4119 Julian Brown <julian@codesourcery.com>
4120
4121 PR middle-end/86336
4122 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
4123
2b4c9065
NK
41242018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
4125 Thomas Koenig <tkoenig@gcc.gnu.org>
4126
4127 PR fortran/25829
4128 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4129 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4130 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4131 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4132 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4133 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4134 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4135
bd9b3d3d
CP
41362018-08-13 Cesar Philippidis <cesar@codesourcery.com>
4137 Tom de Vries <tdevries@suse.de>
4138
4139 PR target/85590
4140 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
4141 (cuOccupancyMaxPotentialBlockSize): Declare.
4142 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
4143 CUDA_ONE_CALL_MAYBE_NULL.
4144 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
4145 CUoccupancyB2DSize and declare
4146 cuOccupancyMaxPotentialBlockSize.
4147 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
4148 default num_gangs and num_workers when the driver supports it.
4149
8e09a12f
TV
41502018-08-08 Tom de Vries <tdevries@suse.de>
4151
4152 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
4153 CUDA_ONE_CALL_MAYBE_NULL.
4154 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
4155 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
4156 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
4157 are not found.
4158
cedd9bd0
TV
41592018-08-08 Tom de Vries <tdevries@suse.de>
4160
4161 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
4162 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
4163 present.
4164
b113af95
TV
41652018-08-08 Tom de Vries <tdevries@suse.de>
4166
4167 * plugin/plugin-nvptx.c
4168 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
4169 (nvptx_open_device): Use
4170 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
4171
94767dac
TV
41722018-08-08 Tom de Vries <tdevries@suse.de>
4173
4174 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
4175 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
4176
02150de8
TV
41772018-08-07 Tom de Vries <tdevries@suse.de>
4178
4179 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
4180 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
4181 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
4182 corresponding call in CUDA_ONE_CALL. Add def/undef of
4183 CUDA_ONE_CALL_MAYBE_NULL.
4184 (CUDA_CALL_EXISTS): Define.
4185
9e28b107
TV
41862018-08-07 Tom de Vries <tdevries@suse.de>
4187
4188 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
4189 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
4190 corresponding undefs right after.
4191
09940090
TV
41922018-08-04 Tom de Vries <tdevries@suse.de>
4193
4194 * plugin/configfrag.ac: For --without-cuda-driver, set
4195 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
4196 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
4197 * configure: Regenerate.
4198
77e0a97a
TV
41992018-08-02 Tom de Vries <tdevries@suse.de>
4200
4201 PR target/86660
4202 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
4203 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
4204 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4205 Same.
4206 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
4207 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
4208 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
4209
701d080a
CP
42102018-08-01 Cesar Philippidis <cesar@codesourcery.com>
4211 Thomas Schwinge <thomas@codesourcery.com>
4212
4213 * config/nvptx/oacc-parallel.c: Truncate.
4214
094db6be
CP
42152018-08-01 Cesar Philippidis <cesar@codesourcery.com>
4216 James Norris <jnorris@codesourcery.com>
4217
4218 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
4219 (map_init, map_pop): Remove use of struct map.
4220 (map_push): Likewise and change argument list.
094db6be
CP
4221 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
4222
8c6310a2
TV
42232018-08-01 Tom de Vries <tdevries@suse.de>
4224
4225 * plugin/cuda-lib.def: New file. Factor out of ...
4226 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
4227 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
4228 using CUDA_CALLS.
4229
1d4a51cf
AV
42302018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
4231
4232 Revert 'AsyncI/O patch committed'.
4233 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
4234 Thomas Koenig <tkoenig@gcc.gnu.org>
4235
4236 PR fortran/25829
4237 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4238 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4239 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4240 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4241 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4242 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4243 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4244
4cdfee3f
TV
42452018-07-30 Tom de Vries <tdevries@suse.de>
4246
4247 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
4248 (nvptx_exec): Ensure worker and vector default dims don't exceed
4249 targ_fn->max_threads_per_block.
4250
0b210c43
TV
42512018-07-30 Tom de Vries <tdevries@suse.de>
4252
4253 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
4254 (nvptx_open_device): Init default_dims for device.
4255 (nvptx_exec): Use default_dims from device.
4256
5883c5cc
JJ
42572018-07-26 Jakub Jelinek <jakub@redhat.com>
4258
5d36384c
JJ
4259 PR testsuite/86660
4260 * testsuite/libgomp.c++/for-15.C (results): Include it in
4261 omp declare target region.
4262 (main): Use map (always, tofrom: results) instead of
4263 map (tofrom: results).
4264
5883c5cc
JJ
4265 PR middle-end/86660
4266 * testsuite/libgomp.c/pr86660.c: New test.
4267
88a4654d
CP
42682018-07-26 Cesar Philippidis <cesar@codesourcery.com>
4269 Tom de Vries <tdevries@suse.de>
4270
4271 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
4272 sufficient resources to launch a kernel, and give a hint on how to fix
4273 it.
4274
0c6c2f5f
CP
42752018-07-26 Cesar Philippidis <cesar@codesourcery.com>
4276 Tom de Vries <tdevries@suse.de>
4277
4278 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
4279 max_threads_per_block and max_threads_per_multiprocessor fields.
4280 (nvptx_open_device): Initialize new fields.
4281 (nvptx_exec): Use num_sms, and new fields.
4282
6dd58010
TV
42832018-07-26 Tom de Vries <tdevries@suse.de>
4284
4285 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
4286 to correct locations. Remove xfail.
4287
b2eb1779
TV
42882018-07-26 Tom de Vries <tdevries@suse.de>
4289
4290 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
4291 acc_wait. Move acc_async_test calls to correct locations. Remove
4292 xfail.
4293
b1f45884
NK
42942018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
4295 Thomas Koenig <tkoenig@gcc.gnu.org>
4296
4297 PR fortran/25829
4298 * testsuite/libgomp.fortran/async_io_1.f90: New test.
4299 * testsuite/libgomp.fortran/async_io_2.f90: New test.
4300 * testsuite/libgomp.fortran/async_io_3.f90: New test.
4301 * testsuite/libgomp.fortran/async_io_4.f90: New test.
4302 * testsuite/libgomp.fortran/async_io_5.f90: New test.
4303 * testsuite/libgomp.fortran/async_io_6.f90: New test.
4304 * testsuite/libgomp.fortran/async_io_7.f90: New test.
4305
3a106211
JJ
43062018-07-17 Jakub Jelinek <jakub@redhat.com>
4307
a3bccfa1
JJ
4308 PR middle-end/86542
4309 * testsuite/libgomp.c++/pr86542.C: New test.
4310
3a106211
JJ
4311 PR middle-end/86539
4312 * testsuite/libgomp.c++/pr86539.C: New test.
4313
2bae8b2f
JJ
43142018-07-11 Jakub Jelinek <jakub@redhat.com>
4315
4316 PR c++/86443
4317 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
4318 (results): Make sure the variable is not inside declare target region.
4319 (qux): Remove unused function.
4320
0b27c3ed
JJ
43212018-07-10 Jakub Jelinek <jakub@redhat.com>
4322
4323 PR c++/86443
4324 * testsuite/libgomp.c++/for-15.C: New test.
4325
f0391511
JJ
43262018-06-26 Jakub Jelinek <jakub@redhat.com>
4327
4328 PR c++/86291
4329 * testsuite/libgomp.c++/pr86291.C: New test.
4330
1a6d1d24
GP
43312018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
4332
4333 * libgomp.texi (Top): Move www.openmp.org to https.
4334 (Enabling OpenMP): Ditto.
4335 (omp_get_active_level): Ditto.
4336 (omp_get_ancestor_thread_num): Ditto.
4337 (omp_get_cancellation): Ditto.
4338 (omp_get_default_device): Ditto.
4339 (omp_get_dynamic): Ditto.
4340 (omp_get_level): Ditto.
4341 (omp_get_max_active_levels): Ditto.
4342 (omp_get_max_task_priority): Ditto.
4343 (omp_get_max_threads): Ditto.
4344 (omp_get_nested): Ditto.
4345 (omp_get_num_devices): Ditto.
4346 (omp_get_num_procs): Ditto.
4347 (omp_get_num_teams): Ditto.
4348 (omp_get_num_threads): Ditto.
4349 (omp_get_proc_bind): Ditto.
4350 (omp_get_schedule): Ditto.
4351 (omp_get_team_num): Ditto.
4352 (omp_get_team_size): Ditto.
4353 (omp_get_thread_limit): Ditto.
4354 (omp_get_thread_num): Ditto.
4355 (omp_in_parallel): Ditto.
4356 (omp_in_final): Ditto.
4357 (omp_is_initial_device): Ditto.
4358 (omp_set_default_device): Ditto.
4359 (omp_set_dynamic): Ditto.
4360 (omp_set_max_active_levels): Ditto.
4361 (omp_set_nested): Ditto.
4362 (omp_set_num_threads): Ditto.
4363 (omp_set_schedule): Ditto.
4364 (omp_init_lock): Ditto.
4365 (omp_set_lock): Ditto.
4366 (omp_test_lock): Ditto.
4367 (omp_unset_lock): Ditto.
4368 (omp_destroy_lock): Ditto.
4369 (omp_init_nest_lock): Ditto.
4370 (omp_set_nest_lock): Ditto.
4371 (omp_test_nest_lock): Ditto.
4372 (omp_unset_nest_lock): Ditto.
4373 (omp_destroy_nest_lock): Ditto.
4374 (omp_get_wtick): Ditto.
4375 (omp_get_wtime): Ditto.
4376 (OMP_CANCELLATION): Ditto.
4377 (OMP_DISPLAY_ENV): Ditto.
4378 (OMP_DEFAULT_DEVICE): Ditto.
4379 (OMP_DYNAMIC): Ditto.
4380 (OMP_MAX_ACTIVE_LEVELS): Ditto.
4381 (OMP_MAX_TASK_PRIORITY): Ditto.
4382 (OMP_NESTED): Ditto.
4383 (OMP_NUM_THREADS): Ditto.
4384 (OMP_PROC_BIND): Ditto.
4385 (OMP_PLACES): Ditto.
4386 (OMP_STACKSIZE): Ditto.
4387 (OMP_SCHEDULE): Ditto.
4388 (OMP_THREAD_LIMIT): Ditto.
4389 (OMP_WAIT_POLICY): Ditto.
4390
31dd69b7
CP
43912018-06-22 Cesar Philippidis <cesar@codesourcery.com>
4392 James Norris <jnorris@codesourcery.com>
4393 Julian Brown <julian@codesourcery.com>
4394 Thomas Schwinge <thomas@codesourcery.com>
4395 Tom de Vries <tom@codesourcery.com>
4396
4397 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
4398 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
4399 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
4400 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
4401 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4402 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4403 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
4404 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4405 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
4406 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
4407 Likewise.
4408 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4409 Likewise.
4410 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4411 Likewise.
4412 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
4413 Likewise.
4414 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
4415 Likewise.
4416 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4417 Likewise.
4418 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4419 Likewise.
4420 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4421 Likewise.
4422 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4423 Likewise.
4424 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4425 Likewise.
4426 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4427 Likewise.
4428 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4429 Likewise.
4430 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4431 Likewise.
4432 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4433 Likewise.
4434 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4435 Likewise.
4436 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4437 Likewise.
4438 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4439 Likewise.
4440 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4441 Likewise.
4442 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4443 Likewise.
4444 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4445 Likewise.
4446 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4447 Likewise.
4448 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4449 Likewise.
4450 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4451 Likewise.
4452 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4453 Likewise.
4454 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4455 Likewise.
4456 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4457 Likewise.
4458 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4459 Likewise.
4460 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
4461 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
4462 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
4463 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
4464 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
4465 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4466 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4467 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
4468 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4469 Likewise.
4470 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4471 Likewise.
4472 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
4473 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
4474 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
4475 Likewise.
4476 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
4477 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
4478 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4479 Likewise.
4480 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4481 Likewise.
4482 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4483 Likewise.
4484 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4485 Likewise.
4486 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4487 Likewise.
4488 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4489 Likewise.
4490 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4491 Likewise.
4492 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4493 Likewise.
4494 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4495 Likewise.
4496 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4497 Likewise.
4498 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4499 Likewise.
4500 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4501 Likewise.
4502 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4503 Likewise.
4504 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4505 Likewise.
4506 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4507 Likewise.
4508 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4509 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4510 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4511 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4512 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4513 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4514 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4515
829c6349
CLT
45162018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
4517 Thomas Schwinge <thomas@codesourcery.com>
4518 Cesar Philippidis <cesar@codesourcery.com>
4519
4520 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4521 (gomp_acc_remove_pointer): Update declaration.
4522 (gomp_acc_declare_allocate): Declare.
4523 (gomp_remove_var): Declare.
4524 * libgomp.map (OACC_2.5): Define.
4525 * oacc-mem.c (acc_map_data): Update refcount.
4526 (acc_unmap_data): Likewise.
4527 (present_create_copy): Likewise.
4528 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4529 (acc_copyin): Likewise.
4530 (FLAG_FINALIZE): Define.
4531 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4532 (acc_delete_finalize): New function.
4533 (acc_delete_finalize_async): New function.
4534 (acc_copyout_finalize): New function.
4535 (acc_copyout_finalize_async): New function.
4536 (gomp_acc_insert_pointer): Update refcounts.
4537 (gomp_acc_remove_pointer): Return if data is not present on the
4538 accelerator.
4539 * oacc-parallel.c (find_pset): Rename to find_pointer.
4540 (find_pointer): Add support for GOMP_MAP_POINTER.
4541 (handle_ftn_pointers): New function.
4542 (GOACC_parallel_keyed): Update refcounts of variables.
4543 (GOACC_enter_exit_data): Add support for finalized data mappings.
4544 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4545 of fortran arrays.
4546 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4547 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4548 for GOMP_MAP_FORCE_FROM.
4549 * openacc.f90 (module openacc_internal): Add
4550 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4551 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4552 acc_copyout_finalize and acc_delete_finalize.
4553 (acc_copyout_finalize_32_h): New subroutine.
4554 (acc_copyout_finalize_64_h): New subroutine.
4555 (acc_copyout_finalize_array_h): New subroutine.
4556 (acc_delete_finalize_32_h): New subroutine.
4557 (acc_delete_finalize_64_h): New subroutine.
4558 (acc_delete_finalize_array_h): New subroutine.
4559 * openacc.h (acc_copyout_finalize): Declare.
4560 (acc_copyout_finalize_async): Declare.
4561 (acc_delete_finalize): Declare.
4562 (acc_delete_finalize_async): Declare.
4563 * openacc_lib.h (acc_copyout_finalize): New interface.
4564 (acc_delete_finalize): New interface.
4565 * target.c (gomp_map_vars): Update dynamic_refcount.
4566 (gomp_remove_var): New function.
4567 (gomp_unmap_vars): Use it.
4568 (gomp_unload_image_from_device): Likewise.
4569 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4570 case to utilize OpenACC 2.5 data clause semantics.
4571 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4572 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4573 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4574 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4575 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4576 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4577 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4578 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4579 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4580 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4581 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4582 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4583 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4584 utilize OpenACC 2.5 data clause semantics.
4585 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4586 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4587 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4588 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4589 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4590 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4591 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4592 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4593 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4594
4358400b
JW
45952018-05-21 Janus Weil <janus@gcc.gnu.org>
4596
4597 PR fortran/85841
4598 PR testsuite/85865
4599 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4600 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4601 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4602 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4603 * testsuite/libgomp.fortran/task2.f90: Ditto.
4604 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4605 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4606 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4607 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4608 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4609 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4610 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4611 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4612 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4613
950ad0ba
CP
46142018-05-18 Cesar Philippidis <cesar@codesourcery.com>
4615
4616 PR c++/85782
4617 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4618
f5ad16f1
TV
46192018-05-09 Tom de Vries <tom@codesourcery.com>
4620
4621 PR libgomp/82901
4622 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4623 to GOACC_enter_exit_data.
4624
edbd038a
TV
46252018-05-09 Tom de Vries <tom@codesourcery.com>
4626
4627 PR libgomp/83792
4628 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4629 (async_synchronous_p): New function.
4630 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4631 async_valid_p.
4632 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4633 async_valid_stream_id_p.
4634 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4635 * oacc-parallel.c (GOACC_parallel_keyed): Same.
4636
37d6c719
TV
46372018-05-07 Tom de Vries <tom@codesourcery.com>
4638
4639 PR testsuite/85677
4640 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4641 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4642
63f12215
TV
46432018-05-03 Tom de Vries <tom@codesourcery.com>
4644
4645 PR testsuite/85106
4646 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4647 extra_tool_flags if it contains an -foffload=-fdump-* flag.
4648 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4649 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4650
ec00d3fa
TV
46512018-05-02 Tom de Vries <tom@codesourcery.com>
4652
4653 PR libgomp/85411
4654 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4655 GOMP_OPENACC_DIM ...
4656 * env.c (parse_gomp_openacc_dim): ... here. New function.
4657 (initialize_env): Call parse_gomp_openacc_dim.
4658 (goacc_default_dims): Define.
4659 * libgomp.h (goacc_default_dims): Declare.
4660 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4661 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4662 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4663 GOMP_PLUGIN_acc_default_dim.
4664 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4665 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4666
92243e7c
TV
46672018-05-02 Tom de Vries <tom@codesourcery.com>
4668
4669 PR testsuite/83791
4670 * testsuite/libgomp.c++/udr-9.C: Update.
4671 * testsuite/libgomp.c++/atomic-16.C: Remove.
4672 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4673 * testsuite/libgomp.c++/loop-13.C: Remove.
4674 * testsuite/libgomp.c++/loop-14.C: Remove.
4675 * testsuite/libgomp.c++/loop-15.C: Remove.
4676 * testsuite/libgomp.c++/monotonic-1.C: Remove.
4677 * testsuite/libgomp.c++/monotonic-2.C: Remove.
4678 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4679 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4680 * testsuite/libgomp.c++/ordered-1.C: Remove.
4681 * testsuite/libgomp.c++/pr45784.C: Remove.
4682 * testsuite/libgomp.c++/pr64824.C: Remove.
4683 * testsuite/libgomp.c++/pr64868.C: Remove.
4684 * testsuite/libgomp.c++/pr66199-1.C: Remove.
4685 * testsuite/libgomp.c++/pr66199-2.C: Remove.
4686 * testsuite/libgomp.c++/pr66199-3.C: Remove.
4687 * testsuite/libgomp.c++/pr66199-4.C: Remove.
4688 * testsuite/libgomp.c++/pr66199-5.C: Remove.
4689 * testsuite/libgomp.c++/pr66199-6.C: Remove.
4690 * testsuite/libgomp.c++/pr66199-7.C: Remove.
4691 * testsuite/libgomp.c++/pr66199-8.C: Remove.
4692 * testsuite/libgomp.c++/pr66199-9.C: Remove.
4693 * testsuite/libgomp.c++/pr69389.C: Remove.
4694 * testsuite/libgomp.c++/simd10.C: Remove.
4695 * testsuite/libgomp.c++/simd11.C: Remove.
4696 * testsuite/libgomp.c++/simd12.C: Remove.
4697 * testsuite/libgomp.c++/simd13.C: Remove.
4698 * testsuite/libgomp.c++/target-1.C: Remove.
4699 * testsuite/libgomp.c++/target-3.C: Remove.
4700 * testsuite/libgomp.c++/target-4.C: Remove.
4701 * testsuite/libgomp.c++/target-5.C: Remove.
4702 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4703 * testsuite/libgomp.c++/taskloop-1.C: Remove.
4704 * testsuite/libgomp.c++/taskloop-2.C: Remove.
4705 * testsuite/libgomp.c++/taskloop-3.C: Remove.
4706 * testsuite/libgomp.c++/taskloop-4.C: Remove.
4707 * testsuite/libgomp.c++/udr-9.C: Remove.
4708 * testsuite/libgomp.c++/for-10.C: Remove.
4709 * testsuite/libgomp.c++/for-11.C: Remove.
4710 * testsuite/libgomp.c++/for-12.C: Remove.
4711 * testsuite/libgomp.c++/for-13.C: Remove.
4712 * testsuite/libgomp.c++/for-14.C: Remove.
4713 * testsuite/libgomp.c++/for-9.C: Remove.
4714 * testsuite/libgomp.c/atomic-18.c: Move ...
4715 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4716 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4717 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4718 * testsuite/libgomp.c/loop-13.c: Move ...
4719 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4720 * testsuite/libgomp.c/loop-14.c: Move ...
4721 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4722 * testsuite/libgomp.c/loop-15.c: Remove.
4723 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4724 * testsuite/libgomp.c/monotonic-1.c: Move ...
4725 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4726 * testsuite/libgomp.c/monotonic-2.c: Move ...
4727 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4728 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4729 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4730 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4731 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4732 * testsuite/libgomp.c/ordered-4.c: Move ...
4733 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4734 * testsuite/libgomp.c/pr45784.c: Move ...
4735 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4736 * testsuite/libgomp.c/pr64824.c: Move ...
4737 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4738 * testsuite/libgomp.c/pr64868.c: Move ...
4739 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4740 * testsuite/libgomp.c/pr66199-1.c: Move ...
4741 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4742 * testsuite/libgomp.c/pr66199-2.c: Move ...
4743 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4744 * testsuite/libgomp.c/pr66199-3.c: Move ...
4745 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4746 * testsuite/libgomp.c/pr66199-4.c: Move ...
4747 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4748 * testsuite/libgomp.c/pr66199-5.c: Move ...
4749 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4750 * testsuite/libgomp.c/pr66199-6.c: Move ...
4751 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4752 * testsuite/libgomp.c/pr66199-7.c: Move ...
4753 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4754 * testsuite/libgomp.c/pr66199-8.c: Move ...
4755 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4756 * testsuite/libgomp.c/pr66199-9.c: Move ...
4757 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4758 * testsuite/libgomp.c/pr69389.c: Move ...
4759 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4760 * testsuite/libgomp.c/simd-14.c: Move ...
4761 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4762 * testsuite/libgomp.c/simd-15.c: Move ...
4763 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4764 * testsuite/libgomp.c/simd-16.c: Move ...
4765 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4766 * testsuite/libgomp.c/simd-17.c: Move ...
4767 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4768 * testsuite/libgomp.c/target-1.c: Move ...
4769 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4770 * testsuite/libgomp.c/target-10.c: Move ...
4771 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4772 * testsuite/libgomp.c/target-13.c: Move ...
4773 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4774 * testsuite/libgomp.c/target-2.c: Move ...
4775 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4776 * testsuite/libgomp.c/taskgroup-1.c: Move ...
4777 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4778 * testsuite/libgomp.c/taskloop-1.c: Move ...
4779 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4780 * testsuite/libgomp.c/taskloop-2.c: Move ...
4781 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4782 * testsuite/libgomp.c/taskloop-3.c: Move ...
4783 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4784 * testsuite/libgomp.c/taskloop-4.c: Move ...
4785 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4786 * testsuite/libgomp.c/udr-1.c: Move ...
4787 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4788 * testsuite/libgomp.c/for-1.c: Move ...
4789 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4790 * testsuite/libgomp.c/for-1.h: Move ...
4791 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4792 * testsuite/libgomp.c/for-2.c: Move ...
4793 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4794 * testsuite/libgomp.c/for-2.h: Move ...
4795 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4796 * testsuite/libgomp.c/for-3.c: Move ...
4797 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4798 * testsuite/libgomp.c/for-4.c: Move ...
4799 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4800 * testsuite/libgomp.c/for-5.c: Move ...
4801 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4802 * testsuite/libgomp.c/for-6.c: Move ...
4803 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4804
1f62d637
TV
48052018-05-02 Tom de Vries <tom@codesourcery.com>
4806
4807 PR libgomp/82428
4808 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4809 __builtin_goacc_parlevel_{id,size}.
4810 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4811 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4812 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4813 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4814 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4815 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4816 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4817 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4818 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4819 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4820 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4821 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4822 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4823 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4824 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4825 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4826 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4827 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4828 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4829 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4830 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4831 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4832 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4833
9220b511
TV
48342018-05-02 Tom de Vries <tom@codesourcery.com>
4835
4836 PR testsuite/85106
4837 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4838
6c3c13c1
TV
48392018-05-02 Tom de Vries <tom@codesourcery.com>
4840
4841 PR testsuite/85106
4842 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4843
8d70b61e
JB
48442018-04-29 Julian Brown <julian@codesourcery.com>
4845 Tom de Vries <tom@codesourcery.com>
4846
4847 PR testsuite/85527
4848 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4849 arbitrary order for iterations of atomic subtract check.
4850
4a57a4b6
TV
48512018-04-28 Tom de Vries <tom@codesourcery.com>
4852
4853 PR testsuite/85527
4854 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4855 atomic capture results obtained in parallel loop to an array, instead of
4856 to a scalar.
4857
df36a3d3
TV
48582018-04-26 Tom de Vries <tom@codesourcery.com>
4859
4860 PR libgomp/84020
4861 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4862 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4863 (process_GOMP_NVPTX_JIT): New function.
4864 (link_ptx): Use process_GOMP_NVPTX_JIT.
4865
d160ae78
RB
48662018-04-26 Richard Biener <rguenther@suse.de>
4867 Tom de Vries <tom@codesourcery.com>
4868
4869 PR lto/85422
4870 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4871
ca9dc642
TV
48722018-04-26 Tom de Vries <tom@codesourcery.com>
4873
4874 PR target/85519
4875 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4876 recursion depth from 25 to 23.
4877 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4878
7b47ecf2
L
48792018-04-24 H.J. Lu <hongjiu.lu@intel.com>
4880
4881 * configure: Regenerated.
4882
e91eba31
NS
48832018-04-20 Nathan Sidwell <nathan@codesourcery.com>
4884 Tom de Vries <tom@codesourcery.com>
4885
4886 PR target/85445
4887 * testsuite/libgomp.oacc-c++/ref-1.C: New.
4888
6e0d40b6
TS
48892018-04-19 Thomas Schwinge <thomas@codesourcery.com>
4890
4891 PR libgomp/85463
4892 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
4893 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4894 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4895 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4896 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4897 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4898
4899 PR libfortran/85166
4900 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
4901 abort".
4902 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4903
a0e1df88
JJ
49042018-04-19 Jakub Jelinek <jakub@redhat.com>
4905
4906 * configure: Regenerated.
4907
001ddaa8
DM
49082018-04-18 David Malcolm <dmalcolm@redhat.com>
4909
4910 PR jit/85384
4911 * configure: Regenerate.
4912
05e0af43
CP
49132018-04-16 Cesar Philippidis <cesar@codesourcery.com>
4914 Tom de Vries <tom@codesourcery.com>
4915
4916 PR middle-end/84955
4917 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4918 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4919
bc436e10
TK
49202018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
4921
4922 PR fortran/83064
4923 PR testsuite/85346
4924 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
4925 test from gfortran.dg to here.
4926
ffb164c7
JJ
49272018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4928
4929 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
4930 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
4931
49322018-04-12 Cesar Philippidis <cesar@codesourcery.com>
4933
4934 PR middle-end/84955
4935 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
4936 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
4937
2ba16fd2
TV
49382018-04-05 Tom de Vries <tom@codesourcery.com>
4939
4940 PR target/85204
4941 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
4942
46dbeb40
TV
49432018-03-26 Tom de Vries <tom@codesourcery.com>
4944
4945 PR tree-optimization/85063
4946 * testsuite/libgomp.c/switch-conversion-2.c: New test.
4947 * testsuite/libgomp.c/switch-conversion.c: New test.
4948 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
4949 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
4950
bfc24e32
TK
49512018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
4952
4953 PR fortran/84381
4954 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
4955 call abort by STOP n.
4956 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
4957 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
4958 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
4959 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
4960 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
4961 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
4962 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
4963 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
4964 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
4965 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
4966 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
4967 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
4968 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
4969 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
4970 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
4971 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
4972 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
4973 * testsuite/libgomp.fortran/associate1.f90: Likewise.
4974 * testsuite/libgomp.fortran/associate2.f90: Likewise.
4975 * testsuite/libgomp.fortran/associate3.f90: Likewise.
4976 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
4977 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
4978 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
4979 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
4980 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
4981 * testsuite/libgomp.fortran/character1.f90: Likewise.
4982 * testsuite/libgomp.fortran/character2.f90: Likewise.
4983 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
4984 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
4985 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
4986 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
4987 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
4988 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
4989 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
4990 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
4991 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
4992 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
4993 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
4994 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
4995 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
4996 * testsuite/libgomp.fortran/do1.f90: Likewise.
4997 * testsuite/libgomp.fortran/do2.f90: Likewise.
4998 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
4999 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
5000 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
5001 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
5002 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
5003 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
5004 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5005 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
5006 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
5007 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
5008 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
5009 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
5010 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5011 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
5012 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
5013 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
5014 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
5015 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
5016 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
5017 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
5018 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
5019 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
5020 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
5021 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
5022 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
5023 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
5024 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
5025 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5026 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
5027 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
5028 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
5029 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
5030 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
5031 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5032 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5033 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
5034 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
5035 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
5036 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
5037 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
5038 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
5039 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
5040 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
5041 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
5042 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5043 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
5044 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
5045 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
5046 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
5047 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5048 * testsuite/libgomp.fortran/lib2.f: Likewise.
5049 * testsuite/libgomp.fortran/lib3.f: Likewise.
5050 * testsuite/libgomp.fortran/lib4.f90: Likewise.
5051 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
5052 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
5053 * testsuite/libgomp.fortran/nested1.f90: Likewise.
5054 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
5055 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
5056 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
5057 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
5058 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
5059 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
5060 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
5061 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
5062 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
5063 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
5064 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
5065 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
5066 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
5067 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
5068 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
5069 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
5070 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
5071 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
5072 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
5073 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5074 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
5075 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
5076 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
5077 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
5078 * testsuite/libgomp.fortran/pr25162.f: Likewise.
5079 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
5080 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
5081 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
5082 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
5083 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
5084 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
5085 * testsuite/libgomp.fortran/pr28390.f: Likewise.
5086 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
5087 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
5088 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
5089 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
5090 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
5091 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
5092 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
5093 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
5094 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
5095 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
5096 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
5097 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
5098 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
5099 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
5100 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
5101 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
5102 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
5103 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
5104 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
5105 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
5106 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
5107 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
5108 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
5109 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
5110 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
5111 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
5112 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
5113 * testsuite/libgomp.fortran/reference1.f90: Likewise.
5114 * testsuite/libgomp.fortran/reference2.f90: Likewise.
5115 * testsuite/libgomp.fortran/retval1.f90: Likewise.
5116 * testsuite/libgomp.fortran/retval2.f90: Likewise.
5117 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
5118 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
5119 * testsuite/libgomp.fortran/simd1.f90: Likewise.
5120 * testsuite/libgomp.fortran/simd2.f90: Likewise.
5121 * testsuite/libgomp.fortran/simd3.f90: Likewise.
5122 * testsuite/libgomp.fortran/simd4.f90: Likewise.
5123 * testsuite/libgomp.fortran/simd5.f90: Likewise.
5124 * testsuite/libgomp.fortran/simd6.f90: Likewise.
5125 * testsuite/libgomp.fortran/simd7.f90: Likewise.
5126 * testsuite/libgomp.fortran/stack.f90: Likewise.
5127 * testsuite/libgomp.fortran/strassen.f90: Likewise.
5128 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
5129 * testsuite/libgomp.fortran/tabs2.f: Likewise.
5130 * testsuite/libgomp.fortran/target1.f90: Likewise.
5131 * testsuite/libgomp.fortran/target2.f90: Likewise.
5132 * testsuite/libgomp.fortran/target3.f90: Likewise.
5133 * testsuite/libgomp.fortran/target4.f90: Likewise.
5134 * testsuite/libgomp.fortran/target5.f90: Likewise.
5135 * testsuite/libgomp.fortran/target6.f90: Likewise.
5136 * testsuite/libgomp.fortran/target7.f90: Likewise.
5137 * testsuite/libgomp.fortran/target8.f90: Likewise.
5138 * testsuite/libgomp.fortran/task1.f90: Likewise.
5139 * testsuite/libgomp.fortran/task2.f90: Likewise.
5140 * testsuite/libgomp.fortran/task3.f90: Likewise.
5141 * testsuite/libgomp.fortran/task4.f90: Likewise.
5142 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
5143 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
5144 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
5145 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
5146 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
5147 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
5148 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
5149 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
5150 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
5151 * testsuite/libgomp.fortran/udr1.f90: Likewise.
5152 * testsuite/libgomp.fortran/udr10.f90: Likewise.
5153 * testsuite/libgomp.fortran/udr11.f90: Likewise.
5154 * testsuite/libgomp.fortran/udr12.f90: Likewise.
5155 * testsuite/libgomp.fortran/udr13.f90: Likewise.
5156 * testsuite/libgomp.fortran/udr14.f90: Likewise.
5157 * testsuite/libgomp.fortran/udr15.f90: Likewise.
5158 * testsuite/libgomp.fortran/udr2.f90: Likewise.
5159 * testsuite/libgomp.fortran/udr3.f90: Likewise.
5160 * testsuite/libgomp.fortran/udr4.f90: Likewise.
5161 * testsuite/libgomp.fortran/udr5.f90: Likewise.
5162 * testsuite/libgomp.fortran/udr6.f90: Likewise.
5163 * testsuite/libgomp.fortran/udr7.f90: Likewise.
5164 * testsuite/libgomp.fortran/udr8.f90: Likewise.
5165 * testsuite/libgomp.fortran/udr9.f90: Likewise.
5166 * testsuite/libgomp.fortran/vla1.f90: Likewise.
5167 * testsuite/libgomp.fortran/vla2.f90: Likewise.
5168 * testsuite/libgomp.fortran/vla3.f90: Likewise.
5169 * testsuite/libgomp.fortran/vla4.f90: Likewise.
5170 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5171 * testsuite/libgomp.fortran/vla6.f90: Likewise.
5172 * testsuite/libgomp.fortran/vla7.f90: Likewise.
5173 * testsuite/libgomp.fortran/vla8.f90: Likewise.
5174 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
5175 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
5176 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5177 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5178 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5179 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5180 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5181 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5182 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5183 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5184 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5185 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
5186 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5187 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
5188 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5189 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
5190 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5191 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
5192 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
5193 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
5194 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
5195 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
5196 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
5197 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
5198 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
5199 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5200 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5201 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
5202 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5203 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
5204 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5205 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5206 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5207 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5208 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5209 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5210 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5211 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5212 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
5213 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5214 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
5215 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5216 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
5217 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
5218 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
5219 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
5220 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5221 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5222 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
5223 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5224 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
5225 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
5226 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
5227 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5228 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
5229 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5230 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
5231 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5232 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5233 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
5234 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5235 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5236 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5237 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5238 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
5239 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5240 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5241 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5242 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5243 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
5244 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
5245 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
5246 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
5247 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5248 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5249 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
5250 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5251 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5252 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5253 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5254 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5255 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5256 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5257 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
5258 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
5259 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
5260 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
5261 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
5262 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
5263 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5264 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
5265 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
5266 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
5267 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
5268
79cf14ae
RB
52692018-03-20 Richard Biener <rguenther@suse.de>
5270
5271 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
5272 parallelizable loop.
5273
14e335ed
IT
52742018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
5275
5276 PR target/84148
5277 * configure: Regenerate.
5278
83d9be55
JJ
52792018-02-16 Jakub Jelinek <jakub@redhat.com>
5280
5281 PR fortran/84418
5282 * libgomp.fortran/pr84418-1.f90: New test.
5283 * libgomp.fortran/pr84418-2.f90: New test.
5284
d1fe6124
JJ
52852018-02-14 Jakub Jelinek <jakub@redhat.com>
5286
5287 PR fortran/84313
5288 * testsuite/libgomp.fortran/threadprivate4.f90: Add
5289 -std=f2003 -fall-intrinsics into dg-additional-options.
5290
3d224921
MJ
52912018-02-08 Martin Jambor <mjambor@suse.cz>
5292
5293 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
5294 clonable.
5295
c7c30edd
MJ
52962018-02-08 Martin Jambor <mjambor@suse.cz>
5297
5298 * testsuite/libgomp.hsa.c/staticvar.c: New test.
5299
f320fdfd
RO
53002018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5301
5302 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
5303 [__cplusplus]: Declare extern "C".
5304
c31bc4ac
TV
53052018-02-07 Tom de Vries <tom@codesourcery.com>
5306
5307 PR libgomp/84217
5308 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
5309
99ae7ce5
CS
53102018-01-29 Christoph Spiel <cspiel@freenet.de>
5311 Jakub Jelinek <jakub@redhat.com>
5312
5313 PR libgomp/84096
5314 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
5315 instead of omp_lock_t.
5316
e77a1236
TV
53172018-01-25 Tom de Vries <tom@codesourcery.com>
5318
5319 PR target/84028
5320 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
5321
3dede32b
TV
53222018-01-24 Tom de Vries <tom@codesourcery.com>
5323
5324 PR target/83589
5325 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
5326
be606483
TV
53272018-01-24 Tom de Vries <tom@codesourcery.com>
5328
5329 PR target/81352
5330 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
5331
8c8e9a6b
TV
53322018-01-19 Tom de Vries <tom@codesourcery.com>
5333 Cesar Philippidis <cesar@codesourcery.com>
5334
5335 PR target/83920
5336 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
5337 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
5338
65e6aea3
JJ
53392018-01-03 Jakub Jelinek <jakub@redhat.com>
5340
85ec4feb
JJ
5341 Update copyright years.
5342
65e6aea3
JJ
5343 * libgomp.texi: Bump @copying's copyright year.
5344
60bf575c
TV
53452017-12-30 Tom de Vries <tom@codesourcery.com>
5346
5347 PR libgomp/83046
5348 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
5349 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
5350
7ec16b79
TV
53512017-12-27 Tom de Vries <tom@codesourcery.com>
5352
5353 PR c++/83046
5354 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
5355 (test_nonstatic): Fix return type to workaround PR83046.
5356
ac550b9a
JJ
53572017-12-05 Jakub Jelinek <jakub@redhat.com>
5358
5359 PR testsuite/83281
5360 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
5361 j suffix instead of i.
5362 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
5363 Likewise.
5364
ebdc83f0
CP
53652017-12-01 Cesar Philippidis <cesar@codesourcery.com>
5366
5367 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
5368 call to acc_wait (1).
5369
3b3e6283
JJ
53702017-11-24 Jakub Jelinek <jakub@redhat.com>
5371
5372 PR fortran/81304
5373 * testsuite/libgomp.fortran/pr81304.f90: New test.
5374
3b575376
JJ
53752017-11-23 Jakub Jelinek <jakub@redhat.com>
5376
5377 PR fortran/81841
5378 * libgomp.fortran/pr81841.f90: New test.
5379
b13547d8
JJ
53802017-11-22 Jakub Jelinek <jakub@redhat.com>
5381
5382 PR libgomp/83106
5383 * target.c (gomp_target_init): Compute lengths just once and
5384 use them in both malloc size and subsequent copying.
5385
efe33ced
IT
53862017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
5387
5388 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
5389 * acinclude.m4: Add cet.m4.
5390 * configure: Regenerate.
5391 * Makefile.in: Likewise.
5392 * testsuite/Makefile.in: Likewise.
5393
a7cf2612
TV
53942017-11-15 Tom de Vries <tom@codesourcery.com>
5395
5396 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
5397 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
5398 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
5399 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
5400 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
5401 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
5402
dde76623
TV
54032017-11-14 Tom de Vries <tom@codesourcery.com>
5404
5405 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
5406 non-nvidia devices.
5407
4dbeb716
JJ
54082017-11-07 Jakub Jelinek <jakub@redhat.com>
5409
5410 PR c++/82835
5411 * testsuite/libgomp.c++/pr82835.C: New test.
5412
454f8b2b
ML
54132017-11-06 Martin Liska <mliska@suse.cz>
5414
5415 * testsuite/libgomp.c++/loop-2.C: Return a value
5416 for functions with non-void return type, or change type to void,
5417 or add -Wno-return-type for test.
5418 * testsuite/libgomp.c++/loop-4.C: Likewise.
5419 * testsuite/libgomp.c++/parallel-1.C: Likewise.
5420 * testsuite/libgomp.c++/shared-1.C: Likewise.
5421 * testsuite/libgomp.c++/single-1.C: Likewise.
5422 * testsuite/libgomp.c++/single-2.C: Likewise.
5423
12e9c8ce
TV
54242017-10-31 Tom de Vries <tom@codesourcery.com>
5425
5426 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
5427 "do {} while (false)".
5428 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
5429 after HSA_DEBUG call.
5430
7324369a
JJ
54312017-10-28 Jakub Jelinek <jakub@redhat.com>
5432
5433 * target.c (struct gomp_coalesce_buf): New type.
5434 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
5435 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
5436 (gomp_copy_host2dev): Add CBUF argument, if copying into
5437 the cached ranges, memcpy into buffer instead of copying
5438 into device.
5439 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
5440 Add CBUF argument, pass it through to other calls.
5441 (gomp_map_vars): Aggregate copies from host to device if small enough
5442 and with small enough gaps in between into memcpy into a buffer and
5443 fewer host to device copies from the buffer.
5444 (gomp_update): Adjust gomp_copy_host2dev caller.
5445
933ab0e6
TS
54462017-10-17 Thomas Schwinge <thomas@codesourcery.com>
5447
5448 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
5449 run" directive.
5450 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5451 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5452 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5453 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5454
92d5d01a
TV
54552017-10-16 Tom de Vries <tom@codesourcery.com>
5456
5457 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
5458 openacc_nvidia_accel_selected.
5459 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
5460 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
5461 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
5462 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
5463 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
5464 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
5465 openacc_nvidia_accel_selected. Skip for shared memory device.
5466 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
5467 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
5468
191411e4
MJ
54692017-10-09 Martin Jambor <mjambor@suse.cz>
5470
5471 PR hsa/82416
5472 * testsuite/libgomp.hsa.c/pr82416.c: New test.
5473
e923330e
TV
54742017-10-07 Tom de Vries <tom@codesourcery.com>
5475
5476 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
5477 Remove acc_device_nvidia references.
5478 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
5479 Same.
5480
8fe3ed4c
TV
54812017-10-05 Tom de Vries <tom@codesourcery.com>
5482
5483 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
5484 vector_length(32) clause from acc parallel directive.
5485 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
5486
26596ee5
TV
54872017-10-04 Tom de Vries <tom@codesourcery.com>
5488
5489 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
5490 (main): Reduce sum of arr elements. Assert that hres is exactly
5491 representable in 32-bit floating point.
5492 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
5493 (main): Reduce sum of arr elements. Assert that hres and hmres are
5494 exactly representable in 32-bit floating point.
5495 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
5496
5c561fa9
TV
54972017-09-28 Tom de Vries <tom@codesourcery.com>
5498
5499 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5500 setting.
5501 * testsuite/libgomp.c++/pr69393.C: Same.
5502 * testsuite/libgomp.c++/taskloop-1.C: Same.
5503 * testsuite/libgomp.c++/taskloop-3.C: Same.
5504 * testsuite/libgomp.c++/taskloop-4.C: Same.
5505 * testsuite/libgomp.c/for-4.c: Same.
5506 * testsuite/libgomp.c/pr66199-3.c: Same.
5507 * testsuite/libgomp.c/pr66199-4.c: Same.
5508 * testsuite/libgomp.c/pr66199-6.c: Same.
5509 * testsuite/libgomp.c/taskloop-1.c: Same.
5510 * testsuite/libgomp.c/taskloop-3.c: Same.
5511 * testsuite/libgomp.c/taskloop-4.c: Same.
5512 * testsuite/libgomp.fortran/aligned1.f03: Same.
5513 * testsuite/libgomp.fortran/condinc1.f: Same.
5514 * testsuite/libgomp.fortran/condinc3.f90: Same.
5515 * testsuite/libgomp.fortran/crayptr1.f90: Same.
5516 * testsuite/libgomp.fortran/crayptr2.f90: Same.
5517 * testsuite/libgomp.fortran/crayptr3.f90: Same.
5518 * testsuite/libgomp.fortran/omp_cond1.f: Same.
5519 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5520 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5521 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5522 * testsuite/libgomp.fortran/recursion1.f90: Same.
5523 * testsuite/libgomp.fortran/target2.f90: Same.
5524 * testsuite/libgomp.fortran/target5.f90: Same.
5525 * testsuite/libgomp.fortran/task3.f90: Same.
5526
7d6206fe
TV
55272017-09-28 Tom de Vries <tom@codesourcery.com>
5528
5529 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5530 vector_length(32) clause from acc parallel directive.
5531 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5532
84c8627c
TV
55332017-09-27 Tom de Vries <tom@codesourcery.com>
5534
5535 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5536 Remove acc_device_nvidia references.
5537
ebc6a85e
TV
55382017-09-16 Tom de Vries <tom@codesourcery.com>
5539
5540 PR c/81875
5541 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5542
82419efb
TV
55432017-09-14 Tom de Vries <tom@codesourcery.com>
5544
5545 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5546 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5547 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5548 * testsuite/libgomp.c/c.exp: Include test-cases from
5549 libgomp.c-c++-common.
5550 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
5551 files.
5552
8b586510
JJ
55532017-09-14 Jakub Jelinek <jakub@redhat.com>
5554
5555 PR c++/81314
5556 * testsuite/libgomp.c++/pr81314.C: New test.
5557
9651fbaf
GP
55582017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
5559
5560 * libgomp.texi (Top): www.openacc.org now uses https.
5561 (Enabling OpenACC): Ditto.
5562 (acc_get_num_devices): Ditto.
5563 (acc_set_device_type): Ditto.
5564 (acc_get_device_type): Ditto.
5565 (acc_set_device_num): Ditto.
5566 (acc_get_device_num): Ditto.
5567 (acc_async_test): Ditto.
5568 (acc_async_test_all): Ditto.
5569 (acc_wait): Ditto.
5570 (acc_wait_all): Ditto.
5571 (acc_wait_all_async): Ditto.
5572 (acc_wait_async): Ditto.
5573 (acc_init): Ditto.
5574 (acc_shutdown): Ditto.
5575 (acc_on_device): Ditto.
5576 (acc_malloc): Ditto.
5577 (acc_free): Ditto.
5578 (acc_copyin): Ditto.
5579 (acc_present_or_copyin): Ditto.
5580 (acc_create): Ditto.
5581 (acc_present_or_create): Ditto.
5582 (acc_copyout): Ditto.
5583 (acc_delete): Ditto.
5584 (acc_update_device): Ditto.
5585 (acc_update_self): Ditto.
5586 (acc_map_data): Ditto.
5587 (acc_unmap_data): Ditto.
5588 (acc_deviceptr): Ditto.
5589 (acc_hostptr): Ditto.
5590 (acc_is_present): Ditto.
5591 (acc_memcpy_to_device): Ditto.
5592 (acc_memcpy_from_device): Ditto.
5593 (acc_get_current_cuda_device): Ditto.
5594 (acc_get_current_cuda_context): Ditto.
5595 (acc_get_cuda_stream): Ditto.
5596 (acc_set_cuda_stream): Ditto.
5597 (ACC_DEVICE_TYPE): Ditto.
5598 (ACC_DEVICE_NUM): Ditto.
5599 (OpenACC Library Interoperability): Ditto.
5600
50aa16c3
JJ
56012017-08-09 Jakub Jelinek <jakub@redhat.com>
5602
5603 PR c/81687
5604 * testsuite/libgomp.c/pr81687-1.c: New test.
5605 * testsuite/libgomp.c/pr81687-2.c: New test.
5606
56b5041c
JJ
56072017-08-07 Jakub Jelinek <jakub@redhat.com>
5608
5609 PR c/69389
5610 * testsuite/libgomp.c/pr69389.c: New test.
5611 * testsuite/libgomp.c++/pr69389.C: New test.
5612
f4c222c0
TV
56132017-08-07 Tom de Vries <tom@codesourcery.com>
5614
5615 PR middle-end/78266
5616 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5617 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5618
a40ff0ae
JJ
56192017-07-27 Jakub Jelinek <jakub@redhat.com>
5620
5621 PR c/45784
5622 * testsuite/libgomp.c/pr45784.c: New test.
5623 * testsuite/libgomp.c++/pr45784.C: New test.
5624
3717fbe3
TV
56252017-07-19 Tom de Vries <tom@codesourcery.com>
5626
5627 * testsuite/libgomp.oacc-c/vec.c: New test.
5628
9607b014
TV
56292017-07-03 Tom de Vries <tom@codesourcery.com>
5630
5631 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5632
dfb15f6b
TV
56332017-06-27 Tom de Vries <tom@codesourcery.com>
5634
5635 * plugin/plugin-nvptx.c (notify_var): New function.
5636 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5637
22f1a037
TV
56382017-06-27 Tom de Vries <tom@codesourcery.com>
5639
5640 * env.c (parse_unsigned_long_1): Factor out of ...
5641 (parse_unsigned_long): ... here.
5642 (parse_int_1): Factor out of ...
5643 (parse_int): ... here.
5644 (parse_int_secure): New function.
5645 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5646 * secure_getenv.h: Factor out of ...
5647 * plugin/plugin-hsa.c: ... here.
5648 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5649
d54d1fc3
JJ
56502017-06-21 Jakub Jelinek <jakub@redhat.com>
5651
5652 PR c++/81130
5653 * testsuite/libgomp.c++/pr81130.C: New test.
5654
4f4b0ab8
RO
56552017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5656
5657 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5658 default args.
5659 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5660 dg-xfail-run-if default args.
5661
40ffd95f
BE
56622017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
5663
5664 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5665 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5666
01275e1e
JJ
56672017-05-30 Jakub Jelinek <jakub@redhat.com>
5668
5669 PR libgomp/80822
5670 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5671 (gomp_affinity_init_level): Use it. Always analyze the core and thread
5672 sibling lists, depending on level just pick up what CPUs to put
5673 together into a place vs. whether add multiple ordered places.
5674
78672bd8
TS
56752017-05-24 Thomas Schwinge <thomas@codesourcery.com>
5676
7ce64403
TS
5677 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5678 * libgomp.map (OACC_2.0.1): Add these.
5679 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5680 for "acc_wait", and "acc_wait_all", respectively.
5681 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5682 for "acc_wait", and "acc_wait_all", respectively.
5683 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5684 * libgomp.texi (acc_wait, acc_wait_all): Update.
5685 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5686 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5687 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5688
318686c2
TS
5689 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5690 acc_present_or_copyin and acc_present_or_create procedures,
5691 respectively.
5692 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5693 generally different variants of OpenACC Runtime Library functions.
5694 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5695
a6745534
TS
5696 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5697 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5698
9b94fbc7
TS
5699 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5700 of preprocessor definitions.
5701 * libgomp.h (strong_alias): Guard by "#ifdef
5702 HAVE_ATTRIBUTE_ALIAS".
5703 * oacc-mem.c: Provide "acc_pcreate" as alias for
5704 "acc_present_or_create", and "acc_pcopyin" as alias for
5705 "acc_present_or_copyin".
5706 * libgomp.map: New version "OACC_2.0.1".
5707 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5708 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5709 its content into...
5710 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5711 Extend testing.
5712
78672bd8
TS
5713 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5714 when disabling nvptx offloading.
5715
0c36d0d5
TS
57162017-05-23 Thomas Schwinge <thomas@codesourcery.com>
5717
fd71a9a2
TS
5718 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5719 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5720 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5721
0c36d0d5
TS
5722 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5723 * testsuite/lib/libgomp.exp
5724 (check_effective_target_openacc_nvidia_accel_configured): New
5725 proc.
5726 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5727 (check_effective_target_c++): New procs.
5728 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5729 (check_effective_target_c++): Likewise.
5730
c24783c4
JJ
57312017-05-22 Jakub Jelinek <jakub@redhat.com>
5732
655e5265
JJ
5733 PR middle-end/80809
5734 * testsuite/libgomp.c/pr80809-2.c: New test.
5735 * testsuite/libgomp.c/pr80809-3.c: New test.
5736
e9e2ef9f
JJ
5737 PR middle-end/80809
5738 * testsuite/libgomp.c/pr80809-1.c: New test.
5739
c24783c4
JJ
5740 PR middle-end/80853
5741 * testsuite/libgomp.c/pr80853.c: New test.
5742
0da2f96a
TS
57432017-05-19 Thomas Schwinge <thomas@codesourcery.com>
5744
7fd549d2
TS
5745 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5746 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5747 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5748 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5749 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5750
0da2f96a
TS
5751 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5752 Debug output for failure.
5753
62ffe920
RO
57542017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5755
5756 * testsuite/lib/libgomp.exp: Load scanlang.exp.
5757
f49215b1
JJ
57582017-04-27 Jakub Jelinek <jakub@redhat.com>
5759
5760 PR bootstrap/80531
5761 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5762 bootstrap compare failures.
5763
2260d19d
AM
57642017-04-20 Alexander Monakov <amonakov@ispras.ru>
5765
5766 * testsuite/libgomp.c/target-36.c: New testcase.
5767
19929ba9
JJ
57682017-04-13 Jakub Jelinek <jakub@redhat.com>
5769
5770 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5771 instead of char.
5772
fbc698e0
JJ
57732017-04-11 Jakub Jelinek <jakub@redhat.com>
5774
5775 PR libgomp/80394
5776 * testsuite/libgomp.c/pr80394.c: New test.
5777
c4060df4
JJ
57782017-04-04 Jakub Jelinek <jakub@redhat.com>
5779
5780 PR libgomp/79876
5781 * config/posix/thread-stacksize.h: New file.
5782 * config/darwin/thread-stacksize.h: New file.
5783 * config/nvptx/thread-stacksize.h: New file.
5784 * env.c: Include thread-stacksize.h.
5785 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5786 instead of 0. Call pthread_attr_setstacksize even if
5787 GOMP_DEFAULT_STACKSIZE is non-zero.
5788
e02d868a
JJ
57892017-03-30 Jakub Jelinek <jakub@redhat.com>
5790
5791 * env.c (initialize_env): Initialize stacksize to 0.
5792
7ba8651e
CP
57932017-03-22 Cesar Philippidis <cesar@codesourcery.com>
5794
5795 PR c++/80029
5796 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5797
eebc5e2d
JJ
57982017-03-08 Jakub Jelinek <jakub@redhat.com>
5799
5800 PR c/79940
5801 * testsuite/libgomp.c/pr79940.c: New test.
5802
1eb08f52
RO
58032017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5804
5805 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5806 targets.
5807 Add __float128 options.
5808
b0f78ff3
JDA
58092017-02-11 John David Anglin <danglin@gcc.gnu.org>
5810
5811 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5812 hppa*-*-* dg-skip-if directive.
5813
1bbe0d8f
JJ
58142017-02-09 Jakub Jelinek <jakub@redhat.com>
5815
5816 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5817 dg-skip-if directive into a comment.
5818
02889d23
CLT
58192017-02-09 Nathan Sidwell <nathan@codesourcery.com>
5820 Chung-Lin Tang <cltang@codesourcery.com>
5821
5822 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5823 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5824 add additional case.
5825 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5826 "openacc_nvidia_accel_selected".
5827 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5828 Add num_workers(8) clause.
5829
5896a41d
JDA
58302017-02-08 John David Anglin <danglin@gcc.gnu.org>
5831
5832 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5833 hppa*-*-*.
5834 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5835 include complex.h on hppa*-*-hpux*.
5836 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5837
345a8c17
TS
58382017-02-02 Thomas Schwinge <thomas@codesourcery.com>
5839
e70ab10d
TS
5840 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5841
345a8c17
TS
5842 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5843 GOMP_OFFLOAD_openacc_exec. Adjust all users.
5844 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5845 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
5846 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5847 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
5848 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5849 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
5850 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5851 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
5852
dced339c
TS
58532017-01-31 Thomas Schwinge <thomas@codesourcery.com>
5854
5855 * libgomp-plugin.h: #include <stdbool.h>.
5856 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5857 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5858 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5859 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5860 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5861 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5862 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5863 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5864 (GOMP_OFFLOAD_openacc_register_async_cleanup)
5865 (GOMP_OFFLOAD_openacc_async_test)
5866 (GOMP_OFFLOAD_openacc_async_test_all)
5867 (GOMP_OFFLOAD_openacc_async_wait)
5868 (GOMP_OFFLOAD_openacc_async_wait_async)
5869 (GOMP_OFFLOAD_openacc_async_wait_all)
5870 (GOMP_OFFLOAD_openacc_async_wait_all_async)
5871 (GOMP_OFFLOAD_openacc_async_set_async)
5872 (GOMP_OFFLOAD_openacc_create_thread_data)
5873 (GOMP_OFFLOAD_openacc_destroy_thread_data)
5874 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5875 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5876 (GOMP_OFFLOAD_openacc_get_cuda_stream)
5877 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5878 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
5879 these.
5880 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
5881 (GOMP_OFFLOAD_unload_image): Fix argument types.
5882
23749904
JJ
58832017-01-26 Jakub Jelinek <jakub@redhat.com>
5884
c1cadde1
JJ
5885 * testsuite/lib/libgomp.exp
5886 (check_effective_target_hsa_offloading_selected_nocache): Fix up
5887 check_compile invocation. Fix up removal of executable. Drop
5888 bogus "2>&1" argument.
5889
23749904
JJ
5890 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
5891 directive.
5892
58932017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
5894 Martin Jambor <mjambor@suse.cz>
5895
5896 * plugin/hsa.h: Moved to top level include.
5897 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
5898
73aa401e
JJ
58992017-01-21 Jakub Jelinek <jakub@redhat.com>
5900
5901 PR other/79046
5902 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
5903 of cat to get version from BASE-VER file.
5904 * testsuite/Makefile.in: Regenerated.
5905
b32e85fa
JJ
59062017-01-19 Jakub Jelinek <jakub@redhat.com>
5907
5908 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
5909 for _WIN64.
5910
3c36aa6b
JJ
59112017-01-17 Jakub Jelinek <jakub@redhat.com>
5912
d190d5c0
JJ
5913 * plugin/hsa.h: Add GCC runtime library exception.
5914 * plugin/hsa_ext_finalize.h: Likewise.
5915
2393d337
JJ
5916 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
5917 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
5918 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
5919 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
5920 plugin/include/cuda as include dir and -ldl instead of -lcuda as
5921 library to link ptx plugin against.
5922 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
5923 (CUDA_CALLS): Define.
5924 (cuda_lib, cuda_lib_inited): New variables.
5925 (init_cuda_lib): New function.
5926 (CUDA_CALL_PREFIX): Define.
5927 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
5928 (CUDA_CALL): Use FN instead of (FN).
5929 (CUDA_CALL_NOCHECK): Define.
5930 (cuda_error, fini_streams_for_device, select_stream_for_async,
5931 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
5932 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
5933 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
5934 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
5935 CUDA_CALL_NOCHECK.
5936 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
5937 CUDA_CALL_NOCHECK.
5938 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
5939 Use CUDA_CALL_NOCHECK.
5940 * plugin/cuda/cuda.h: New file.
5941 * config.h.in: Regenerated.
5942 * configure: Regenerated.
5943
3c36aa6b
JJ
5944 PR other/79046
5945 * configure.ac: Add GCC_BASE_VER.
5946 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
5947 get version from BASE-VER file.
5948 * testsuite/Makefile.in: Regenerated.
5949 * configure: Regenerated.
5950 * Makefile.in: Regenerated.
5951
c508bc2d
FXC
59522017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5953
5954 PR libgomp/60670
5955 * Makefile.am: Make fincludedir multilib-aware.
5956 * Makefile.in: Regenerate.
5957
c1a9c369
JJ
59582017-01-01 Jakub Jelinek <jakub@redhat.com>
5959
cbe34bb5
JJ
5960 Update copyright years.
5961
c1a9c369
JJ
5962 * libgomp.texi: Bump @copying's copyright year.
5963
e7a7f4be
SH
59642016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5965
5966 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
5967 pthread_spinlock_t instead of gomp_mutex_t lock.
5968 (gomp_get_thread_pool): Likewise.
5969 (gomp_release_thread_pool): Likewise.
5970 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
5971 Likewise.
5972
d313d52c
SH
59732016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5974
5975 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
5976 thread pool in case nthreads == 1.
5977
630e3c3a
AM
59782016-11-30 Alexander Monakov <amonakov@ispras.ru>
5979
5980 * config/nvptx/env.c: Delete.
5981 * icv.c: Move definitions of ICV variables back ...
5982 * env.c: ...here. Do not compile environment-related functionality if
5983 LIBGOMP_OFFLOADED_ONLY is set.
5984
9e38af5c
AM
59852016-11-30 Alexander Monakov <amonakov@ispras.ru>
5986
5987 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
5988 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
5989 * configure: Regenerate.
5990 * config.h.in: Likewise.
5991
f96b7f1f
AM
59922016-11-30 Alexander Monakov <amonakov@ispras.ru>
5993
5994 * Makefile.in: Regenerate with automake-1.11.6.
5995 * aclocal.m4: Likewise.
5996 * configure: Likewise.
5997 * testsuite/Makefile.in: Likewise.
5998
6a6951b1
AM
59992016-11-28 Alexander Monakov <amonakov@ispras.ru>
6000
6001 * config/nvptx/critical.c: Delete to use generic implementation.
6002
c7ac071f
JH
60032016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
6004
6005 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
6006 ../../affinity.c as fallback.
6007 * config/nvptx/affinity.c: Delete to use fallback implementation.
6008
6103184e 60092016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 6010 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
6011 Dmitry Melnik <dm@ispras.ru>
6012
6013 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
6014 * Makefile.in. Regenerate.
6015 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
6016 (LIBGOMP_USE_PTHREADS): ...here; new define.
6017 * configure: Regenerate.
6018 * config.h.in: Likewise.
6019 * config/posix/affinity.c: Move to...
6020 * affinity.c: ...here (new file). Guard use of Pthreads-specific
6021 interface by LIBGOMP_USE_PTHREADS.
6022 * critical.c: Split out GOMP_atomic_{start,end} into...
6023 * atomic.c: ...here (new file).
6024 * env.c: Split out ICV definitions into...
6025 * icv.c: ...here (new file) and...
6026 * icv-device.c: ...here. New file.
6027 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
6028 (gomp_destroy_lock_30): Ditto.
6029 (gomp_set_lock_30): Ditto.
6030 (gomp_unset_lock_30): Ditto.
6031 (gomp_test_lock_30): Ditto.
6032 (gomp_init_nest_lock_30): Ditto.
6033 (gomp_destroy_nest_lock_30): Ditto.
6034 (gomp_set_nest_lock_30): Ditto.
6035 (gomp_unset_nest_lock_30): Ditto.
6036 (gomp_test_nest_lock_30): Ditto.
6037 * lock.c: New.
6038 * config/nvptx/lock.c: New.
6039 * config/nvptx/bar.c: New.
6040 * config/nvptx/bar.h: New.
6041 * config/nvptx/doacross.h: New.
6042 * config/nvptx/error.c: New.
6043 * config/nvptx/icv-device.c: New.
6044 * config/nvptx/mutex.h: New.
6045 * config/nvptx/pool.h: New.
6046 * config/nvptx/proc.c: New.
6047 * config/nvptx/ptrlock.h: New.
6048 * config/nvptx/sem.h: New.
6049 * config/nvptx/simple-bar.h: New.
6050 * config/nvptx/target.c: New.
6051 * config/nvptx/task.c: New.
6052 * config/nvptx/team.c: New.
6053 * config/nvptx/time.c: New.
6054 * config/posix/simple-bar.h: New.
6055 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
6056 (gomp_num_teams_var): Declare.
6057 (struct gomp_thread_pool): Change threads_dock member to
6058 gomp_simple_barrier_t.
6059 [__nvptx__] (gomp_thread): New implementation.
6060 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
6061 (gomp_thread_destructor): Ditto.
6062 (gomp_init_thread_affinity): Ditto.
6063 * team.c: Guard uses of Pthreads-specific interfaces by
6064 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
6065 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
6066 * config/nvptx/alloc.c: Delete.
6067 * config/nvptx/barrier.c: Ditto.
6068 * config/nvptx/fortran.c: Ditto.
6069 * config/nvptx/iter.c: Ditto.
6070 * config/nvptx/iter_ull.c: Ditto.
6071 * config/nvptx/loop.c: Ditto.
6072 * config/nvptx/loop_ull.c: Ditto.
6073 * config/nvptx/ordered.c: Ditto.
6074 * config/nvptx/parallel.c: Ditto.
6075 * config/nvptx/priority_queue.c: Ditto.
6076 * config/nvptx/sections.c: Ditto.
6077 * config/nvptx/single.c: Ditto.
6078 * config/nvptx/splay-tree.c: Ditto.
6079 * config/nvptx/work.c: Ditto.
6080 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
6081 -foffload=-lgfortran in addition to -lgfortran.
6082 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
6083 * plugin/plugin-nvptx.c: Include <limits.h>.
6084 (struct targ_fn_descriptor): Add new fields.
6085 (struct ptx_device): Ditto. Set them...
6086 (nvptx_open_device): ...here.
6087 (nvptx_adjust_launch_bounds): New.
6088 (nvptx_host2dev): Allow NULL 'nvthd'.
6089 (nvptx_dev2host): Ditto.
6090 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
6091 (link_ptx): Adjust log sizes.
6092 (nvptx_host2dev): Allow NULL 'nvthd'.
6093 (nvptx_dev2host): Ditto.
6094 (nvptx_set_clocktick): New. Use it...
6095 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
6096 fields.
6097 (GOMP_OFFLOAD_dev2dev): New.
6098 (nvptx_adjust_launch_bounds): New.
6099 (nvptx_stacks_size): New.
6100 (nvptx_stacks_alloc): New.
6101 (nvptx_stacks_free): New.
6102 (GOMP_OFFLOAD_run): New.
6103 (GOMP_OFFLOAD_async_run): New (stub).
6104
56b1c60e
MJ
61052016-11-23 Martin Jambor <mjambor@suse.cz>
6106
6107 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
6108 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6109 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6110
b8d89b03 61112016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 6112 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
6113
6114 * plugin/hsa.h: New file.
6115 * plugin/hsa_ext_finalize.h: New file.
6116 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
6117 header file unistd.h, and functions secure_getenv, __secure_getenv,
6118 getuid, geteuid, getgid and getegid.
6119 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
6120 -D_GNU_SOURCE.
6121 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
6122 Handle various cases of secure_getenv presence, add an implementation
6123 when we can test effective UID and GID.
6124 (struct hsa_runtime_fn_info): New structure.
6125 (hsa_runtime_fn_info hsa_fns): New variable.
6126 (hsa_runtime_lib): Likewise.
6127 (support_cpu_devices): Likewise.
6128 (init_enviroment_variables): Load newly introduced ENV
6129 variables.
6130 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
6131 (hsa_fatal): Likewise.
6132 (DLSYM_FN): New macro.
6133 (init_hsa_runtime_functions): New function.
6134 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
6135 structure. Depending on environment, also allow CPU devices.
6136 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
6137 (get_kernarg_memory_region): Likewise.
6138 (GOMP_OFFLOAD_init_device): Likewise.
6139 (destroy_hsa_program): Likewise.
6140 (init_basic_kernel_info): New function.
6141 (GOMP_OFFLOAD_load_image): Use it.
6142 (create_and_finalize_hsa_program): Call hsa run-time functions via
6143 hsa_fns structure.
6144 (create_single_kernel_dispatch): Likewise.
6145 (release_kernel_dispatch): Likewise.
6146 (init_single_kernel): Likewise.
6147 (parse_target_attributes): Allow up multiple HSA grid dimensions.
6148 (get_group_size): New function.
6149 (run_kernel): Likewise.
6150 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
6151 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
6152 structure.
6153 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
6154 * testsuite/libgomp-test-support.exp.in: Likewise.
6155 * Makefile.in: Regenerated.
6156 * aclocal.m4: Likewise.
6157 * config.h.in: Likewise.
6158 * configure: Likewise.
6159 * testsuite/Makefile.in: Likewise.
6160
18d2ada8 61612016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 6162 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
6163
6164 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
6165 mapping clauses to target constructs.
6166 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
6167
84c1b9d3
MK
61682016-11-15 Matthias Klose <doko@ubuntu.com>
6169
6170 * configure: Regenerate.
6171
b4c3a85b
JJ
61722016-11-10 Jakub Jelinek <jakub@redhat.com>
6173
8ebd1b31
JJ
6174 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
6175 * omp_lib.h.in (openmp_version): Likewise.
6176 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
6177 of 201307.
6178 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6179
b4c3a85b
JJ
6180 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
6181 (fib_wrapper): Add map(from: x) clause.
6182 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
6183 (e_53_2): Likewise.
6184 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
6185 (accum): Add map(tmp) clause.
6186 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
6187 (accum): Add map(tofrom: tmp) clause.
6188 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
6189 (gramSchmidt): Likewise.
6190 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
6191 map(tofrom: sum) clause.
6192 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
6193 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
6194 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
6195 only allowed on the loop iterator.
6196 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
6197 * testsuite/libgomp.fortran/taskloop2.f90: New test.
6198 * testsuite/libgomp.fortran/taskloop4.f90: New test.
6199 * testsuite/libgomp.fortran/doacross1.f90: New test.
6200 * testsuite/libgomp.fortran/doacross3.f90: New test.
6201 * testsuite/libgomp.fortran/taskloop1.f90: New test.
6202 * testsuite/libgomp.fortran/taskloop3.f90: New test.
6203 * testsuite/libgomp.fortran/doacross2.f90: New test.
6204 * testsuite/libgomp.c/doacross-1.c (main): Add missing
6205 #pragma omp atomic read.
6206 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6207 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
6208
6668eb45
CP
62092016-11-02 Cesar Philippidis <cesar@codesourcery.com>
6210 Nathan Sidwell <nathan@acm.org>
6211
6212 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
6213 to determine default geometry.
6214 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
6215 dimension.
6216
f10e37a1
JJ
62172016-11-01 Jakub Jelinek <jakub@redhat.com>
6218
6219 * hashtab.h: Use standard GPLv3 with runtime exception
6220 boilerplate.
6221
015c7760
AH
62222016-10-27 Aldy Hernandez <aldyh@redhat.com>
6223
6224 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
6225 size when allocating new thread.
6226
20a1e5b8
MP
62272016-09-14 Marek Polacek <polacek@redhat.com>
6228
6229 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
6230
1cad9284
JJ
62312016-08-19 Jakub Jelinek <jakub@redhat.com>
6232
6233 PR fortran/71014
6234 * testsuite/libgomp.fortran/pr71014.f90: New test.
6235
2c71d454
CLT
62362016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
6237
6238 PR middle-end/70895
6239 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
6240 firstprivate clauses.
6241 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
6242 copy clauses.
6243 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6244 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
6245 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
6246 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6247 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6248 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6249 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6250 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6251 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6252 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6253 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6254 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
6255
7c713714
CLT
62562016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
6257
6258 PR fortran/70598
6259 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
6260
5c934396
JJ
62612016-08-08 Jakub Jelinek <jakub@redhat.com>
6262
6263 PR c++/58706
6264 * testsuite/libgomp.c++/pr58706.C: New test.
6265
9ef64248
TS
62662016-08-04 Thomas Schwinge <thomas@codesourcery.com>
6267
bbc79c0e
TS
6268 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
6269 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
6270 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6271 Likewise.
6272 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
6273 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
6274 Likewise.
6275 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
6276
9ef64248
TS
6277 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
6278 test, and don't hardcode -O0.
6279
c1311c86
NS
62802016-08-03 Nathan Sidwell <nathan@codesourcery.com>
6281
6282 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
6283
b1c9c068
CP
62842016-07-15 Cesar Philippidis <cesar@codesourcery.com>
6285
6286 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
6287 test.
6288
b4410f63
L
62892016-07-03 H.J. Lu <hongjiu.lu@intel.com>
6290
6291 PR middle-end/71734
6292 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
6293 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
6294
a8dbab92
JJ
62952016-07-01 Jakub Jelinek <jakub@redhat.com>
6296
6297 PR fortran/71717
6298 * testsuite/libgomp.fortran/associate3.f90: New test.
6299
9b6a8d0f
JJ
63002016-06-17 Jakub Jelinek <jakub@redhat.com>
6301
6302 * testsuite/libgomp.c++/target-21.C: New test.
6303
283635f9
JJ
63042016-06-16 Jakub Jelinek <jakub@redhat.com>
6305
6306 * testsuite/libgomp.c++/target-20.C: New test.
6307
27d6ba88
TS
63082016-06-10 Thomas Schwinge <thomas@codesourcery.com>
6309 Cesar Philippidis <cesar@codesourcery.com>
6310
6311 PR middle-end/71373
6312 * libgomp.oacc-c/nested-function-1.c: New file.
6313 * libgomp.oacc-c/nested-function-2.c: Likewise.
6314 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
6315 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
6316 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
6317
4b1ffdb1
TS
63182016-06-10 Thomas Schwinge <thomas@codesourcery.com>
6319
6320 PR c/71381
6321 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
6322 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
6323 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
6324
d821b794
CLT
63252016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
6326
6327 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
6328 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
6329
3616a8c5
CP
63302016-06-01 Cesar Philippidis <cesar@codesourcery.com>
6331
6332 PR c/70688
5eed9a88 6333 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 6334
7211a097
JJ
63352016-05-26 Jakub Jelinek <jakub@redhat.com>
6336
6337 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
6338 instead of invalid schedule(static, 0).
6339 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6340
b4557008
CLT
63412016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
6342
6343 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
6344 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
6345 parameter, use to set async stream around call to gomp_unmap_vars,
6346 call gomp_unmap_vars() with 'do_copyfrom' set to true.
6347 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
6348 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
6349 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
6350 (event_add): Add int parameter, initialize 'val' field when
6351 adding new ptx_event struct.
6352 (nvptx_evec): Adjust event_add() call arguments.
6353 (nvptx_host2dev): Likewise.
6354 (nvptx_dev2host): Likewise.
6355 (nvptx_wait_async): Likewise.
6356 (nvptx_wait_all_async): Likewise.
6357 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
6358 pass to event_add() call.
6359 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
6360 parameter.
6361 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
6362 call openacc.register_async_cleanup_func() hook.
6363 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
6364 * target.c (gomp_copy_from_async): Delete function.
6365 (gomp_map_vars): Remove async_refcount.
6366 (gomp_unmap_vars): Likewise.
6367 (gomp_load_image_to_device): Likewise.
6368 (omp_target_associate_ptr): Likewise.
6369 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
6370 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
6371 (gomp_copy_from_async): Remove.
6372
6ce13072
CLT
63732016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
6374
6375 * target.c (gomp_device_copy): New function.
6376 (gomp_copy_host2dev): Likewise.
6377 (gomp_copy_dev2host): Likewise.
6378 (gomp_free_device_memory): Likewise.
6379 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
6380 (gomp_map_pointer): Likewise.
6381 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
6382 NULL value from alloc_func plugin hook.
6383 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
6384 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
6385 (gomp_unmap_vars): Likewise.
6386 (gomp_update): Adjust to call gomp_copy_dev2host and
6387 gomp_copy_host2dev functions.
6388 (gomp_unload_image_from_device): Handle false value from
6389 unload_image_func plugin hook.
6390 (gomp_init_device): Handle false value from init_device_func
6391 plugin hook.
6392 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
6393 (omp_target_free): Adjust to call gomp_free_device_memory.
6394 (omp_target_memcpy): Handle return values from host2dev_func,
6395 dev2host_func, and dev2dev_func plugin hooks.
6396 (omp_target_memcpy_rect_worker): Likewise.
6397 (gomp_target_fini): Handle false value from fini_device_func
6398 plugin hook.
6399 * libgomp.h (struct gomp_device_descr): Adjust return type of
6400 init_device_func, fini_device_func, unload_image_func, free_func,
6401 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
6402 * oacc-init.c (acc_shutdown_1): Handle false value from
6403 fini_device_func plugin hook.
6404 * oacc-host.c (host_init_device): Change return type to bool.
6405 (host_fini_device): Likewise.
6406 (host_unload_image): Likewise.
6407 (host_free): Likewise.
6408 (host_dev2host): Likewise.
6409 (host_host2dev): Likewise.
6410 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
6411 (acc_memcpy_to_device): Likewise.
6412 (acc_memcpy_from_device): Likewise.
6413 (delete_copyout): Add libfnname parameter, handle free_func
6414 hook fatal error case.
6415 (acc_delete): Adjust delete_copyout call.
6416 (acc_copyout): Likewise.
6417 (update_dev_host): Move gomp_mutex_unlock to after
6418 host2dev/dev2host hook calls.
6419
6420 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
6421 to 'hsa_error_msg', for clarity.
6422 (hsa_fatal): Likewise.
6423 (hsa_error): New function.
6424 (init_hsa_context): Change return type to bool, adjust to return
6425 false on error.
6426 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
6427 return value.
6428 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
6429 return false on error.
6430 (get_agent_info): Adjust to return NULL on error.
6431 (destroy_hsa_program): Change return type to bool, adjust to
6432 return false on error.
6433 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
6434 (destroy_module): Change return type to bool, adjust to
6435 return false on error.
6436 (GOMP_OFFLOAD_unload_image): Likewise.
6437 (GOMP_OFFLOAD_fini_device): Likewise.
6438 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
6439 (GOMP_OFFLOAD_free): Change to return false when called.
6440 (GOMP_OFFLOAD_dev2host): Likewise.
6441 (GOMP_OFFLOAD_host2dev): Likewise.
6442 (GOMP_OFFLOAD_dev2dev): Likewise.
6443
6444 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
6445 (CUDA_CALL): Likewise.
6446 (CUDA_CALL_ASSERT): Likewise.
6447 (map_init): Change return type to bool, use CUDA_CALL* macros.
6448 (map_fini): Likewise.
6449 (init_streams_for_device): Change return type to bool, adjust
6450 call to map_init.
6451 (fini_streams_for_device): Change return type to bool, adjust
6452 call to map_fini.
6453 (select_stream_for_async): Release stream_lock before calls to
6454 GOMP_PLUGIN_fatal, adjust call to map_init.
6455 (nvptx_init): Use CUDA_CALL* macros.
6456 (nvptx_attach_host_thread_to_device): Change return type to bool,
6457 use CUDA_CALL* macros.
6458 (nvptx_open_device): Use CUDA_CALL* macros.
6459 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
6460 macros.
6461 (nvptx_get_num_devices): Use CUDA_CALL* macros.
6462 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
6463 (nvptx_exec): Use CUDA_CALL* macros.
6464 (nvptx_alloc): Use CUDA_CALL* macros.
6465 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
6466 (nvptx_host2dev): Likewise.
6467 (nvptx_dev2host): Likewise.
6468 (nvptx_wait): Use CUDA_CALL* macros.
6469 (nvptx_wait_async): Likewise.
6470 (nvptx_wait_all): Likewise.
6471 (nvptx_wait_all_async): Likewise.
6472 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
6473 use CUDA_CALL* macros, adjust call to map_fini.
6474 (GOMP_OFFLOAD_init_device): Change return type to bool,
6475 adjust code accordingly.
6476 (GOMP_OFFLOAD_fini_device): Likewise.
6477 (GOMP_OFFLOAD_load_image): Adjust calls to
6478 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
6479 use CUDA_CALL* macros.
6480 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
6481 return code.
6482 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
6483 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
6484 handle error return.
6485 (GOMP_OFFLOAD_dev2host): Likewise.
6486 (GOMP_OFFLOAD_host2dev): Likewise.
6487 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
6488 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
6489
e46c7770
CP
64902016-05-24 Cesar Philippidis <cesar@codesourcery.com>
6491
6492 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
6493 (acc_free): Likewise.
6494 (acc_memcpy_to_device): Likewise.
6495 (acc_memcpy_from_device): Likewise.
6496 (acc_deviceptr): Likewise.
6497 (acc_hostptr): Likewise.
6498 (acc_is_present): Likewise.
6499 (acc_map_data): Likewise.
6500 (acc_unmap_data): Likewise.
6501 (present_create_copy): Likewise.
6502 (delete_copyout): Likewise.
6503 (update_dev_host): Likewise.
6504 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6505 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6506 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6507 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6508 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6509 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6510 it only runs on nvptx targets.
6511 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6512 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6513 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6514 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6515 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6516 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6517 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6518 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6519 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6520 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6521 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6522 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6523 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6524 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6525 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6526 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6527 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6528 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6529 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6530 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6531 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6532 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6533 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6534
a5057543
MJ
65352016-05-23 Martin Jambor <mjambor@suse.cz>
6536
6537 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6538
e37288a6
CLT
65392016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
6540
6541 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6542 to gomp_init_targets_once.
6543 (acc_set_device_type): Remove !cached_base_dev condition on call to
6544 gomp_init_targets_once, move call to before acc_device_lock acquire,
6545 to avoid deadlock.
6546 (acc_get_device_num): Remove !cached_base_dev condition on call to
6547 gomp_init_targets_once.
6548 (acc_set_device_num): Likewise.
6549
51d9ed48
MJ
65502016-05-16 Martin Jambor <mjambor@suse.cz>
6551
92a285c1 6552 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 6553
5b37e866
NS
65542016-05-02 Nathan Sidwell <nathan@codesourcery.com>
6555
6556 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6557 expected partitioning.
6558
e7ff0319
CP
65592016-04-29 Cesar Philippidis <cesar@codesourcery.com>
6560
6561 PR middle-end/70626
6562 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6563 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6564 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6565
c2bd3b69
AM
65662016-04-21 Alexander Monakov <amonakov@ispras.ru>
6567
6568 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6569 non-fatal.
6570
84311083
JJ
65712016-04-19 Jakub Jelinek <jakub@redhat.com>
6572
6573 PR middle-end/70680
6574 * testsuite/libgomp.c/pr70680-1.c: New test.
6575 * testsuite/libgomp.c/pr70680-2.c: New test.
6576
aadc043f
CP
65772016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6578
6579 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6580 pass parameter variables to subroutines.
6581
e387fc64
CP
65822016-04-14 Cesar Philippidis <cesar@codesourcery.com>
6583
6584 PR middle-end/70643
6585 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6586
10c3c424
CP
65872016-04-13 Cesar Philippidis <cesar@codesourcery.com>
6588
6589 PR testsuite/68242
6590 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6591 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6592
27f9add3
TS
65932016-04-12 Thomas Schwinge <thomas@codesourcery.com>
6594
58d32aeb
TS
6595 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6596 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6597 GOACC_declare prototype.
6598
d97633ef
TS
6599 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6600 Merge this file, and...
6601 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6602 ... this file, and...
6603 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6604 ... this file, and...
6605 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6606 ... this file, and...
6607 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6608 ... this file, and...
6609 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6610 ... this file, and...
6611 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6612 ... this file, and...
6613 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6614 ... this file, and...
6615 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6616 ... this file, and...
6617 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6618 ... this file, and...
6619 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6620 ... this file, and...
6621 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6622 ... this file, and...
6623 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6624 ... this file into...
6625 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6626 file.
6627
27f9add3
TS
6628 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6629 Make failure observable.
6630
21f3a236
JJ
66312016-04-12 Jakub Jelinek <jakub@redhat.com>
6632
6633 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6634 field.
6635 * target.c (gomp_target_fallback_firstprivate,
6636 gomp_target_unshare_firstprivate): Removed.
6637 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6638 before waiting for dependencies.
6639 (gomp_target_task_fn): Don't copy firstprivate vars here.
6640 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6641 firstprivate_copies here.
6642 (gomp_create_target_task): Don't initialize firstprivate_copies field.
6643 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6644 explicit/implicit firstprivate.
6645
c42cfb5c
CP
66462016-04-08 Cesar Philippidis <cesar@codesourcery.com>
6647
6648 PR lto/70289
6649 PR ipa/70348
6650 PR tree-optimization/70373
6651 PR middle-end/70533
6652 PR middle-end/70534
6653 PR middle-end/70535
6654 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6655 test.
6656 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6657 test.
6658 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6659 test.
6660 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6661 test.
6662 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6663 test.
6664 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6665 test.
6666 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6667 test.
6668 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6669 test.
6670 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6671 test.
6672 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6673 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6674 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6675 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6676 test.
6677 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6678 test.
6679 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6680 test.
6681 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6682 test.
6683 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6684 coverage.
6685 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6686 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6687 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6688 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6689 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6690 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6691 coverage.
6692 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6693 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6694 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6695 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6696 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6697 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6698 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6699 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6700 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6701 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6702 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6703 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6704 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6705 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6706 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6707
2620c80d
TS
67082016-03-30 Thomas Schwinge <thomas@codesourcery.com>
6709 James Norris <jnorris@codesourcery.com>
6710 Nathan Sidwell <nathan@codesourcery.com>
6711 Julian Brown <julian@codesourcery.com>
6712 Cesar Philippidis <cesar@codesourcery.com>
6713 Chung-Lin Tang <cltang@codesourcery.com>
6714 Tom de Vries <tom@codesourcery.com>
6715
6716 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6717 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6718 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6719 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6720 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6721 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6722 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6723 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6724 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6725 XFAIL.
6726 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6727 Incorporate...
6728 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6729 file.
6730 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6731 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6732 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6734 Likewise.
6735 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6736 Likewise.
6737 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6738 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6739 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6740 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6741 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6742 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6743 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6744 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6745 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6746 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6747 Likewise.
6748 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6749 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6750 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6751 file...
6752 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6753 file into...
6754 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6755 file. Update.
6756 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6757 file.
6758 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6759 Likewise.
6760 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6761 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6762 ... this new file. Update.
6763 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6764 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6765 ... this new file. Update.
6766 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6767 file. Incorporate...
6768 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6769 file, and...
6770 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6771 file, and...
6772 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6773 file.
6774 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6775
ce83104b
TS
67762016-03-29 Thomas Schwinge <thomas@codesourcery.com>
6777
6778 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6779 set-torture-options.
6780
6e0df3b7
TS
67812016-03-24 Thomas Schwinge <thomas@codesourcery.com>
6782
6783 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6784 gcc-dg-runtest.
6785 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6786 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6787 -fno-builtin-acc_on_device instead of -O0.
6788 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6789 -O0.
6790 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6791 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6792 Likewise.
6793 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6794 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6795 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6796 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6797 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6798 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6799 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6800 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6801 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6802 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6803 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6804 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6805 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6806 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6807 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6808 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6809 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6810 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6811 Don't specify -O2.
6812 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6813 Likewise.
6814 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6815 Likewise.
6816
f9c8babb
ML
68172016-03-24 Martin Liska <mliska@suse.cz>
6818
6819 * plugin/plugin-hsa.c (packet_store_release): New function
6820 that is taken from the HSA runtime manual.
6821 (GOMP_OFFLOAD_run): Use the function.
6822
04833609
JJ
68232016-03-23 Jakub Jelinek <jakub@redhat.com>
6824
6825 PR c++/70376
6826 * testsuite/libgomp.c++/pr70376.C: New test.
6827
d79ee524
TV
68282016-03-23 Tom de Vries <tom@codesourcery.com>
6829
6830 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6831 initialization of lresult and lvresult.
6832 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6833
b6d1f2b5
JN
68342016-03-23 James Norris <jnorris@codesourcery.com>
6835 Daichi Fukuoka <dc-fukuoka@sgi.com>
6836
6837 PR libgomp/69414
6838 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6839 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6840 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6841 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6842
7397fce2
ML
68432016-03-23 Martin Liska <mliska@suse.cz>
6844
6845 PR hsa/70337
6846 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6847 argument just in case a dispatched kernel uses that argument.
6848
ee2e7d51
TS
68492016-03-16 Thomas Schwinge <thomas@codesourcery.com>
6850
6851 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6852 -ftree-parallelize-loops/-fopenacc changes.
6853 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6854 Likewise.
6855 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6856 Likewise.
6857 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6858 Likewise.
6859 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6860 Likewise.
6861 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6862 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6863
be9f7143
TS
68642016-03-13 Thomas Schwinge <thomas@codesourcery.com>
6865
6866 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6867 always_ld_library_path the path to libgcc_s.
6868
f6c1032d
CP
68692016-03-10 Cesar Philippidis <cesar@codesourcery.com>
6870
6871 PR testsuite/70009
6872 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6873
5a6452e6
TV
68742016-03-09 Tom de Vries <tom@codesourcery.com>
6875
6876 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6877 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6878 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6879 Same.
6880 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
6881 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
6882 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
6883 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
6884
96a71bd5
MJ
68852016-03-07 Martin Jambor <mjambor@suse.cz>
6886
6887 * testsuite/lib/libgomp.exp
6888 (check_effective_target_hsa_offloading_selected_nocache): New.
6889 (check_effective_target_hsa_offloading_selected): Likewise.
6890 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6891 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
6892 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6893 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6894 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6895 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6896 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6897 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6898 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6899 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6900 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6901 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6902 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6903 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6904 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6905 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6906 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6907
02e0b5b2
MJ
69082016-03-07 Martin Jambor <mjambor@suse.cz>
6909
6910 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
6911 non-shared memory accelerators.
6912 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
6913 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
6914 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
6915 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
6916 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6917 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6918 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6919 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6920 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6921
45548f30
MJ
69222016-03-07 Martin Jambor <mjambor@suse.cz>
6923
6924 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
6925 ALWAYS_CFLAGS.
6926
da3d46cb
JJ
69272016-03-02 Jakub Jelinek <jakub@redhat.com>
6928
6929 PR libgomp/69555
6930 * testsuite/libgomp.c++/pr69555-1.C: New test.
6931 * testsuite/libgomp.c++/pr69555-2.C: New test.
6932
622174b2
KM
69332016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
6934 Martin Jambor <mjambor@suse.cz>
6935
6936 * testsuite/lib/libgomp.exp
6937 (check_effective_target_offload_device_shared_as): New proc.
6938 * testsuite/libgomp.c++/declare_target-1.C: New test.
6939
e6861a99
IV
69402016-02-25 Ilya Verbin <ilya.verbin@intel.com>
6941
6942 PR driver/68463
6943 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
6944
f99c3557
TS
69452016-02-23 Thomas Schwinge <thomas@codesourcery.com>
6946
6947 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
6948 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
6949 dims.
6950 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
6951 -ftree-parallelize-loops/-fopenacc changes.
6952 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
6953 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
6954 Likewise.
6955 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
6956 Likewise.
6957 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
6958 Likewise.
6959 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
6960 Likewise.
6961 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
6962 Likewise.
6963 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
6964 Likewise.
6965 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
6966 Likewise.
6967 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
6968 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
6969 Likewise.
6970 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
6971 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
6972 Likewise.
6973 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
6974 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
6975 Likewise.
6976
d5ace3b5
CP
69772016-02-22 Cesar Philippidis <cesar@codesourcery.com>
6978
6979 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
6980
f3609a89
JJ
69812016-02-19 Jakub Jelinek <jakub@redhat.com>
6982
6983 PR driver/69805
6984 * testsuite/libgomp.c/pr69805.c: New test.
6985
2175df99
TV
69862016-02-16 Tom de Vries <tom@codesourcery.com>
6987
6988 PR lto/67709
6989 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
6990
17b6426c
TV
69912016-02-09 Tom de Vries <tom@codesourcery.com>
6992
6993 PR tree-optimization/69599
6994 * testsuite/libgomp.c/omp-nested-3.c: New test.
6995 * testsuite/libgomp.c/pr46032-2.c: New test.
6996 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
6997 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
6998
34df756c
TV
69992016-02-09 Tom de Vries <tom@codesourcery.com>
7000
7001 PR lto/69707
7002 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
7003
5854ee30
AM
70042016-02-02 Alexander Monakov <amonakov@ispras.ru>
7005
7006 * testsuite/libgomp.c/target-31.c: Fix testcase.
7007
e70b6ad7
AM
70082016-02-02 Alexander Monakov <amonakov@ispras.ru>
7009
7010 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
7011 clause.
7012 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
7013 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
7014 reduction and map clauses.
7015 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7016
bd78a45f
JN
70172016-02-02 James Norris <jnorris@codesourcery.com>
7018
7019 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
7020
41d809d3
TS
70212016-02-02 Thomas Schwinge <thomas@codesourcery.com>
7022
18f60146
TS
7023 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
7024 * oacc-parallel.c (GOACC_host_data): Remove function definition.
7025
1a06f5e6
TS
7026 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
7027 cases.
7028
033ff3d1
TS
7029 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
7030 variables.
7031 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
7032 (hsa_kmt_lib): Set variables.
7033 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
7034 always_ld_library_path.
7035 * Makefile.in: Regenerate.
7036 * configure: Likewise.
7037 * testsuite/Makefile.in: Likewise.
7038
4a88d9b7
TS
7039 * plugin/configfrag.ac (offload_additional_options)
7040 (offload_additional_lib_paths): Don't amend for hsa offloading.
7041 * configure: Regenerate.
7042
41d809d3
TS
7043 * plugin/configfrag.ac: Don't configure for offloading target if
7044 we don't build the corresponding plugin.
7045 * configure: Regenerate.
7046
b6adbb9f
NS
70472016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7048
7049 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
7050 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
7051
8dfdb419
TV
70522016-01-26 Tom de Vries <tom@codesourcery.com>
7053
7054 PR tree-optimization/69110
7055 * testsuite/libgomp.c/pr69110.c: New test.
7056
02ef53f2
RB
70572016-01-25 Richard Biener <rguenther@suse.de>
7058
7059 PR lto/69393
7060 * testsuite/libgomp.c++/pr69393.C: New testcase.
7061
eb4048f2
IV
70622016-01-22 Ilya Verbin <ilya.verbin@intel.com>
7063
7064 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
7065 function wasn't mapped to the device with non-shared memory.
7066
b235cdd5
IV
70672016-01-20 Ilya Verbin <ilya.verbin@intel.com>
7068
7069 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
7070
b2b40051
MJ
70712016-01-19 Martin Jambor <mjambor@suse.cz>
7072 Martin Liska <mliska@suse.cz>
7073
7074 * plugin/Makefrag.am: Add HSA plugin requirements.
7075 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
7076 (HSA_RUNTIME_LIB): Likewise.
7077 (HSA_RUNTIME_CPPFLAGS): Likewise.
7078 (HSA_RUNTIME_INCLUDE): New substitution.
7079 (HSA_RUNTIME_LIB): Likewise.
7080 (HSA_RUNTIME_LDFLAGS): Likewise.
7081 (hsa-runtime): New configure option.
7082 (hsa-runtime-include): Likewise.
7083 (hsa-runtime-lib): Likewise.
7084 (PLUGIN_HSA): New substitution variable.
7085 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
7086 configure options.
7087 (PLUGIN_HSA_CPPFLAGS): Likewise.
7088 (PLUGIN_HSA_LDFLAGS): Likewise.
7089 (PLUGIN_HSA_LIBS): Likewise.
7090 Check that we have access to HSA run-time.
7091 * libgomp-plugin.h (offload_target_type): New element
7092 OFFLOAD_TARGET_TYPE_HSA.
7093 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
7094 args.
7095 (bool gomp_create_target_task): Updated.
7096 (gomp_device_descr): Extra parameter of run_func and async_run_func,
7097 new field can_run_func.
7098 * libgomp_g.h (GOMP_target_ext): Update prototype.
7099 * oacc-host.c (host_run): Added a new parameter args.
7100 * target.c (calculate_firstprivate_requirements): New function.
7101 (copy_firstprivate_data): Likewise.
7102 (gomp_target_fallback_firstprivate): Use them.
7103 (gomp_target_unshare_firstprivate): New function.
7104 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
7105 devices.
7106 (GOMP_target): Do host fallback for all shared memory devices. Do not
7107 pass any args to plugins.
7108 (GOMP_target_ext): Introduce device-specific argument parameter args.
7109 Allow host fallback if device shares memory. Do not remap data if
7110 device has shared memory.
7111 (gomp_target_task_fn): Likewise. Also treat shared memory devices
7112 like host fallback for mappings.
7113 (GOMP_target_data): Treat shared memory devices like host fallback.
7114 (GOMP_target_data_ext): Likewise.
7115 (GOMP_target_update): Likewise.
7116 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
7117 gomp_create_target_task.
7118 (GOMP_target_enter_exit_data): Likewise.
7119 (omp_target_alloc): Treat shared memory devices like host fallback.
7120 (omp_target_free): Likewise.
7121 (omp_target_is_present): Likewise.
7122 (omp_target_memcpy): Likewise.
7123 (omp_target_memcpy_rect): Likewise.
7124 (omp_target_associate_ptr): Likewise.
7125 (gomp_load_plugin_for_device): Also load can_run.
7126 * task.c (GOMP_PLUGIN_target_task_completion): Free
7127 firstprivate_copies.
7128 (gomp_create_target_task): Accept new argument args and store it to
7129 ttask.
7130 * plugin/plugin-hsa.c: New file.
7131
5d7804a9
TV
71322016-01-18 Tom de Vries <tom@codesourcery.com>
7133
7134 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
7135 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
7136 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
7137 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
7138 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
7139 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
7140 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
7141 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
7142 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
7143 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
7144 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7145 Same.
7146 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7147 Same.
7148 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
7149 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
7150 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
7151 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
7152 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
7153 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
7154 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
7155 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7156 Same.
7157 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
7158
cb11f3cf
JJ
71592016-01-15 Jakub Jelinek <jakub@redhat.com>
7160
7161 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
7162
33a126a6
CP
71632016-01-15 Cesar Philippidis <cesar@codesourcery.com>
7164
7165 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
7166
cdf6119d
JN
71672016-01-12 James Norris <jnorris@codesourcery.com>
7168
7169 * libgomp.texi: Updates for OpenACC.
7170
0d58938e
AM
71712016-01-11 Alexander Monakov <amonakov@ispras.ru>
7172
7173 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
7174
95918b49
L
71752016-01-07 H.J. Lu <hongjiu.lu@intel.com>
7176
7177 PR fortran/66680
7178 * testsuite/libgomp.fortran/pr66680.f90: New test.
7179
8fc708b7
JJ
71802016-01-07 Jakub Jelinek <jakub@redhat.com>
7181
7182 PR middle-end/68960
7183 * testsuite/libgomp.c/pr68960.c: New test.
7184
e9b596c1
NS
71852016-01-06 Nathan Sidwell <nathan@acm.org>
7186
1a14faf2 7187 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
7188 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
7189
21fa2a29
JJ
71902016-01-04 Jakub Jelinek <jakub@redhat.com>
7191
818ab71a
JJ
7192 Update copyright years.
7193
21fa2a29
JJ
7194 * libgomp.texi: Bump @copying's copyright year.
7195
9310efbc
NS
71962015-12-31 Nathan Sidwell <nathan@acm.org>
7197
7198 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
7199 dg-additional-options syntax.
7200 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
7201 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
7202 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
7203 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7204 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
7205 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
7206 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
7207 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
7208 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
7209 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
7210 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7211 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
7212 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
7213 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
7214 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
7215 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
7216 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7217 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7218
4a38b02b
IV
72192015-12-15 Ilya Verbin <ilya.verbin@intel.com>
7220
7221 * libgomp.h (REFCOUNT_LINK): Define.
7222 (struct splay_tree_key_s): Add link_key.
7223 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
7224 Replace target address of the pointer with target address of newly
7225 mapped object in the splay tree. Set link pointer on target to the
7226 device address of the mapped object.
7227 (gomp_unmap_vars): Restore target address of the pointer in the splay
7228 tree for REFCOUNT_LINK objects after unmapping.
7229 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
7230 declare target link" objects.
7231 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
7232 "omp declare target link" objects, which were mapped for the image.
7233 (gomp_exit_data): Restore target address of the pointer in the splay
7234 tree for REFCOUNT_LINK objects after unmapping.
7235 * testsuite/libgomp.c/target-link-1.c: New file.
7236
d84ffc0a
IV
72372015-12-14 Ilya Verbin <ilya.verbin@intel.com>
7238
7239 * libgomp.h (gomp_device_state): New enum.
7240 (struct gomp_device_descr): Replace is_initialized with state.
7241 (gomp_fini_device): Remove declaration.
7242 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
7243 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
7244 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
7245 (acc_set_device_type): Use state instead of is_initialized.
7246 (acc_set_device_num): Likewise.
7247 * target.c (resolve_device): Use state instead of is_initialized.
7248 Do not initialize finalized device.
7249 (gomp_map_vars): Do nothing if device is finalized.
7250 (gomp_unmap_vars): Likewise.
7251 (gomp_update): Likewise.
7252 (GOMP_offload_register_ver): Use state instead of is_initialized.
7253 (GOMP_offload_unregister_ver): Likewise.
7254 (gomp_init_device): Likewise.
7255 (gomp_unload_device): Likewise.
7256 (gomp_fini_device): Remove.
7257 (gomp_get_target_fn_addr): Do nothing if device is finalized.
7258 (GOMP_target): Go to host fallback if device is finalized.
7259 (GOMP_target_ext): Likewise.
7260 (gomp_exit_data): Do nothing if device is finalized.
7261 (gomp_target_task_fn): Go to host fallback if device is finalized.
7262 (gomp_target_fini): New static function.
7263 (gomp_target_init): Use state instead of is_initialized.
7264 Call gomp_target_fini at exit.
7265
76680678
TV
72662015-12-09 Tom de Vries <tom@codesourcery.com>
7267
7268 PR tree-optimization/68716
7269 * testsuite/libgomp.c/omp-nested-2.c: New test.
7270
ff7a55bf
TS
72712015-12-02 Thomas Schwinge <thomas@codesourcery.com>
7272
7273 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
7274 target openacc_nvidia_accel_selected.
7275 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
7276 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
7277 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
7278 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
7279
37d5ad46
JB
72802015-12-01 Julian Brown <julian@codesourcery.com>
7281 James Norris <James_Norris@mentor.com>
7282
7283 * oacc-parallel.c (GOACC_host_data): New function.
7284 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
7285 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
7286 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
7287 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
7288 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
7289 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
7290 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
7291
db941d7e
CP
72922015-11-30 James Norris <jnorris@codesourcery.com>
7293 Cesar Philippidis <cesar@codesourcery.com>
7294
7295 libgomp/
7296 * libgomp.oacc-fortran/routine-5.f90: New test.
7297 * libgomp.oacc-fortran/routine-7.f90: New test.
7298 * libgomp.oacc-fortran/routine-9.f90: New test.
7299
e0ca27c5
TV
73002015-11-30 Tom de Vries <tom@codesourcery.com>
7301
7302 PR tree-optimization/46032
7303 * testsuite/libgomp.c/pr46032.c: New test.
7304
aec17bfe
JJ
73052015-11-27 Jakub Jelinek <jakub@redhat.com>
7306
8e4e4719
JJ
7307 PR libgomp/68579
7308 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
7309 (gomp_create_target_task): Call it before freeing
7310 GOMP_TARGET_TASK_DATA tasks.
7311
aec17bfe
JJ
7312 PR c/63326
7313 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
7314 in between case label and OpenMP standalone directives.
7315 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
7316
6cfe90e6
DE
73172015-11-26 David Edelsohn <dje.gcc@gmail.com>
7318
7319 * configure: Regenerate.
7320
0e65fd7d
JJ
73212015-11-26 Jakub Jelinek <jakub@redhat.com>
7322
7323 * testsuite/libgomp.c/target-35.c: New test.
7324
dc7a8b4b
JN
73252015-11-22 James Norris <jnorris@codesourcery.com>
7326 Cesar Philippidis <cesar@codesourcery.com>
7327
7328 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
7329 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7330 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7331 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7332 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7333
48a78aee
JJ
73342015-11-20 Jakub Jelinek <jakub@redhat.com>
7335
7336 PR middle-end/68221
7337 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
7338 * testsuite/libgomp.c/reduction-12.c: Likewise.
7339 * testsuite/libgomp.c++/reduction-11.C: Likewise.
7340 * testsuite/libgomp.c++/reduction-12.C: Likewise.
7341
2d256816
NS
73422015-11-19 Nathan Sidwell <nathan@codesourcery.com>
7343
7344 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
7345 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
7346 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
7347 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
7348 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
7349 and fix.
7350 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7351 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7352
33f47f42
NS
73532015-11-18 Nathan Sidwell <nathan@codesourcery.com>
7354
7355 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
7356 worker & gang cases.
7357 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7358
3d7bfee0
CP
73592015-11-17 Cesar Philippidis <cesar@codesourcery.com>
7360
7361 * config/nvptx/priority_queue.c: New file.
7362
00b9bd52
JJ
73632015-11-14 Jakub Jelinek <jakub@redhat.com>
7364
7365 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
7366 sections.
7367
e4606348
JJ
73682015-11-14 Jakub Jelinek <jakub@redhat.com>
7369 Aldy Hernandez <aldyh@redhat.com>
7370 Ilya Verbin <ilya.verbin@intel.com>
7371
7372 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
7373 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
7374 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
7375 iterators or IV by chunk size.
7376 * parallel.c (gomp_resolve_num_threads): Don't assume that
7377 if thr->ts.team is non-NULL, then pool must be non-NULL.
7378 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
7379 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
7380 GOMP_PLUGIN_target_task_completion.
7381 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
7382 * Makefile.in: Regenerate.
7383 * libgomp.h: Shuffle prototypes and forward definitions around so
7384 priority queues can be defined.
7385 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
7386 (enum gomp_target_task_state): New enum.
7387 (struct gomp_target_task): Add state, tgt, task and team fields.
7388 (gomp_create_target_task): Change return type to bool, add
7389 state argument.
7390 (gomp_target_task_fn): Change return type to bool.
7391 (struct gomp_device_descr): Add async_run_func.
7392 (struct gomp_task): Remove children, next_child, prev_child,
7393 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
7394 Add pnode field.
7395 (struct gomp_taskgroup): Remove children.
7396 Add taskgroup_queue.
7397 (struct gomp_team): Change task_queue type to a priority queue.
7398 (splay_compare): Define inline.
7399 (priority_queue_offset): New.
7400 (priority_node_to_task): New.
7401 (task_to_priority_node): New.
7402 * oacc-mem.c: Do not include splay-tree.h.
7403 * priority_queue.c: New file.
7404 * priority_queue.h: New file.
7405 * splay-tree.c: Do not include splay-tree.h.
7406 (splay_tree_foreach_internal): New.
7407 (splay_tree_foreach): New.
7408 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
7409 (splay_tree_callback): Define typedef.
7410 * target.c (splay_compare): Move to libgomp.h.
7411 (GOMP_target): Don't adjust *thr in any way around running offloaded
7412 task.
7413 (GOMP_target_ext): Likewise. Handle target nowait.
7414 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
7415 return value from gomp_create_target_task, if false, fallthrough
7416 as if no dependencies exist.
7417 (gomp_target_task_fn): Change return type to bool, return true
7418 if the task should have another part scheduled later. Handle
7419 target nowait.
7420 (gomp_load_plugin_for_device): Initialize async_run.
7421 * task.c (gomp_init_task): Initialize children_queue.
7422 (gomp_clear_parent_in_list): New.
7423 (gomp_clear_parent_in_tree): New.
7424 (gomp_clear_parent): Handle priorities.
7425 (GOMP_task): Likewise.
7426 (priority_queue_move_task_first,
7427 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
7428 New functions.
7429 (gomp_create_target_task): Use priority queues. Change return type
7430 to bool, add state argument, return false if for async
7431 {{enter,exit} data,update} constructs no dependencies need to be
7432 waited for, handle target nowait. Set task->fn to NULL instead of
7433 gomp_target_task_fn.
7434 (verify_children_queue): Remove.
7435 (priority_list_upgrade_task): New.
7436 (priority_queue_upgrade_task): New.
7437 (verify_task_queue): Remove.
7438 (priority_list_downgrade_task): New.
7439 (priority_queue_downgrade_task): New.
7440 (gomp_task_run_pre): Use priority queues.
7441 Abstract code out to priority_queue_downgrade_task.
7442 (gomp_task_run_post_handle_dependers): Use priority queues.
7443 (gomp_task_run_post_remove_parent): Likewise.
7444 (gomp_task_run_post_remove_taskgroup): Likewise.
7445 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
7446 tasks specially.
7447 (GOMP_taskwait): Likewise.
7448 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
7449 priority-queue_upgrade_task.
7450 (GOMP_taskgroup_start): Use priority queues.
7451 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
7452 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
7453 barrier.
7454 * taskloop.c (GOMP_taskloop): Handle priorities.
7455 * team.c (gomp_new_team): Call priority_queue_init.
7456 (free_team): Call priority_queue_free.
7457 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
7458 team created for target nowait in implicit parallel region.
7459 (gomp_team_start): For nested check, test thr->ts.level instead of
7460 thr->ts.team != NULL.
7461 * testsuite/libgomp.c/doacross-3.c: New test.
7462 * testsuite/libgomp.c/ordered-5.c: New test.
7463 * testsuite/libgomp.c/priority.c: New test.
7464 * testsuite/libgomp.c/target-31.c: New test.
7465 * testsuite/libgomp.c/target-32.c: New test.
7466 * testsuite/libgomp.c/target-33.c: New test.
7467 * testsuite/libgomp.c/target-34.c: New test.
7468
1d1ab74f
NS
74692015-11-13 Nathan Sidwell <nathan@codesourcery.com>
7470
c5a64cfe
NS
7471 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
7472
1d1ab74f
NS
7473 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
7474 loop is sequential.
7475
dd3c1b14
NS
74762015-11-13 Nathan Sidwell <nathan@codesourcery.com>
7477
7478 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
7479 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
7480
6e232ba4
JN
74812015-11-12 James Norris <jnorris@codesourcery.com>
7482 Joseph Myers <joseph@codesourcery.com>
7483
7484 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
7485 * oacc-parallel.c (GOACC_declare): New function.
7486 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
7487 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
7488 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
7489 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
7490 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
7491
fffeedeb
NS
74922015-11-12 Nathan Sidwell <nathan@codesourcery.com>
7493
7494 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
7495
182190f2
NS
74962015-11-1 Nathan Sidwell <nathan@codesourcery.com>
7497
7498 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7499 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7500
36fa0f5f
NS
75012015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7502
d350c40c
NS
7503 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7504 inadvertent commit.
7505
75062015-11-09 Nathan Sidwell <nathan@codesourcery.com>
7507
36fa0f5f
NS
7508 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7509 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7510 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7511 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7512 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7513
66a5f0b4
TS
75142015-11-06 Thomas Schwinge <thomas@codesourcery.com>
7515
7516 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7517 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7518
e01d41e5
JJ
75192015-11-05 Jakub Jelinek <jakub@redhat.com>
7520 Ilya Verbin <ilya.verbin@intel.com>
7521
7522 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7523 GOMP_loop_nonmonotonic_dynamic_start,
7524 GOMP_loop_nonmonotonic_guided_next,
7525 GOMP_loop_nonmonotonic_guided_start,
7526 GOMP_loop_ull_nonmonotonic_dynamic_next,
7527 GOMP_loop_ull_nonmonotonic_dynamic_start,
7528 GOMP_loop_ull_nonmonotonic_guided_next,
7529 GOMP_loop_ull_nonmonotonic_guided_start,
7530 GOMP_parallel_loop_nonmonotonic_dynamic,
7531 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7532 (GOMP_target_41): Renamed to ...
7533 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7534 arguments.
7535 (GOMP_target_data_41): Renamed to ...
7536 (GOMP_target_data_ext): ... this.
7537 (GOMP_target_update_41): Renamed to ...
7538 (GOMP_target_update_ext): ... this.
7539 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7540 GOMP_target_data_ext and GOMP_target_update_ext instead of
7541 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7542 Export GOMP_loop_nonmonotonic_dynamic_next,
7543 GOMP_loop_nonmonotonic_dynamic_start,
7544 GOMP_loop_nonmonotonic_guided_next,
7545 GOMP_loop_nonmonotonic_guided_start,
7546 GOMP_loop_ull_nonmonotonic_dynamic_next,
7547 GOMP_loop_ull_nonmonotonic_dynamic_start,
7548 GOMP_loop_ull_nonmonotonic_guided_next,
7549 GOMP_loop_ull_nonmonotonic_guided_start,
7550 GOMP_parallel_loop_nonmonotonic_dynamic and
7551 GOMP_parallel_loop_nonmonotonic_guided.
7552 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7553 GOMP_parallel_loop_nonmonotonic_guided,
7554 GOMP_loop_nonmonotonic_dynamic_start,
7555 GOMP_loop_nonmonotonic_guided_start,
7556 GOMP_loop_nonmonotonic_dynamic_next,
7557 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7558 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7559 GOMP_loop_ull_nonmonotonic_guided_start,
7560 GOMP_loop_ull_nonmonotonic_dynamic_next,
7561 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7562 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7563 functions.
7564 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
7565 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7566 Use gomp_map_val function.
7567 (gomp_target_fallback_firstprivate): New static function.
7568 (GOMP_target_41): Renamed to ...
7569 (GOMP_target_ext): ... this. Add num_teams and thread_limit
7570 arguments. Move firstprivate fallback handling into a new
7571 function.
7572 (GOMP_target_data_41): Renamed to ...
7573 (GOMP_target_data_ext): ... this.
7574 (GOMP_target_update_41): Renamed to ...
7575 (GOMP_target_update_ext): ... this.
7576 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7577 gomp_map_0len_lookup instead of gomp_map_lookup.
7578 (omp_target_is_present): Use gomp_map_0len_lookup instead of
7579 gomp_map_lookup.
7580 * testsuite/libgomp.c/target-28.c: Likewise.
7581 * testsuite/libgomp.c/monotonic-1.c: New test.
7582 * testsuite/libgomp.c/monotonic-2.c: New test.
7583 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7584 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7585 * testsuite/libgomp.c/pr66199-5.c: New test.
7586 * testsuite/libgomp.c/pr66199-6.c: New test.
7587 * testsuite/libgomp.c/pr66199-7.c: New test.
7588 * testsuite/libgomp.c/pr66199-8.c: New test.
7589 * testsuite/libgomp.c/pr66199-9.c: New test.
7590 * testsuite/libgomp.c/reduction-11.c: New test.
7591 * testsuite/libgomp.c/reduction-12.c: New test.
7592 * testsuite/libgomp.c/reduction-13.c: New test.
7593 * testsuite/libgomp.c/reduction-14.c: New test.
7594 * testsuite/libgomp.c/reduction-15.c: New test.
7595 * testsuite/libgomp.c/target-12.c (main): Adjust for
7596 omp_target_is_present change for one-past-last element.
7597 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7598 the same var is both mapped and privatized.
7599 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7600 handling of zero-length array sections.
7601 * testsuite/libgomp.c/target-28.c: New test.
7602 * testsuite/libgomp.c/target-29.c: New test.
7603 * testsuite/libgomp.c/target-30.c: New test.
7604 * testsuite/libgomp.c/target-teams-1.c: New test.
7605 * testsuite/libgomp.c++/member-6.C: New test.
7606 * testsuite/libgomp.c++/member-7.C: New test.
7607 * testsuite/libgomp.c++/monotonic-1.C: New test.
7608 * testsuite/libgomp.c++/monotonic-2.C: New test.
7609 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7610 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7611 * testsuite/libgomp.c++/pr66199-3.C: New test.
7612 * testsuite/libgomp.c++/pr66199-4.C: New test.
7613 * testsuite/libgomp.c++/pr66199-5.C: New test.
7614 * testsuite/libgomp.c++/pr66199-6.C: New test.
7615 * testsuite/libgomp.c++/pr66199-7.C: New test.
7616 * testsuite/libgomp.c++/pr66199-8.C: New test.
7617 * testsuite/libgomp.c++/pr66199-9.C: New test.
7618 * testsuite/libgomp.c++/reduction-11.C: New test.
7619 * testsuite/libgomp.c++/reduction-12.C: New test.
7620 * testsuite/libgomp.c++/target-13.C: New test.
7621 * testsuite/libgomp.c++/target-14.C: New test.
7622 * testsuite/libgomp.c++/target-15.C: New test.
7623 * testsuite/libgomp.c++/target-16.C: New test.
7624 * testsuite/libgomp.c++/target-17.C: New test.
7625 * testsuite/libgomp.c++/target-18.C: New test.
7626 * testsuite/libgomp.c++/target-19.C: New test.
7627
ccc8282b
NS
76282015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7629
7630 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7631 and reduction copy.
7632 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7633 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7634 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7635 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7636 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7637 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7638 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7639 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7640 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7641 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7642 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7643 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7644 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7645 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7646
5d6823a2
NS
76472015-11-04 Nathan Sidwell <nathan@codesourcery.com>
7648
7649 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7650 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7651 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7652 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7653 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7654 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7655 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7656 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7657
5c06742f
NS
76582015-11-03 Nathan Sidwell <nathan@codesourcery.com>
7659
7660 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7661 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7662 (GOMP_OFFLOAD_openacc_parallel): Likewise.
7663 * oacc-host.c (host_openacc_exec): Likewise.
7664 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7665
4bf9e5a8
TS
76662015-11-03 Julian Brown <julian@codesourcery.com>
7667 Thomas Schwinge <thomas@codesourcery.com>
7668
7669 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7670 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7671 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7672 Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7674 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7675
76762015-11-03 James Norris <jnorris@codesourcery.com>
7677
7678 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7679 file.
7680 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7681 Likewise.
7682 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7683 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7684 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7685 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7686 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7687
a0e701d8
NS
76882015-10-29 Nathan Sidwell <nathan@codesourcery.com>
7689
7690 * openacc.h (enum acc_device_t): Reformat. Ensure layout
7691 compatibility.
7692 (enum acc_async_t): Reformat.
7693 (acc_on_device): Declare compatible with builtin and provide C++
7694 wrapper.
7695 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7696
41e977ac
TS
76972015-10-29 Thomas Schwinge <thomas@codesourcery.com>
7698 Cesar Philippidis <cesar@codesourcery.com>
7699
7700 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7701 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7702 ... this. Add a description of the test at the top of the file.
7703 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7704 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7705 ... this. Add a description of the test at the top of the file.
7706
e3091406
NS
77072015-10-28 Nathan Sidwell <nathan@codesourcery.com>
7708
7709 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7710 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7711 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7712 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7713 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7714 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7715
a1c1908b
NS
77162015-10-27 Nathan Sidwell <nathan@codesourcery.com>
7717
7718 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7719 dimensions.
7720
b3962a4a
TS
77212015-10-27 Thomas Schwinge <thomas@codesourcery.com>
7722
7723 PR testsuite/68063
7724 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7725
88bae6f4
TS
77262015-10-27 James Norris <jnorris@codesourcery.com>
7727
7728 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7729 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7730
8baa7864
TS
77312015-10-26 Thomas Schwinge <thomas@codesourcery.com>
7732
bdeb752c
TS
7733 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7734 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7735
ecd4fd43
TS
7736 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7737 acc_device_nvidia usage.
7738 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7739 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7740 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7741
aa8b7d30
TS
7742 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7743 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7744
7c8f138d
TS
7745 PR libgomp/66518
7746 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7747
8baa7864
TS
7748 PR libgomp/65437
7749 PR libgomp/66518
7750 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7751 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7752
88ebcde5
TV
77532015-10-23 Tom de Vries <tom@codesourcery.com>
7754
7755 PR testsuite/68063
7756 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7757
9ef83c04
NS
77582015-10-20 Nathan Sidwell <nathan@codesourcery.com>
7759
7760 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7761 vector_length.
7762 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7763
3837c6d6
IV
77642015-10-14 Ilya Verbin <ilya.verbin@intel.com>
7765 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
7766
7767 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7768 to 0 when mapnum is 0.
7769
ac8a1965
SH
77702015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
7771
7772 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7773 Cast to int from int32_t.
7774
d9a6bd32
JJ
77752015-10-13 Jakub Jelinek <jakub@redhat.com>
7776 Aldy Hernandez <aldyh@redhat.com>
7777 Ilya Verbin <ilya.verbin@intel.com>
7778
7779 * config/linux/affinity.c (omp_get_place_num_procs,
7780 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7781 * config/linux/doacross.h: New file.
7782 * config/posix/affinity.c (omp_get_place_num_procs,
7783 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7784 * config/posix/doacross.h: New file.
7785 * env.c: Include gomp-constants.h.
7786 (struct gomp_task_icv): Rename run_sched_modifier to
7787 run_sched_chunk_size.
7788 (gomp_max_task_priority_var): New variable.
7789 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7790 (handle_omp_display_env): Change _OPENMP value from 201307 to
7791 201511. Print OMP_MAX_TASK_PRIORITY.
7792 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7793 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7794 chunk_size and run_sched_modifier to run_sched_chunk_size.
7795 (omp_get_max_task_priority, omp_get_initial_device,
7796 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7797 omp_get_partition_place_nums): New functions.
7798 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7799 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7800 to chunk_size.
7801 (omp_get_num_places_, omp_get_place_num_procs_,
7802 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7803 omp_get_place_proc_ids_8_, omp_get_place_num_,
7804 omp_get_partition_num_places_, omp_get_partition_place_nums_,
7805 omp_get_partition_place_nums_8_, omp_get_initial_device_,
7806 omp_get_max_task_priority_): New functions.
7807 * libgomp_g.h (GOMP_loop_doacross_static_start,
7808 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7809 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7810 GOMP_loop_ull_doacross_dynamic_start,
7811 GOMP_loop_ull_doacross_guided_start,
7812 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7813 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7814 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7815 GOMP_target_data_41, GOMP_target_update_41,
7816 GOMP_target_enter_exit_data): New prototypes.
7817 (GOMP_task): Add prototype argument.
7818 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7819 (struct gomp_doacross_work_share): New type.
7820 (struct gomp_work_share): Add doacross field.
7821 (struct gomp_task_icv): Rename run_sched_modifier to
7822 run_sched_chunk_size.
7823 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7824 GOMP_TASK_UNDEFERRED. Add comments.
7825 (struct gomp_task_depend_entry): Add comments.
7826 (struct gomp_task): Likewise.
7827 (struct gomp_taskgroup): Likewise.
7828 (struct gomp_target_task): New type.
7829 (struct gomp_team): Add comment.
7830 (gomp_get_place_proc_ids_8, gomp_doacross_init,
7831 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7832 gomp_create_target_task, gomp_target_task_fn): New prototypes.
7833 (struct target_var_desc): New type.
7834 (struct target_mem_desc): Adjust comment. Use struct
7835 target_var_desc instead of splay_tree_key for list.
7836 (REFCOUNT_INFINITY): Define.
7837 (struct splay_tree_key_s): Remove copy_from field.
7838 (struct gomp_device_descr): Add dev2dev_func field.
7839 (enum gomp_map_vars_kind): New enum.
7840 (gomp_map_vars): Add one argument.
7841 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7842 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7843 omp_get_place_num_procs, omp_get_place_num_procs_,
7844 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7845 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7846 omp_get_place_num_, omp_get_partition_num_places,
7847 omp_get_partition_num_places_, omp_get_partition_place_nums,
7848 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7849 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7850 omp_target_free, omp_target_is_present, omp_target_memcpy,
7851 omp_target_memcpy_rect, omp_target_associate_ptr and
7852 omp_target_disassociate_ptr.
7853 (GOMP_4.0.2): Renamed to ...
7854 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
7855 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7856 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7857 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7858 GOMP_loop_doacross_static_start, GOMP_doacross_post,
7859 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7860 GOMP_loop_ull_doacross_guided_start,
7861 GOMP_loop_ull_doacross_runtime_start,
7862 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7863 GOMP_doacross_ull_wait.
7864 * libgomp.texi: Document omp_get_max_task_priority.
7865 Rename modifier argument to chunk_size for omp_set_schedule and
7866 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
7867 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7868 to run_sched_chunk_size renaming.
7869 (GOMP_loop_ordered_runtime_start): Likewise.
7870 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7871 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7872 GOMP_parallel_loop_runtime_start): New functions.
7873 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7874 to run_sched_chunk_size renaming.
7875 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7876 GOMP_loop_doacross_guided_start): New functions or aliases.
7877 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7878 run_sched_modifier to run_sched_chunk_size renaming.
7879 (GOMP_loop_ull_ordered_runtime_start): Likewise.
7880 (gomp_loop_ull_doacross_static_start,
7881 gomp_loop_ull_doacross_dynamic_start,
7882 gomp_loop_ull_doacross_guided_start,
7883 GOMP_loop_ull_doacross_runtime_start): New functions.
7884 (GOMP_loop_ull_doacross_static_start,
7885 GOMP_loop_ull_doacross_dynamic_start,
7886 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
7887 * oacc-mem.c (acc_map_data, present_create_copy,
7888 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
7889 to gomp_map_vars.
7890 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
7891 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
7892 instead of false to gomp_map_vars.
7893 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
7894 * omp.h.in (omp_lock_hint_t): New type.
7895 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7896 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7897 omp_get_place_num, omp_get_partition_num_places,
7898 omp_get_partition_place_nums, omp_get_initial_device,
7899 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
7900 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
7901 omp_target_associate_ptr, omp_target_disassociate_ptr): New
7902 prototypes.
7903 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
7904 (omp_lock_hint_none, omp_lock_hint_uncontended,
7905 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7906 omp_lock_hint_speculative): New parameters.
7907 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7908 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7909 omp_get_place_num, omp_get_partition_num_places,
7910 omp_get_partition_place_nums, omp_get_initial_device,
7911 omp_get_max_task_priority): New interfaces.
7912 (omp_set_schedule, omp_get_schedule): Rename modifier argument
7913 to chunk_size.
7914 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
7915 (omp_lock_hint_none, omp_lock_hint_uncontended,
7916 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
7917 omp_lock_hint_speculative): New parameters.
7918 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
7919 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
7920 omp_get_place_num, omp_get_partition_num_places,
7921 omp_get_partition_place_nums, omp_get_initial_device,
7922 omp_get_max_task_priority): New functions and subroutines.
7923 * ordered.c: Include stdarg.h and string.h.
7924 (MAX_COLLAPSED_BITS): Define.
7925 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
7926 gomp_doacross_ull_init, GOMP_doacross_ull_post,
7927 GOMP_doacross_ull_wait): New functions.
7928 * target.c: Include errno.h.
7929 (resolve_device): If device is not initialized, call
7930 gomp_init_device on it.
7931 (gomp_map_lookup): New function.
7932 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
7933 Don't bump refcount if REFCOUNT_INFINITY. Handle
7934 GOMP_MAP_ALWAYS_TO_P.
7935 (get_kind): Rename is_openacc argument to short_mapkind.
7936 (gomp_map_pointer): Use gomp_map_lookup.
7937 (gomp_map_fields_existing): New function.
7938 (gomp_map_vars): Rename is_openacc argument to short_mapkind
7939 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
7940 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
7941 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
7942 Adjust for tgt->list changed type and copy_from living in there.
7943 (gomp_copy_from_async): Adjust for tgt->list changed type and
7944 copy_from living in there.
7945 (gomp_unmap_vars): Likewise.
7946 (gomp_update): Likewise. Rename is_openacc argument to
7947 short_mapkind. Don't fail if object is not mapped.
7948 (gomp_load_image_to_device): Initialize refcount to
7949 REFCOUNT_INFINITY.
7950 (gomp_target_fallback): New function.
7951 (gomp_get_target_fn_addr): Likewise.
7952 (GOMP_target): Adjust gomp_map_vars caller, use
7953 gomp_get_target_fn_addr and gomp_target_fallback.
7954 (GOMP_target_41): New function.
7955 (gomp_target_data_fallback): New function.
7956 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
7957 (GOMP_target_data_41): New function.
7958 (GOMP_target_update): Adjust gomp_update caller.
7959 (GOMP_target_update_41): New function.
7960 (gomp_exit_data, GOMP_target_enter_exit_data,
7961 gomp_target_task_fn, omp_target_alloc, omp_target_free,
7962 omp_target_is_present, omp_target_memcpy,
7963 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
7964 omp_target_associate_ptr, omp_target_disassociate_ptr,
7965 gomp_load_plugin_for_device): New functions.
7966 * task.c: Include gomp-constants.h. Include taskloop.c
7967 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
7968 (gomp_task_handle_depend): New function.
7969 (GOMP_task): Use it. Add priority argument. Use
7970 gomp-constant.h constants instead of hardcoded numbers.
7971 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
7972 (gomp_create_target_task): New function.
7973 (verify_children_queue, verify_taskgroup_queue,
7974 verify_task_queue): New functions.
7975 (gomp_task_run_pre): Call verify_*_queue functions.
7976 If an upcoming tied task is about to leave the sibling or
7977 taskgroup queues in an invalid state, adjust appropriately.
7978 Remove taskgroup argument. Add comments.
7979 (gomp_task_run_post_handle_dependers): Add comments.
7980 (gomp_task_run_post_remove_parent): Likewise.
7981 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
7982 (GOMP_taskwait): Likewise. Add comments.
7983 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
7984 problem such that the first non parent_depends_on task does not
7985 end up at the end of the children queue.
7986 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
7987 GOMP_TASK_UNDEFERRED.
7988 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
7989 * taskloop.c: New file.
7990 * testsuite/lib/libgomp.exp
7991 (check_effective_target_offload_device_nonshared_as): New proc.
7992 * testsuite/libgomp.c/affinity-2.c: New test.
7993 * testsuite/libgomp.c/doacross-1.c: New test.
7994 * testsuite/libgomp.c/doacross-2.c: New test.
7995 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
7996 Add map clause to target.
7997 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
7998 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
7999 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
8000 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
8001 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
8002 Likewise.
8003 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
8004 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
8005 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
8006 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
8007 not defined. Use those where needed.
8008 * testsuite/libgomp.c/for-4.c: New test.
8009 * testsuite/libgomp.c/for-5.c: New test.
8010 * testsuite/libgomp.c/for-6.c: New test.
8011 * testsuite/libgomp.c/linear-1.c: New test.
8012 * testsuite/libgomp.c/ordered-4.c: New test.
8013 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
8014 only allowed on the loop iterator.
8015 * testsuite/libgomp.c/pr66199-3.c: New test.
8016 * testsuite/libgomp.c/pr66199-4.c: New test.
8017 * testsuite/libgomp.c/reduction-7.c: New test.
8018 * testsuite/libgomp.c/reduction-8.c: New test.
8019 * testsuite/libgomp.c/reduction-9.c: New test.
8020 * testsuite/libgomp.c/reduction-10.c: New test.
8021 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
8022 map(tofrom:s).
8023 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
8024 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
8025 * testsuite/libgomp.c/target-11.c: New test.
8026 * testsuite/libgomp.c/target-12.c: New test.
8027 * testsuite/libgomp.c/target-13.c: New test.
8028 * testsuite/libgomp.c/target-14.c: New test.
8029 * testsuite/libgomp.c/target-15.c: New test.
8030 * testsuite/libgomp.c/target-16.c: New test.
8031 * testsuite/libgomp.c/target-17.c: New test.
8032 * testsuite/libgomp.c/target-18.c: New test.
8033 * testsuite/libgomp.c/target-19.c: New test.
8034 * testsuite/libgomp.c/target-20.c: New test.
8035 * testsuite/libgomp.c/target-21.c: New test.
8036 * testsuite/libgomp.c/target-22.c: New test.
8037 * testsuite/libgomp.c/target-23.c: New test.
8038 * testsuite/libgomp.c/target-24.c: New test.
8039 * testsuite/libgomp.c/target-25.c: New test.
8040 * testsuite/libgomp.c/target-26.c: New test.
8041 * testsuite/libgomp.c/target-27.c: New test.
8042 * testsuite/libgomp.c/taskloop-1.c: New test.
8043 * testsuite/libgomp.c/taskloop-2.c: New test.
8044 * testsuite/libgomp.c/taskloop-3.c: New test.
8045 * testsuite/libgomp.c/taskloop-4.c: New test.
8046 * testsuite/libgomp.c++/ctor-13.C: New test.
8047 * testsuite/libgomp.c++/doacross-1.C: New test.
8048 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
8049 Replace offload_device with offload_device_nonshared_as.
8050 * testsuite/libgomp.c++/for-12.C: New test.
8051 * testsuite/libgomp.c++/for-13.C: New test.
8052 * testsuite/libgomp.c++/for-14.C: New test.
8053 * testsuite/libgomp.c++/linear-1.C: New test.
8054 * testsuite/libgomp.c++/member-1.C: New test.
8055 * testsuite/libgomp.c++/member-2.C: New test.
8056 * testsuite/libgomp.c++/member-3.C: New test.
8057 * testsuite/libgomp.c++/member-4.C: New test.
8058 * testsuite/libgomp.c++/member-5.C: New test.
8059 * testsuite/libgomp.c++/ordered-1.C: New test.
8060 * testsuite/libgomp.c++/reduction-5.C: New test.
8061 * testsuite/libgomp.c++/reduction-6.C: New test.
8062 * testsuite/libgomp.c++/reduction-7.C: New test.
8063 * testsuite/libgomp.c++/reduction-8.C: New test.
8064 * testsuite/libgomp.c++/reduction-9.C: New test.
8065 * testsuite/libgomp.c++/reduction-10.C: New test.
8066 * testsuite/libgomp.c++/reference-1.C: New test.
8067 * testsuite/libgomp.c++/simd14.C: New test.
8068 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
8069 * testsuite/libgomp.c++/target-5.C: New test.
8070 * testsuite/libgomp.c++/target-6.C: New test.
8071 * testsuite/libgomp.c++/target-7.C: New test.
8072 * testsuite/libgomp.c++/target-8.C: New test.
8073 * testsuite/libgomp.c++/target-9.C: New test.
8074 * testsuite/libgomp.c++/target-10.C: New test.
8075 * testsuite/libgomp.c++/target-11.C: New test.
8076 * testsuite/libgomp.c++/target-12.C: New test.
8077 * testsuite/libgomp.c++/taskloop-1.C: New test.
8078 * testsuite/libgomp.c++/taskloop-2.C: New test.
8079 * testsuite/libgomp.c++/taskloop-3.C: New test.
8080 * testsuite/libgomp.c++/taskloop-4.C: New test.
8081 * testsuite/libgomp.c++/taskloop-5.C: New test.
8082 * testsuite/libgomp.c++/taskloop-6.C: New test.
8083 * testsuite/libgomp.c++/taskloop-7.C: New test.
8084 * testsuite/libgomp.c++/taskloop-8.C: New test.
8085 * testsuite/libgomp.c++/taskloop-9.C: New test.
8086 * testsuite/libgomp.fortran/affinity1.f90: New test.
8087 * testsuite/libgomp.fortran/affinity2.f90: New test.
8088
1f600fea
TV
80892015-10-13 Tom de Vries <tom@codesourcery.com>
8090
8091 PR tree-optimization/67476
8092 * testsuite/libgomp.c/autopar-3.c: New test.
8093 * testsuite/libgomp.c/autopar-4.c: New test.
8094 * testsuite/libgomp.c/autopar-5.c: New test.
8095 * testsuite/libgomp.c/autopar-6.c: New test.
8096 * testsuite/libgomp.c/autopar-7.c: New test.
8097 * testsuite/libgomp.c/autopar-8.c: New test.
8098
058a654b
JN
80992015-10-12 James Norris <jnorris@codesourcery.com>
8100
8101 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
8102 initializer.
8103
9e531d37
DM
81042015-10-09 David Malcolm <dmalcolm@redhat.com>
8105
8106 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
8107 using load_gcc_lib.
8108
113020dc
TS
81092015-10-02 Thomas Schwinge <thomas@codesourcery.com>
8110
8111 * oacc-ptx.h: Remove file, moving its content into...
8112 * config/nvptx/fortran.c: ... here...
8113 * config/nvptx/oacc-init.c: ..., here...
8114 * config/nvptx/oacc-parallel.c: ..., and here.
8115 * config/nvptx/openacc.f90: New file.
8116 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
8117 (link_ptx): Don't link in predefined bits of PTX code.
8118
cc3cd79b
NS
81192015-09-30 Nathan Sidwell <nathan@codesourcery.com>
8120 Bernd Schmidt <bernds@codesourcery.com>
8121
8122 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
8123 (struct targ_ptx_obj): New.
8124 (nvptx_tdata): Move earlier, change data format.
8125 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
8126 objects.
8127 (GOMP_OFFLOAD_load_image): Adjust.
8128
4e2a5450
TS
81292015-09-30 Thomas Schwinge <thomas@codesourcery.com>
8130
8131 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
8132 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8133 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8134 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8135 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8136 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8137 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8138 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8139 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8140 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8141 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8142 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8143 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8144 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8145 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8146 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8147 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8148 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8149 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8150 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8151 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8152 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8153 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8154 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8155 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8156 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8157 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8158 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8159 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8160 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8161 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8162 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8163 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8164 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8165 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8166 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8167 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8168 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8169 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8170 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8171 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8172 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8173 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8174 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8175 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8176 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8177 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8178 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8179 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8180 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8181 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8182 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8183 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8184 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8185 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8186 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8187 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8188 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8189 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8190 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8191 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8192 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8193 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8194
164453bb
NS
81952015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8196
8197 * oacc-init.c (acc_on_device): Force optimization level.
8198
a12a0437
NS
81992015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8200
8201 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
8202 (cuda_errlist): Delete.
8203 (cuda_error): Reimplement.
8204
3e32ee19
NS
82052015-09-28 Nathan Sidwell <nathan@codesourcery.com>
8206
8207 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
8208 array.
8209 * libgomp.map (GOACC_parallel_keyed): New.
8210 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
8211 all callers.
8212 (GOACC_parallel_keyed): New interface. Lose geometry arguments
8213 and take keyed varargs list. Adjust call to exec_func.
8214 (GOACC_parallel): Force host fallback.
8215 * libgomp_g.h (GOACC_parallel): Remove.
8216 (GOACC_parallel_keyed): Declare.
8217 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 8218 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
8219 (nvptx_exec): Lose separate geometry args, take array. Process
8220 dynamic dimensions and adjust.
8221 (struct nvptx_tdata): Replace fn_names field with fn_descs.
8222 (GOMP_OFFLOAD_load_image): Adjust for change in function table
8223 data.
8224 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
8225 passing.
8226 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
8227 passing.
8228
6bb4c3e2
CLT
82292015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
8230
8231 PR libgomp/67141
8232 * oacc-int.h (goacc_host_init): Add declaration.
8233 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
8234 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
8235
74032f47 82362015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 8237 Sebastian Pop <s.pop@samsung.com>
74032f47 8238
93d90219 8239 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
8240 match o/p.
8241 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
8242 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
8243 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
8244 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
8245 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
8246
97875f4a
JJ
82472015-09-03 Jakub Jelinek <jakub@redhat.com>
8248
8249 * configure.tgt: Add missing ;; in between nvptx and rtems
8250 snippets.
8251
06441dd5
SH
82522015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8253
8254 * config/posix/pool.h (gomp_adjust_thread_attr): New.
8255 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
8256 (gomp_thread_pool_reservoir): Add priority member.
8257 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
8258 priority.
8259 (parse_thread_pools): Likewise.
8260 * team.c (gomp_team_start): Call configuration provided
8261 gomp_adjust_thread_attr(). Destroy thread attributes if
8262 necessary.
8263 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
8264
66c59f92
SH
82652015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8266
8267 * config/posix/pool.h: New.
8268 * config/rtems/pool.h: Likewise.
8269 * config/rtems/proc.c: Likewise.
8270 * libgomp.h (gomp_thread_destructor): Declare.
8271 * team.c: Include configuration provided "pool.h".
8272 (gomp_get_thread_pool): Define in configuration.
8273 (gomp_team_end): Call configuration defined
8274 gomp_release_thread_pool().
8275
13c41b2e
SH
82762015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8277
8278 * config/rtems/bar.c: New.
8279 * config/rtems/bar.h: Likewise.
8280 * config/rtems/mutex.c: Likewise.
8281 * config/rtems/mutex.h: Likewise.
8282 * config/rtems/sem.c: Likewise.
8283 * config/rtems/sem.h: Likewise.
8284 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
8285 <sys/lock.h> header file.
8286 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
8287 supported by Newlib.
8288 * configure: Regenerate.
8289
7892ec67
SH
82902015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
8291
8292 * team.c (gomp_new_thread_pool): Delete and move content to ...
8293 (gomp_get_thread_pool): ... new function. Allocate and
8294 initialize thread pool on demand.
8295 (get_last_team): Use gomp_get_thread_pool().
8296 (gomp_team_start): Delete thread pool initialization.
8297
1b96e9a4
TV
82982015-09-03 Tom de Vries <tom@codesourcery.com>
8299
8300 PR tree-optimization/65637
8301 * testsuite/libgomp.c/autopar-2.c: New test.
8302
3ff2d74e
TV
83032015-08-29 Tom de Vries <tom@codesourcery.com>
8304
8305 PR tree-optimization/46193
8306 * testsuite/libgomp.c/pr46193.c: New test.
8307
2a21ff19
NS
83082015-08-24 Nathan Sidwell <nathan@codesourcery.com>
8309
8310 libgomp/
8311 * libgomp.map: Add 4.0.2 version.
8312 * target.c (offload_image_descr): Add version field.
8313 (gomp_load_image_to_device): Add version argument. Adjust plugin
8314 call. Improve load mismatch diagnostic.
8315 (gomp_unload_image_from_device): Add version argument. Adjust plugin
8316 call.
8317 (GOMP_offload_regster): Make stub function, move bulk to ...
8318 (GOMP_offload_register_ver): ... here. Process version argument.
8319 (GOMP_offload_unregister): Make stub function, move bulk to ...
8320 (GOMP_offload_unregister_ver): ... here. Process version argument.
8321 (gomp_init_device): Process version field.
8322 (gomp_unload_device): Process version field.
8323 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
8324 macros. Check plugin version.
8325 * libgomp.h (gomp_device_descr): Add version function field. Adjust
8326 loader and unloader types.
8327 * oacc-host.c: Include gomp-constants.h.
8328 (host_version): New.
8329 (host_load_image, host_unload_image): Adjust.
8330 (host_dispatch): Add host_version.
8331 * plugin/plugin-nvptx.c: Include gomp-constants.h.
8332 (GOMP_OFFLOAD_version): New.
8333 (GOMP_OFFLOAD_load_image): Add version arg and check it.
8334 (GOMP_OFFLOAD_unload_image): Likewise.
8335 * plugin/plugin-host.c: Include gomp-constants.h.
8336 (GOMP_OFFLOAD_version): New.
8337 (GOMP_OFFLOAD_load_image): Add version arg.
8338 (GOMP_OFFLOAD_unload_image): Likewise.
8339
1358a747
TV
83402015-08-24 Tom de Vries <tom@codesourcery.com>
8341
8342 PR tree-optimization/65468
8343 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
8344
6be5c241
TV
83452015-08-24 Tom de Vries <tom@codesourcery.com>
8346
8347 PR tree-optimization/65468
8348 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
8349
bfe7ac89
JV
83502015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
8351
8352 PR libgomp/66761
8353 PR libgomp/67303
8354 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
8355 (gomp_iter_guided_next): Idem.
8356 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
8357 (gomp_iter_ull_guided_next): Idem.
8358 * config/linux/wait.h (do_spin): Idem.
8359
b97e78b7
TS
83602015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8361
8362 * libgomp-plugin.h (enum offload_target_type): Remove
8363 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
8364 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
8365 * openacc.h (enum acc_device_t): Likewise.
8366 * openacc_lib.h: Likewise.
8367 * oacc-init.c (name_of_acc_device_t): Don't handle it.
8368 (acc_on_device): Just use __builtin_acc_on_device.
8369 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
8370 of acc_on_device builtin.
8371 * plugin/plugin-host.h: Remove file.
8372 * plugin/plugin-host.c: Likewise, but salvage some content into...
8373 * oacc-host.c: ... this file.
8374 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
8375 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
8376 * Makefile.in: Regenerate.
8377 * configure: Likewise.
8378 * testsuite/lib/libgomp.exp
8379 (check_effective_target_openacc_host_nonshm_selected): Remove.
8380 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
8381 ACC_DEVICE_TYPE=host_nonshm.
8382 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8383 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8384 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8385 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8386 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8387 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8388
44a7d18d
TS
83892015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8390 Jakub Jelinek <jakub@redhat.com>
8391
8392 * config/nvptx/affinity.c: New file.
8393 * config/nvptx/alloc.c: Likewise.
8394 * config/nvptx/bar.c: Likewise.
8395 * config/nvptx/barrier.c: Likewise.
8396 * config/nvptx/critical.c: Likewise.
8397 * config/nvptx/env.c: Likewise.
8398 * config/nvptx/error.c: Likewise.
8399 * config/nvptx/fortran.c: Likewise.
8400 * config/nvptx/iter.c: Likewise.
8401 * config/nvptx/iter_ull.c: Likewise.
8402 * config/nvptx/libgomp-plugin.c: Likewise.
8403 * config/nvptx/lock.c: Likewise.
8404 * config/nvptx/loop.c: Likewise.
8405 * config/nvptx/loop_ull.c: Likewise.
8406 * config/nvptx/mutex.c: Likewise.
8407 * config/nvptx/oacc-async.c: Likewise.
8408 * config/nvptx/oacc-cuda.c: Likewise.
8409 * config/nvptx/oacc-host.c: Likewise.
8410 * config/nvptx/oacc-init.c: Likewise.
8411 * config/nvptx/oacc-mem.c: Likewise.
8412 * config/nvptx/oacc-parallel.c: Likewise.
8413 * config/nvptx/oacc-plugin.c: Likewise.
8414 * config/nvptx/omp-lock.h: Likewise.
8415 * config/nvptx/ordered.c: Likewise.
8416 * config/nvptx/parallel.c: Likewise.
8417 * config/nvptx/proc.c: Likewise.
8418 * config/nvptx/ptrlock.c: Likewise.
8419 * config/nvptx/sections.c: Likewise.
8420 * config/nvptx/sem.c: Likewise.
8421 * config/nvptx/single.c: Likewise.
8422 * config/nvptx/splay-tree.c: Likewise.
8423 * config/nvptx/target.c: Likewise.
8424 * config/nvptx/task.c: Likewise.
8425 * config/nvptx/team.c: Likewise.
8426 * config/nvptx/time.c: Likewise.
8427 * config/nvptx/work.c: Likewise.
8428 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
8429 * configure: Regenerate.
8430 * configure.tgt (config_path): Set to "nvptx" for target
8431 nvptx*-*-*.
8432
96a2d174
TS
84332015-08-10 Thomas Schwinge <thomas@codesourcery.com>
8434
8435 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
8436
9ebddeb0
NS
84372015-08-03 Nathan Sidwell <nathan@codesourcery.com>
8438
8439 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
8440 (cuda_errlist): Constify.
8441 (errmsg): Move into ...
8442 (cuda_error): ... here. Make smaller.
8443 (_XSTR, _STR): Delete.
8444 (cuda_synames): Delete.
8445 (verify_device_library): Delete.
8446 (nvptx_init): Don't call it.
8447
12efb1d7
TV
84482015-07-28 Tom de Vries <tom@codesourcery.com>
8449
8450 * testsuite/libgomp.c/uns-outer-4.c: New test.
8451
710ee218
CP
84522015-07-24 Cesar Philippidis <cesar@codesourcery.com>
8453
8454 * testsuite/libgomp.c/pr66714.c: New test.
8455
27c4ac7d
MB
84562015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
8457
8458 PR libgomp/66950
8459 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
8460 (fib_ref): New function.
8461 (fib): Correct corner cases in the recursion.
8462 (main): Replace the non-simd loop with fib_ref call.
8463 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
8464 subroutine.
8465 (fibonacci): Lower the parameter N to 30. Correct accordingly check
8466 for the last array element value. Replace the non-simd loop with
8467 fib_ref call. Remove redundant b_ref array. Remove the comparison
8468 of the last array element with according Fibonacci sequence element.
8469 (fib): Correct corner cases in the recursion.
8470
22be2349
NS
84712015-07-21 Nathan Sidwell <nathan@codesourcery.com>
8472
8473 * target.c (gomp_offload_image_to_device): Rename to ...
8474 (gomp_load_image_to_device): ... here.
8475 (GOMP_offload_register): Adjust call.
8476 (gomp_init_device): Likewise.
8477 (gomp_unload_image_from_device): New. Broken out of ...
8478 (GOMP_offload_unregister): ... here. Call it.
8479 (gomp_unload_device): New.
8480 * libgomp.h (gomp_unload_device): Declare.
8481 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
8482 mem maps.
8483
f3e9a059
NS
84842015-07-20 Nathan Sidwell <nathan@codesourcery.com>
8485
a091118d
NS
8486 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
8487 wait=-specific if.
8488 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
8489 !=0 condition.
8490 (goacc_waits): Move !num_waits handling to ...
8491 (GOACC_wait): ... here, the only caller that might have zero waits.
8492
f3e9a059
NS
8493 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
8494 (struct ptx_image_data): Move earlier, add fns field.
8495 (struct ptx_device): Add images and image_lock fields.
8496 (ptx_images, ptx_image_lock): Delete.
8497 (nvptx_open_device): Initialize images and image_lock fields.
8498 (nvptx_close_device): Destroy image_lock.
8499 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8500 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8501 fields.
8502
afb2d80b
NS
85032015-07-17 Nathan Sidwell <nathan@codesourcery.com>
8504
896c28a7
NS
8505 * target.c (GOMP_offload_register): Use int for device type arg.
8506 (GOMP_offload_unregister): Likewise.
8507
ebe4a560
NS
8508 * target.c (struct_offload_image_descr): Constify host_table.
8509 (gomp_offload_image_to_device): Likewise.
8510 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8511
afb2d80b
NS
8512 * libgomp.h (gomp_device_descr): Constify target data arguments.
8513 * target.c (struct offload_image_descr): Constify target_data.
8514 (gomp_offload_image_to_device): Likewise.
8515 (GOMP_offload_register): Likewise.
93d90219 8516 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
8517 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8518 GOMP_OFFLOAD_unload_image): Constify target data.
8519 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8520 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8521
a4cb876d
NS
85222015-07-16 Nathan Sidwell <nathan@codesourcery.com>
8523
8524 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8525 Workaround driver library const error.
8526 (struct nvptx_tdata, nvptx_tdata_t): New.
8527 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8528 type.
8529
28ef6a27
MB
85302015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
8531
8532 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8533 of EPS parameter from integer to real.
8534 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8535 type of EPS parameter from integer to real.
8536
6dba0113
SH
85372015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
8538
8539 * team.c (get_last_team): New.
8540 (gomp_new_team): Recycle last non-nested team if possible.
8541 (gomp_team_end): Move team work share list free lock destruction
8542 to ...
8543 (free_team): ... here.
8544
4c1cb4da
MB
85452015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
8546
8547 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8548 and ref from int to double. Replaced their comparison with
8549 an inequality of their difference and EPS.
8550 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8551 comparison of pri and a reference number with an inequality of their
8552 difference and EPS.
8553 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8554 the comparison of sum and sum_ref with an inequality of their
8555 difference and EPS.
8556 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8557 the comparison of pri and a reference number with an inequality of
8558 their difference and EPS.
8559
343587dc
MB
85602015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
8561
8562 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8563 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8564 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8565 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8566 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8567 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8568 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8569 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8570 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8571 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8572 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8573 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8574 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8575 variables.
8576 (vec_mult): Likewise. Add #pragma omp taskwait.
8577 (main): Adjust caller.
8578 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8579 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8580 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8581 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8582 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8583 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8584 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8585 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8586 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8587 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8588 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8589 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8590 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8591 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8592 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8593 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8594 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8595 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8596 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8597 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8598 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8599 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8600 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8601 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8602 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8603 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8604 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8605 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8606 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8607 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8608 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8609 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8610 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8611 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8612 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8613 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8614 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8615 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8616 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8617 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8618 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8619 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8620 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8621 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8622 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8623 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8624 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8625 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8626 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8627 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8628 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8629 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8630 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8631 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8632 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8633 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8634 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8635 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8636 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8637 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8638 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8639 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8640 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8641 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8642 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8643 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8644 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8645 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8646 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8647 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8648 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8649 (vec_mult): Add !$omp taskwait.
8650 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8651 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8652 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8653 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8654 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8655 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8656 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8657 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8658 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8659 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8660 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8661 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8662 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8663 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8664 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8665 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8666 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8667 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8668 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8669 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8670 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8671 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8672 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8673 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8674 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8675 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8676 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8677 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8678 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8679 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8680 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8681 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8682 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8683 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8684 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8685 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8686 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8687 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8688 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8689 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8690 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8691 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8692 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8693 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8694 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8695 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8696 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8697 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8698 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8699 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8700 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8701 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8702 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8703 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8704 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8705 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8706 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8707 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8708 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8709 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8710 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8711 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8712 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8713 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8714 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8715 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8716 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8717
9f620bf1
TV
87182015-07-10 Tom de Vries <tom@codesourcery.com>
8719
8720 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8721 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8722
a92defda
TS
87232015-07-08 Thomas Schwinge <thomas@codesourcery.com>
8724
8725 PR libgomp/65099
8726 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8727 in a 64-bit configuration.
8728 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8729 offloading testing if no such device is available.
8730 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8731 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8732
cadb53a5
TV
87332015-07-08 Tom de Vries <tom@codesourcery.com>
8734
8735 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8736 second call to f.
8737 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8738
712cb0bb
TV
87392015-07-07 Tom de Vries <tom@codesourcery.com>
8740
8741 PR tree-optimization/66642
8742 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8743 iteration count case.
8744 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8745 function, factor out of ...
8746 (main): ... here. Test low iteration count case.
8747
e5210c77
SH
87482015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
8749
8750 * libgomp.h (gomp_thread_pool): Comment last_team field.
8751
f70360e7
UB
87522015-07-02 Uros Bizjak <ubizjak@gmail.com>
8753
8754 * testsuite/libgomp.c++/pr66702-1.C: Require
8755 vect_simd_clones effective target.
8756 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8757
b451c271
TV
87582015-06-30 Tom de Vries <tom@codesourcery.com>
8759
8760 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8761 already set. Use DEFAULT_CFLAGS in dg-runtest.
8762 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8763 "-O2".
8764
f8e89d9f
TV
87652015-06-30 Tom de Vries <tom@codesourcery.com>
8766
8767 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8768 already set. Use DEFAULT_CFLAGS in dg-runtest.
8769 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8770 * testsuite/libgomp.c++/pr64824.C: Same.
8771 * testsuite/libgomp.c++/pr64868.C: Same.
8772 * testsuite/libgomp.c++/pr66199-1.C: Same.
8773 * testsuite/libgomp.c++/pr66199-2.C: Same.
8774 * testsuite/libgomp.c++/target-2.C: Same.
8775 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8776 -std=<standard> option.
8777 * testsuite/libgomp.c++/udr-11.C: Same.
8778 * testsuite/libgomp.c++/udr-12.C: Same.
8779 * testsuite/libgomp.c++/udr-13.C: Same.
8780 * testsuite/libgomp.c++/udr-14.C: Same.
8781 * testsuite/libgomp.c++/udr-15.C: Same.
8782 * testsuite/libgomp.c++/udr-16.C: Same.
8783 * testsuite/libgomp.c++/udr-17.C: Same.
8784 * testsuite/libgomp.c++/udr-18.C: Same.
8785 * testsuite/libgomp.c++/udr-19.C: Same.
8786 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8787 * testsuite/libgomp.c++/simd-1.C: Same.
8788 * testsuite/libgomp.c++/simd-2.C: Same.
8789 * testsuite/libgomp.c++/simd-3.C: Same.
8790 * testsuite/libgomp.c++/simd-4.C: Same.
8791 * testsuite/libgomp.c++/simd-5.C: Same.
8792 * testsuite/libgomp.c++/simd-6.C: Same.
8793 * testsuite/libgomp.c++/simd-7.C: Same.
8794 * testsuite/libgomp.c++/simd-8.C: Same.
8795 * testsuite/libgomp.c++/simd-9.C: Same.
8796 * testsuite/libgomp.c++/simd10.C: Same.
8797 * testsuite/libgomp.c++/simd11.C: Same.
8798 * testsuite/libgomp.c++/simd12.C: Same.
8799 * testsuite/libgomp.c++/simd13.C: Same.
8800
3446fe48
JJ
88012015-06-30 Jakub Jelinek <jakub@redhat.com>
8802
8803 PR middle-end/66702
8804 * testsuite/libgomp.c++/pr66702-1.C: New test.
8805 * testsuite/libgomp.c++/pr66702-2.C: New test.
8806
8a36714a
TV
88072015-06-30 Tom de Vries <tom@codesourcery.com>
8808
8809 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8810 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8811 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8812 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8813
4f75d608
TV
88142015-06-30 Tom de Vries <tom@codesourcery.com>
8815
8816 PR tree-optimization/66652
8817 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8818 using restrict pointers.
8819 (main): Add arguments to calls to f.
8820 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8821
6d9d1eeb
AT
88222015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
8823
8824 * configure.ac: Fix check for header <sys/sysctl.h>.
8825 * configure: Regenerate.
8826 * config.h.in: Likewise.
8827
1222f22b
TV
88282015-06-23 Tom de Vries <tom@codesourcery.com>
8829
8830 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8831 abort.
8832 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8833
d7efbbf6
TS
88342015-06-19 Thomas Schwinge <thomas@codesourcery.com>
8835
bfcd036f
TS
8836 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8837 acc_device_nvidia.
8838
d7efbbf6
TS
8839 PR libgomp/66518
8840 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8841 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8842
d7bfc710
TV
88432015-06-15 Tom de Vries <tom@codesourcery.com>
8844
8845 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
8846 dg-additional-options for any remaining options.
8847 * testsuite/libgomp.c/atomic-2.c: Same.
8848 * testsuite/libgomp.c/atomic-4.c: Same.
8849 * testsuite/libgomp.c/atomic-5.c: Same.
8850 * testsuite/libgomp.c/atomic-6.c: Same.
8851 * testsuite/libgomp.c/autopar-1.c: Same.
8852 * testsuite/libgomp.c/copyin-1.c: Same.
8853 * testsuite/libgomp.c/copyin-2.c: Same.
8854 * testsuite/libgomp.c/copyin-3.c: Same.
8855 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8856 * testsuite/libgomp.c/nestedfn-5.c: Same.
8857 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8858 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8859 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8860 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8861 * testsuite/libgomp.c/pr32362-1.c: Same.
8862 * testsuite/libgomp.c/pr32362-2.c: Same.
8863 * testsuite/libgomp.c/pr32362-3.c: Same.
8864 * testsuite/libgomp.c/pr39591-1.c: Same.
8865 * testsuite/libgomp.c/pr39591-2.c: Same.
8866 * testsuite/libgomp.c/pr39591-3.c: Same.
8867 * testsuite/libgomp.c/pr58392.c: Same.
8868 * testsuite/libgomp.c/pr58756.c: Same.
8869 * testsuite/libgomp.c/simd-1.c: Same.
8870 * testsuite/libgomp.c/simd-10.c: Same.
8871 * testsuite/libgomp.c/simd-11.c: Same.
8872 * testsuite/libgomp.c/simd-12.c: Same.
8873 * testsuite/libgomp.c/simd-13.c: Same.
8874 * testsuite/libgomp.c/simd-14.c: Same.
8875 * testsuite/libgomp.c/simd-15.c: Same.
8876 * testsuite/libgomp.c/simd-2.c: Same.
8877 * testsuite/libgomp.c/simd-3.c: Same.
8878 * testsuite/libgomp.c/simd-4.c: Same.
8879 * testsuite/libgomp.c/simd-5.c: Same.
8880 * testsuite/libgomp.c/simd-6.c: Same.
8881 * testsuite/libgomp.c/simd-7.c: Same.
8882 * testsuite/libgomp.c/simd-8.c: Same.
8883 * testsuite/libgomp.c/simd-9.c: Same.
8884
fb5b5352
TV
88852015-06-15 Tom de Vries <tom@codesourcery.com>
8886
8887 * testsuite/libgomp.c/pr35625.c: Fix typo.
8888
ca431bef
TV
88892015-06-15 Tom de Vries <tom@codesourcery.com>
8890
8891 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
8892 in dg-options.
8893 * testsuite/libgomp.c/atomic-3.c: Same.
8894 * testsuite/libgomp.c/debug-1.c: Same.
8895 * testsuite/libgomp.c/nqueens-1.c: Same.
8896 * testsuite/libgomp.c/pr26171.c: Same.
8897 * testsuite/libgomp.c/pr48591.c: Same.
8898 * testsuite/libgomp.c/pr64824.c: Same.
8899 * testsuite/libgomp.c/pr64868.c: Same.
8900 * testsuite/libgomp.c/pr66133.c: Same.
8901 * testsuite/libgomp.c/pr66199-1.c: Same.
8902 * testsuite/libgomp.c/pr66199-2.c: Same.
8903 * testsuite/libgomp.c/target-8.c: Same.
8904
0d8a9e20
TV
89052015-06-15 Tom de Vries <tom@codesourcery.com>
8906
8907 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
8908 -std={gnu99,c99}.
8909 * testsuite/libgomp.c/for-1.c: Same.
8910 * testsuite/libgomp.c/for-2.c: Same.
8911 * testsuite/libgomp.c/for-3.c: Same.
8912 * testsuite/libgomp.c/pr35625.c: Same.
8913 * testsuite/libgomp.c/pr39154.c: Same.
8914 * testsuite/libgomp.c/simd-16.c: Same.
8915 * testsuite/libgomp.c/simd-17.c: Same.
8916
a6860be9
TV
89172015-06-13 Tom de Vries <tom@codesourcery.com>
8918
8919 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
8920
ab3306d2
TV
89212015-06-13 Tom de Vries <tom@codesourcery.com>
8922
8923 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
8924 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8925 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
8926 (N): Define.
8927 (main): Use N instead of hardcoded constants.
8928
7c82d827
TV
89292015-06-05 Tom de Vries <tom@codesourcery.com>
8930
8931 merge from gomp4 branch:
8932 2015-05-28 Tom de Vries <tom@codesourcery.com>
8933
8934 PR tree-optimization/65443
8935 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
8936 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
8937 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
8938
c469078d
BRF
89392015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8940
8941 * testsuite/libgomp.graphite/bounds.c: Adjust for
8942 cleanup-tree-dump removal.
8943 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
8944 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8945 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8946 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8947 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8948 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8949 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8950 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8951 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8952 * testsuite/libgomp.graphite/pr41118.c: Likewise.
8953
bb3caa35
UB
89542015-05-28 Uros Bizjak <ubizjak@gmail.com>
8955
8956 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
8957 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
8958 (futex_wake) [!__x86_64__]: Ditto.
8959
9fb5fd44
JB
89602015-05-28 Julian Brown <julian@codesourcery.com>
8961
8962 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
8963 function comment. Only call gomp_fatal if new argument is true.
8964 (acc_dev_num_out_of_range): New function.
8965 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
8966 acc_dev_num_out_of_range as appropriate.
8967 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
8968 (acc_get_device_num, acc_set_device_num): Update calls to
8969 resolve_device.
9fb5fd44
JB
8970 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
8971 output.
8972
32eaed93
JB
89732015-05-28 Julian Brown <julian@codesourcery.com>
8974
8975 PR libgomp/65742
32eaed93
JB
8976 * oacc-init.c (plugin/plugin-host.h): Include.
8977 (acc_on_device): Check whether we're in an offloaded region for
8978 host_nonshm
8979 plugin. Don't use __builtin_acc_on_device.
8980 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
8981 nonshm_exec flag in thread-local data.
8982 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
8983 data for host_nonshm plugin.
8984 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
8985 for host_nonshm plugin.
8986 * plugin/plugin-host.h: New.
8987
ea023bcf
UB
89882015-05-27 Uros Bizjak <ubizjak@gmail.com>
8989
8ed501f1
UB
8990 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
8991
89922015-05-27 Uros Bizjak <ubizjak@gmail.com>
8993
8994 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
8995 Declare as int.
8996 (FUTEX_PRIVATE_FLAG): Remove L suffix.
8997 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
8998 Declare as int.
8999
90002015-05-27 Uros Bizjak <ubizjak@gmail.com>
9001
bb3caa35 9002 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 9003
1716efeb
CLT
90042015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
9005
9006 * target.c (gomp_map_pointer): New function abstracting out
9007 GOMP_MAP_POINTER handling.
9008 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
9009 gomp_map_pointer().
9010
41b37d5e
JJ
90112015-05-19 Jakub Jelinek <jakub@redhat.com>
9012
9013 PR middle-end/66199
9014 * testsuite/libgomp.c/pr66199-1.c: New test.
9015 * testsuite/libgomp.c/pr66199-2.c: New test.
9016 * testsuite/libgomp.c++/pr66199-1.C: New test.
9017 * testsuite/libgomp.c++/pr66199-2.C: New test.
9018 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
9019 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
9020
c8319826
JB
90212015-05-19 Julian Brown <julian@codesourcery.com>
9022
9023 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
9024 on cuInit failure.
9025
b37dddbc
JJ
90262015-05-13 Jakub Jelinek <jakub@redhat.com>
9027
9028 PR middle-end/66133
9029 * testsuite/libgomp.c/pr66133.c: New test.
9030
55fba601
MH
90312015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
9032
9033 * Makefile.in: Regenerated with automake-1.11.6.
9034 * aclocal.m4: Likewise.
9035 * config.h.in: Likewise.
9036 * configure: Likewise.
9037 * testsuite/Makefile.in: Likewise.
9038
1be0899d
JM
90392015-05-08 Jason Merrill <jason@redhat.com>
9040
9041 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
9042 _Complex.
9043
9044 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
9045
d2463960
JB
90462015-05-06 Julian Brown <julian@codesourcery.com>
9047
9048 * oacc-init.c (acc_device_lock): Add explanatory comment.
9049 (resolve_device): Add comment about locking requirement.
9050 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
9051 gomp_init_device and gomp_fini_device calls.
9052 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9053 (acc_get_device_num, acc_set_device_num): Add locking around
9054 resolve_device and gomp_init_device calls.
9055
e38fdba4
JB
90562015-05-06 Julian Brown <julian@codesourcery.com>
9057
9058 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
9059 goacc_thread_lock on error paths.
9060 * oacc-mem.c (lookup_host): Remove locking from function. Note
9061 locking requirement for caller in function comment.
9062 (lookup_dev): Likewise.
9063 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
9064 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
9065 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
9066 Add locking.
9067
ae8ffbbb
TS
90682015-05-05 Thomas Schwinge <thomas@codesourcery.com>
9069
9070 PR testsuite/65205
9071 PR libgomp/65993
9072 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
9073 don't expect "0x" prefix for "%p" format specifier, don't expect
9074 "(nil)" for NULL pointer.
9075 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9076 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9077 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9078 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9079 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9080 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9081 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9082 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9083 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9084 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9085 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9086 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9087 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9088 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9089 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9090 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9091 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9092 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9093 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9094 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9095 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9096 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9097 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9098 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9099 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9100 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9101 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9102 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9103 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
9104 accurately specify what we're looking for.
9105 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9106 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9107 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9108 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9109 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9110
1309f1d2
JN
91112015-04-30 James Norris <jnorris@codesourcery.com>
9112
9113 PR testsuite/65205
9114 * testsuite/lib/libgomp.exp
9115 (check_effective_target_openacc_host_selected)
9116 (check_effective_target_openacc_host_nonshm_selected): New
9117 procedures.
9118 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
9119 dg-shouldfail.
9120 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9121 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9122 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9123 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9124 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9125 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9126 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9127 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9128 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9129 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9130 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9131 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9132 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9133 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9134 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9135 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9136 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9137 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9138 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9139 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9140 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9141 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9142 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9143 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9144 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9145 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9146 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9147 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9148 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9149 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9150 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9151 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9152 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9153 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9154 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9155 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9156 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9157 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9158 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9159 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9160 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9161 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9162 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9163
d93bdab5
JB
91642015-04-08 Julian Brown <julian@codesourcery.com>
9165
9166 * libgomp.h (target_mem_desc: Remove mem_map field.
9167 (acc_dispatch_t): Remove open_device_func, close_device_func,
9168 get_device_num_func, set_device_num_func, target_data members.
9169 Change create_thread_data_func argument to device number instead of
9170 generic pointer.
9171 * oacc-async.c (assert.h): Include.
9172 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
9173 (acc_wait_all, acc_wait_all_async): Use current host thread's
9174 active device, not base_dev.
9175 * oacc-cuda.c (acc_get_current_cuda_device)
9176 (acc_get_current_cuda_context, acc_get_cuda_stream)
9177 (acc_set_cuda_stream): Likewise.
9178 * oacc-host.c (host_dispatch): Don't set open_device_func,
9179 close_device_func, get_device_num_func or set_device_num_func.
9180 * oacc-init.c (base_dev, init_key): Remove.
9181 (cached_base_dev): New.
9182 (name_of_acc_device_t): New.
9183 (acc_init_1): Initialise default-numbered device, not zeroth.
9184 (acc_shutdown_1): Close all devices of a given type.
9185 (goacc_destroy_thread): Don't use base_dev.
9186 (lazy_open, lazy_init, lazy_init_and_open): Remove.
9187 (goacc_attach_host_thread_to_device): New.
9188 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
9189 (acc_get_num_devices): Don't use base_dev.
9190 (acc_set_device_type): Reimplement.
9191 (acc_get_device_type): Don't use base_dev.
9192 (acc_get_device_num): Tweak logic.
9193 (acc_set_device_num): Likewise.
9194 (acc_on_device): Use acc_get_device_type.
9195 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
9196 (goacc_lazy_initialize): Reimplement with acc_init and
9197 goacc_attach_host_thread_to_device.
9198 * oacc-int.h (goacc_thread): Add base_dev field.
9199 (base_dev): Remove extern declaration.
9200 (goacc_attach_host_thread_to_device): Add prototype.
9201 * oacc-mem.c (acc_malloc): Use current thread's device instead of
9202 base_dev.
9203 (acc_free): Likewise.
9204 (acc_memcpy_to_device): Likewise.
9205 (acc_memcpy_from_device): Likewise.
9206 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
9207 goacc_lazy_initialize (throughout).
9208 (GOACC_parallel): Use tgt_offset to locate target functions.
9209 * target.c (gomp_map_vars): Don't set tgt->mem_map.
9210 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
9211 (gomp_load_plugin_for_device): Remove open_device, close_device,
9212 get_device_num, set_device_num openacc hook initialisation. Don't set
9213 openacc.target_data.
9214 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
9215 (GOMP_OFFLOAD_openacc_close_device)
9216 (GOMP_OFFLOAD_openacc_get_device_num)
9217 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
9218 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
9219 to int.
9220 * plugin/plugin-nvptx.c (ptx_inited): Remove.
9221 (instantiated_devices, ptx_dev_lock): New.
9222 (struct ptx_image_data): New.
9223 (ptx_devices, ptx_images, ptx_image_lock): New.
9224 (fini_streams_for_device): Reorder cuStreamDestroy call.
9225 (nvptx_get_num_devices): Remove forward declaration.
9226 (nvptx_init): Change return type to bool.
9227 (nvptx_fini): Remove.
9228 (nvptx_attach_host_thread_to_device): New.
9229 (nvptx_open_device): Return struct ptx_device* instead of void*.
9230 (nvptx_close_device): Change argument type to struct ptx_device*,
9231 return type to void.
9232 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
9233 (kernel_target_data, kernel_host_table): Remove static globals.
9234 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
9235 (GOMP_OFFLOAD_init_device): Reimplement.
9236 (GOMP_OFFLOAD_fini_device): Likewise.
9237 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
9238 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
9239 (GOMP_OFFLOAD_host2dev): Use ORD argument.
9240 (GOMP_OFFLOAD_openacc_open_device)
9241 (GOMP_OFFLOAD_openacc_close_device)
9242 (GOMP_OFFLOAD_openacc_set_device_num)
9243 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
9244 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
9245 (device number).
9246
9247 testsuite/
9248 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
9249
a51df54e
IV
92502015-04-06 Ilya Verbin <ilya.verbin@intel.com>
9251
9252 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
9253 * libgomp.h (struct gomp_memory_mapping): Remove.
9254 (struct target_mem_desc): Change type of mem_map from
9255 gomp_memory_mapping * to splay_tree_s *.
9256 (struct gomp_device_descr): Remove register_image_func, get_table_func.
9257 Add load_image_func, unload_image_func.
9258 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
9259 Remove offload_regions_registered.
9260 (gomp_init_tables): Remove.
9261 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9262 to splay_tree_s *.
9263 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
9264 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
9265 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
9266 offload_regions_registered.
9267 Initialize load_image_func, unload_image_func, mem_map.root.
9268 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
9269 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
9270 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
9271 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
9272 gomp_memory_mapping *. Use dev's lock and splay_tree.
9273 (lookup_dev): Use dev's lock.
9274 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
9275 (acc_is_present): Likewise.
9276 (acc_map_data): Likewise.
9277 (acc_unmap_data): Likewise. Use dev's lock.
9278 (present_create_copy): Likewise.
9279 (delete_copyout): Pass dev to lookup_host instead of mem_map.
9280 (update_dev_host): Likewise.
9281 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
9282 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
9283 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
9284 (GOMP_OFFLOAD_get_table): Remove
9285 (GOMP_OFFLOAD_load_image): New function.
9286 (GOMP_OFFLOAD_unload_image): New function.
9287 * target.c (register_lock): New mutex for offload image registration.
9288 (num_devices): Do not guard with PLUGIN_SUPPORT.
9289 (gomp_realloc_unlock): New static function.
9290 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
9291 before gomp_fatal.
9292 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
9293 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
9294 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
9295 mem_map's.
9296 (gomp_unmap_vars): Likewise.
9297 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
9298 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
9299 (gomp_offload_image_to_device): New static function.
9300 (GOMP_offload_register): Add mutex lock.
9301 Call gomp_offload_image_to_device for all initialized devices.
9302 Replace gomp_realloc with gomp_realloc_unlock.
9303 (GOMP_offload_unregister): New function.
9304 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
9305 get_table_func from the plugin with calls to init_device_func and
9306 gomp_offload_image_to_device.
9307 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9308 to splay_tree_s *.
9309 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
9310 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
9311 (GOMP_target_data): Do not call gomp_init_tables.
9312 (GOMP_target_update): Likewise. Remove argument from gomp_update.
9313 (gomp_load_plugin_for_device): Replace register_image and get_table
9314 with load_image and unload_image in DLSYM ().
9315 (gomp_register_images_for_device): Remove function.
9316 (gomp_target_init): Do not initialize current_device.mem_map.*,
9317 current_device.offload_regions_registered.
9318 Remove call to gomp_register_images_for_device.
9319 Do not free offload_images and num_offload_images.
9320
6c384511
JJ
93212015-03-30 Jakub Jelinek <jakub@redhat.com>
9322
9323 PR fortran/65597
9324 * testsuite/libgomp.fortran/pr65597.f90: New test.
9325
3e8165a5
TV
93262015-03-27 Tom de Vries <tom@codesourcery.com>
9327
9328 PR testsuite/65594
9329 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
9330 (init, check): New function.
9331 (foo): Change return type to void.
9332 (main): Call init and check.
9333
4d688c9a
TV
93342015-03-27 Tom de Vries <tom@codesourcery.com>
9335
9336 PR testsuite/65594
9337 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
9338 (foo): Use M for non-inner loops to scale down test-case.
9339
01c0b3b0
KT
93402015-03-25 Kai Tietz <ktietz@redhat.com>
9341
9342 PR libgomp/64972
9343 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
9344 (GOACC_data_start): Likewise.
9345 * target.c (gomp_map_vars): Likewise.
9346
844d9a76
JDA
93472015-03-21 John David Anglin <danglin@gcc.gnu.org>
9348
9349 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
9350 hppa*-*-hpux*.
9351
9b65e171
JJ
93522015-03-19 Jakub Jelinek <jakub@redhat.com>
9353
9354 * testsuite/libgomp.c/target-10.c: New test.
9355 * testsuite/libgomp.c++/target-4.C: New test.
9356
db397e2e
IV
93572015-03-13 Ilya Verbin <ilya.verbin@intel.com>
9358
9359 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
9360 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
9361
cd93945d
SH
93622015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
9363
9364 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
9365 * configure.ac (*-*-rtems*): Assume Pthread is supported.
9366 (pthread.h): Check for this header file.
9367 * configure: Regenerate.
9368
05deba9f
TV
93692015-02-25 Tom de Vries <tom@codesourcery.com>
9370
9371 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
9372 (check_reduction_op, check_reduction_macro, max, min):
9373 Declare.
9374 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
9375 function.
9376 (main): Use new functions.
9377
196904d8
IT
93782015-02-18 Ilya Tocar <ilya.tocar@intel.com>
9379
9380 * target.c (gomp_load_plugin_for_device): Use const char * instead of
9381 char * for variables holding dlerror return values.
9382 (DLSYM_OPT): Ditto.
9383
a2818955
TS
93842015-02-17 Thomas Schwinge <thomas@codesourcery.com>
9385
9386 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
9387
26f93312
TS
93882015-02-17 Thomas Schwinge <thomas@codesourcery.com>
9389 Cesar Philippidis <cesar@codesourcery.com>
9390
9391 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
9392 GOACC_ctaid, and GOACC_nctaid routines.
9393
fa01ffcc
JJ
93942015-02-11 Jakub Jelinek <jakub@redhat.com>
9395
9396 PR c/64824
9397 * testsuite/libgomp.c/atomic-18.c: New test.
9398 * testsuite/libgomp.c++/atomic-16.C: New test.
9399
4886ec8e
JJ
94002015-02-04 Jakub Jelinek <jakub@redhat.com>
9401
9402 PR c/64824
9403 PR c/64868
9404 * testsuite/libgomp.c/pr64824.c: New test.
9405 * testsuite/libgomp.c/pr64868.c: New test.
9406 * testsuite/libgomp.c++/pr64824.C: New test.
9407 * testsuite/libgomp.c++/pr64868.C: New test.
9408
02d3e45e
DE
94092015-02-01 David Edelsohn <dje.gcc@gmail.com>
9410
9411 PR libgomp/64635
9412 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
9413 Link with -lpthread.
9414 * config/aix/plugin-suffix.h: Delete.
9415
b5f7a6ca
JH
94162015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
9417
9418 PR libgomp/64635
9419 * configure.tgt (*-*-aix*): Use config_path "aix posix".
9420 (*-*-darwin*): Use config_path "bsd darwin posix".
9421 (*-*-hpux*): Use config_path "hpux posix".
9422 * target.c: Add include of plugin-suffix.h and use
9423 SONAME_SUFFIX macro.
9424 * config/aix/plugin-suffix.h: New file.
9425 * config/darwin/plugin-suffix.h: New file.
9426 * config/hpux/plugin-suffix.h: New file.
9427 * config/posix/plugin-suffix.h: New file.
9428
b8910447
JJ
94292015-01-23 Jakub Jelinek <jakub@redhat.com>
9430
9431 PR middle-end/64734
9432 * libgomp.c/pr64734.c: New test.
9433
a0c88d06
TV
94342015-01-23 Tom de Vries <tom@codesourcery.com>
9435
9436 PR libgomp/64672
9437 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
9438
1506ae0e
TV
94392015-01-23 Tom de Vries <tom@codesourcery.com>
9440
9441 PR libgomp/64707
9442 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
9443 dg-options.
9444
128b26dc
TS
94452015-01-19 Thomas Schwinge <thomas@codesourcery.com>
9446
bed62c21 9447 PR libgomp/64625
128b26dc
TS
9448 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
9449 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
9450 formal parameter. Update all users.
9451 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
9452 Document unused formal parameter.
9453
6e36114c
TS
94542015-01-16 Thomas Schwinge <thomas@codesourcery.com>
9455
9456 * oacc-parallel.c: Don't include <alloca.h>.
9457 (GOACC_parallel): Use gomp_alloca instead of alloca.
9458
973e9808
GP
94592015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
9460
9461 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
9462
41dbbb37
TS
94632015-01-15 Thomas Schwinge <thomas@codesourcery.com>
9464 James Norris <jnorris@codesourcery.com>
9465 Tom de Vries <tom@codesourcery.com>
9466 Julian Brown <julian@codesourcery.com>
9467 Cesar Philippidis <cesar@codesourcery.com>
9468 Nathan Sidwell <nathan@codesourcery.com>
9469 Tobias Burnus <burnus@net-b.de>
9470
9471 * Makefile.am (search_path): Add $(top_srcdir)/../include.
9472 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
9473 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
9474 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
9475 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
9476 Include $(top_srcdir)/plugin/Makefrag.am.
9477 (nodist_libsubinclude_HEADERS): Add openacc.h.
9478 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
9479 openacc.f90, openacc.mod, openacc_kinds.mod.
9480 (omp_lib.mod): Generalize into...
9481 (%.mod): ... this new rule.
9482 (openacc_kinds.mod, openacc.mod): New rules.
9483 * plugin/configfrag.ac: New file.
9484 * configure.ac: Move plugin/offloading support into it. Include
9485 it. Instantiate testsuite/libgomp-test-support.pt.exp.
9486 * plugin/Makefrag.am: New file.
9487 * testsuite/Makefile.am (OFFLOAD_TARGETS)
9488 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
9489 export.
9490 (libgomp-test-support.exp): New rule.
9491 (all-local): Depend on it.
9492 * Makefile.in: Regenerate.
9493 * testsuite/Makefile.in: Regenerate.
9494 * config.h.in: Likewise.
9495 * configure: Likewise.
9496 * configure.tgt: Harden shell syntax.
9497 * env.c: Include "oacc-int.h".
9498 (parse_acc_device_type): New function.
9499 (gomp_debug_var, goacc_device_type, goacc_device_num): New
9500 variables.
9501 (initialize_env): Initialize those. Call
9502 goacc_runtime_initialize.
9503 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9504 (gomp_fatal): Call gomp_vfatal.
9505 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9506 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9507 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9508 (splay_tree_node, splay_tree, splay_tree_key)
9509 (struct target_mem_desc, struct splay_tree_key_s)
9510 (struct gomp_memory_mapping, struct acc_dispatch_t)
9511 (struct gomp_device_descr, gomp_acc_insert_pointer)
9512 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9513 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9514 (gomp_free_memmap, gomp_fini_device): New declarations.
9515 (gomp_vdebug, gomp_debug): New macros.
9516 Include "splay-tree.h".
9517 * libgomp.map (OACC_2.0): New symbol version. Use for
9518 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9519 acc_set_device_type_h_, acc_get_device_type,
9520 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9521 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9522 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9523 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9524 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9525 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9526 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9527 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9528 acc_copyin_array_h_, acc_present_or_copyin,
9529 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9530 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9531 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9532 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9533 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9534 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9535 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9536 acc_update_device, acc_update_device_32_h_,
9537 acc_update_device_64_h_, acc_update_device_array_h_,
9538 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9539 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9540 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9541 acc_is_present_64_h_, acc_is_present_array_h_,
9542 acc_memcpy_to_device, acc_memcpy_from_device,
9543 acc_get_current_cuda_device, acc_get_current_cuda_context,
9544 acc_get_cuda_stream, acc_set_cuda_stream.
9545 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
9546 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9547 GOACC_update, GOACC_wait, GOACC_get_thread_num,
9548 GOACC_get_num_threads.
9549 (GOMP_PLUGIN_1.0): New symbol version. Use for
9550 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9551 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9552 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9553 GOMP_PLUGIN_acc_thread.
9554 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9555 environment variable.
9556 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9557 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9558 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9559 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9560 (splay_tree_remove): New declarations.
9561 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9562 (splay_tree_remove, splay_tree_lookup): Move into...
9563 * splay-tree.c: ... this new file.
9564 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9565 (splay_tree_node, splay_tree, splay_tree_key)
9566 (struct target_mem_desc, struct splay_tree_key_s)
9567 (struct gomp_device_descr): Don't declare.
9568 (num_devices_openmp): New variable.
9569 (gomp_get_num_devices ): Use it.
9570 (gomp_init_targets_once): New function.
9571 (gomp_get_num_devices ): Use it.
9572 (get_kind, gomp_copy_from_async, gomp_free_memmap)
9573 (gomp_fini_device, gomp_register_image_for_device): New functions.
9574 (gomp_map_vars): Add devaddrs parameter.
9575 (gomp_update): Add mm parameter.
9576 (gomp_init_device): Move most of it into...
9577 (gomp_init_tables): ... this new function.
9578 (gomp_register_images_for_device): Remove function.
9579 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9580 Make them hidden instead of static.
9581 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9582 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9583 (GOMP_target_end_data, GOMP_target_update)
9584 (gomp_load_plugin_for_device, gomp_target_init): Update for
9585 OpenACC changes.
9586 * oacc-async.c: New file.
9587 * oacc-cuda.c: Likewise.
9588 * oacc-host.c: Likewise.
9589 * oacc-init.c: Likewise.
9590 * oacc-int.h: Likewise.
9591 * oacc-mem.c: Likewise.
9592 * oacc-parallel.c: Likewise.
9593 * oacc-plugin.c: Likewise.
9594 * oacc-plugin.h: Likewise.
9595 * oacc-ptx.h: Likewise.
9596 * openacc.f90: Likewise.
9597 * openacc.h: Likewise.
9598 * openacc_lib.h: Likewise.
9599 * plugin/plugin-host.c: Likewise.
9600 * plugin/plugin-nvptx.c: Likewise.
9601 * libgomp-plugin.c: Likewise.
9602 * libgomp-plugin.h: Likewise.
9603 * libgomp_target.h: Remove file after merging content into the
9604 former file. Update all users.
9605 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9606 (offload_targets_s, offload_targets_s_openacc): New variables.
9607 (check_effective_target_openacc_nvidia_accel_present)
9608 (check_effective_target_openacc_nvidia_accel_selected): New
9609 procedures.
9610 (libgomp_init): Update for OpenACC changes.
9611 * testsuite/libgomp-test-support.exp.in: New file.
9612 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9613 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9614 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9615 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9616 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9617 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9618 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9619 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9620 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9621 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9622 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9623 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9624 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9625 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9626 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9627 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9628 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9629 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9630 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9631 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9632 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9633 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9634 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9635 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9636 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9637 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9638 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9639 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9640 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9641 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9642 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9643 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9644 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9645 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9646 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9647 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9648 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9649 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9650 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9651 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9652 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9653 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9654 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9655 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9656 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9657 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9658 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9659 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9660 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9661 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9662 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9663 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9664 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9665 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9666 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9667 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9668 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9669 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9670 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9671 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9672 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9673 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9674 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9675 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9676 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9677 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9678 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9679 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9680 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9681 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9682 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9683 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9684 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9685 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9686 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9687 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9688 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9689 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9690 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9691 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9692 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9693 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9694 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9695 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9696 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9697 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9698 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9699 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9700 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9701 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9702 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9703 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9704 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9705 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9706 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9707 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9708 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9709 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9710 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9711 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9712 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9713 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9714 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9715 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9716 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9717 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9718 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9719 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9720 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9721 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9722 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9723 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9724 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9725 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9726 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9727 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9728 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9729 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9730 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9731 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9732 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9733 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9734 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9735 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9736 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9737 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9738 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9739 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9740 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9741 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9742 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9743 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9744 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9745 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9746 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9747 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9748 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9749 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9750 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9751 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9752 Likewise.
9753 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9754 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9755 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9756 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9757 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9758 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9759 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9760 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9761 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9762 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9763 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9764 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9765 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9766 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9767 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9768 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9769 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9770 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9771 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9772 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9773 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9774 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9775 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9776 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9777 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9778 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9779 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9780 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9781 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9782 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9783 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9784 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9785 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9786 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9787 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9788 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9789 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9790 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9791 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9792 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9793 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9794 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9795 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9796 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9797 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9798 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9799 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9800 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9801 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9802 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9803 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9804 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9805 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9806 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9807 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9808 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9809 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9810 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9811 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9812 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9813
f1f3453e
TS
98142015-01-10 Thomas Schwinge <thomas@codesourcery.com>
9815 Julian Brown <julian@codesourcery.com>
9816 David Malcolm <dmalcolm@redhat.com>
9817
9818 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9819 to "GNU Offloading and Multi Processing Runtime Library". Change
9820 all users.
9821 * configure: Regenerate.
9822 * libgomp.texi: Update.
9823
f9a0eca4
TS
98242015-01-08 Thomas Schwinge <thomas@codesourcery.com>
9825
b335ef4e
TS
9826 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9827 "$tgt_dir/lib32".
9828 * configure: Regenerate.
9829
f9a0eca4
TS
9830 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9831 "intelmic" in $offload_targets.
9832
b67cd4e3
JJ
98332015-01-05 Jakub Jelinek <jakub@redhat.com>
9834
5624e564
JJ
9835 Update copyright years.
9836
b67cd4e3
JJ
9837 * libgomp.texi: Bump @copying's copyright year.
9838
3b41b583
KT
98392014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9840
9841 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 9842 Move load of target-supports.exp earlier.
3b41b583 9843
2354caec
IV
98442014-12-10 Ilya Verbin <ilya.verbin@intel.com>
9845
9846 * testsuite/libgomp.c/target-9.c: New test.
9847
f50eecba
VR
98482014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
9849
9850 * config.h.in: Regenerate.
9851 * configure: Regenerate.
9852 * configure.ac: Add GCC_CHECK_EMUTLS.
9853 * libgomp.h: Add check for USE_EMUTLS: this case
9854 is equal to HAVE_TLS.
9855 * team.c: Likewise.
9856
68bc9270
UB
98572014-12-03 Uros Bizjak <ubizjak@gmail.com>
9858
9859 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9860
476ff787
AT
98612014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
9862 Ilya Verbin <ilya.verbin@intel.com>
9863
9864 * testsuite/libgomp.c/target-critical-1.c: New test.
9865
31a30e62
JJ
98662014-11-26 Jakub Jelinek <jakub@redhat.com>
9867
9868 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 9869 to dg-options unless expensive testing is on.
31a30e62
JJ
9870 (TESTITERS): Define to N if not defined.
9871 (main): Use TESTITERS instead of N.
9872 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9873 dg-additional-options depending on whether expensive testing is on.
9874 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9875 Decrease N to 100000 and CHUNKSZ to 10000.
9876
3f9e8f13
JJ
98772014-11-24 Jakub Jelinek <jakub@redhat.com>
9878
9879 PR fortran/63938
31a30e62
JJ
9880 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
9881 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 9882
c8451a46
SE
98832014-11-21 Steve Ellcey <sellcey@imgtec.com>
9884
9885 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
9886
a699d672
L
98872014-11-21 H.J. Lu <hongjiu.lu@intel.com>
9888
9889 PR bootstrap/63784
9890 * configure: Regenerated.
9891
4a19f719
UB
98922014-11-19 Uros Bizjak <ubizjak@gmail.com>
9893
9894 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
9895 vect_simd_clones effective target.
9896 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9897
b1bf6c52
JJ
98982014-11-14 Jakub Jelinek <jakub@redhat.com>
9899
9900 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
9901 of 32 as block_size.
9902 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
9903 instead of 32 as block_size.
9904
d64ae614
AT
99052014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
9906 Ilya Verbin <ilya.verbin@intel.com>
9907
9908 * Makefile.in: Regenerate.
9909 * configure: Regenerate.
9910 * configure.ac: Set up offload_additional_options,
9911 offload_additional_lib_paths and offload_targets.
9912 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
9913 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
9914 * testsuite/Makefile.in: Regenerate.
9915 * testsuite/lib/libgomp.exp (libgomp_init): Append
9916 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
9917 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
9918 build directory to LD_LIBRARY_PATH for intelmic offload targets.
9919
122d7303
AT
99202014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
9921 Ilya Verbin <ilya.verbin@intel.com>
9922 Kirill Yukhin <kirill.yukhin@intel.com>
9923 Ilya Tocar <ilya.tocar@intel.com>
9924
9925 * testsuite/lib/libgomp.exp
9926 (check_effective_target_offload_device): New.
9927 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
9928 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
9929 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
9930 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
9931 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
9932 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
9933 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
9934 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
9935 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
9936 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
9937 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
9938 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
9939 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
9940 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
9941 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
9942 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
9943 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
9944 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
9945 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
9946 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
9947 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
9948 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
9949 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
9950 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
9951 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
9952 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
9953 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
9954 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
9955 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
9956 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
9957 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
9958 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
9959 * testsuite/libgomp.c/target-7.c: Fix test.
9960 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
9961 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
9962 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
9963 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
9964 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
9965 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
9966 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
9967 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
9968 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
9969 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
9970 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
9971 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
9972 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
9973 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
9974 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
9975 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
9976 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
9977 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
9978 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
9979 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
9980 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
9981 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
9982 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
9983 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
9984 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
9985 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
9986 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
9987 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
9988 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
9989 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
9990 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
9991
1df3f842
JJ
99922014-11-13 Jakub Jelinek <jakub@redhat.com>
9993 Ilya Verbin <ilya.verbin@intel.com>
9994 Thomas Schwinge <thomas@codesourcery.com>
9995 Andrey Turetskiy <andrey.turetskiy@intel.com>
9996
9997 * libgomp.map (GOMP_4.0.1): New symbol version.
9998 Add GOMP_offload_register.
9999 * libgomp_target.h: New file.
10000 * splay-tree.h: New file.
10001 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
10002 (gomp_target_init): New forward declaration.
10003 (gomp_is_initialized): New static variable.
10004 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
10005 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
10006 New structures.
10007 (offload_images, num_offload_images, devices, num_devices): New static
10008 variables.
10009 (splay_compare): New static function.
10010 (struct gomp_device_descr): New structure.
10011 (gomp_get_num_devices): Call gomp_target_init.
10012 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
10013 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
10014 (GOMP_offload_register): New function.
10015 (GOMP_target): Arrange for host callback to be performed in a separate
10016 initial thread and contention group, inheriting ICVs from
10017 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
10018 Add device initialization and lookup for target function in splay tree.
10019 (GOMP_target_data): Add device initialization and call gomp_map_vars.
10020 (GOMP_target_end_data): Call gomp_unmap_vars.
10021 (GOMP_target_update): Add device initialization and call gomp_update.
10022 (gomp_load_plugin_for_device, gomp_register_images_for_device)
10023 (gomp_target_init): New static functions.
10024
85c64bbe
BS
100252014-11-13 Bernd Schmidt <bernds@codesourcery.com>
10026 Thomas Schwinge <thomas@codesourcery.com>
10027 Ilya Verbin <ilya.verbin@intel.com>
10028 Andrey Turetskiy <andrey.turetskiy@intel.com>
10029
10030 * config.h.in: Regenerate.
10031 * configure: Regenerate.
10032 * configure.ac: Check for libdl, required for plugin support.
10033 (PLUGIN_SUPPORT): Define if plugins are supported.
10034 (enable_offload_targets): Support Intel MIC targets.
10035 (OFFLOAD_TARGETS): List of target names suitable for offloading.
10036
ebf6d33b
FXC
100372014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10038
10039 PR target/63610
10040 * configure: Regenerate.
10041
8c768629
RO
100422014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10043
10044 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
10045
c1d62412
MP
100462014-10-06 Marek Polacek <polacek@redhat.com>
10047
10048 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
10049 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
10050 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
10051 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10052
44a0c6cb
MP
100532014-10-06 Marek Polacek <polacek@redhat.com>
10054
10055 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
10056 * testsuite/libgomp.c/nqueens-1.c: Likewise.
10057 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10058 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10059 * testsuite/libgomp.c/pr36802-2.c: Likewise.
10060 * testsuite/libgomp.c/pr36802-3.c: Likewise.
10061 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
10062 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10063 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
10064 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
10065 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
10066 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
10067 * testsuite/libgomp.c/omp-single-1.c: Likewise.
10068 * testsuite/libgomp.c/omp-single-2.c: Likewise.
10069 * testsuite/libgomp.c/omp_matvec.c: Likewise.
10070 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
10071 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
10072 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
10073 declarations.
10074
5771c391
JJ
100752014-10-03 Jakub Jelinek <jakub@redhat.com>
10076
10077 PR libgomp/61200
10078 * testsuite/libgomp.c/pr61200.c: New test.
10079
bce16b88
JJ
100802014-09-18 Jakub Jelinek <jakub@redhat.com>
10081
10082 PR c++/63248
10083 * testsuite/libgomp.c++/pr63248.C: New test.
10084
3696163c
JJ
100852014-08-04 Jakub Jelinek <jakub@redhat.com>
10086
10087 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
10088 is not zero, but taskgroup->children is NULL and there are
10089 any task->children, schedule those instead of waiting.
10090 * testsuite/libgomp.c/depend-6.c: New test.
10091 * testsuite/libgomp.c/depend-7.c: New test.
10092 * testsuite/libgomp.c/depend-8.c: New test.
10093 * testsuite/libgomp.c/depend-9.c: New test.
10094 * testsuite/libgomp.c/depend-10.c: New test.
10095
0494285a
JJ
100962014-08-01 Jakub Jelinek <jakub@redhat.com>
10097
10098 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
10099 (struct gomp_taskwait): New type.
10100 (struct gomp_task): Add taskwait and parent_depends_on, remove
10101 in_taskwait and taskwait_sem fields.
10102 (gomp_finish_task): Don't destroy taskwait_sem.
10103 * task.c (gomp_init_task): Don't init in_taskwait, instead init
10104 taskwait and parent_depends_on.
10105 (GOMP_task): For if (0) tasks with depend clause that depend on
10106 earlier tasks don't defer them, instead call
10107 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
10108 Initialize redundant_out field, for redundant out entries just
10109 move them at the end of linked list instead of removing them
10110 completely, and set redundant_out flag instead of redundant.
10111 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
10112 that task.
10113 (gomp_task_run_post_handle_dependers): If parent is in
10114 gomp_task_maybe_wait_for_dependencies and newly runnable task
10115 is not parent_depends_on, queue it in parent->children linked
10116 list after all runnable tasks with parent_depends_on set.
10117 Adjust for addition of taskwait indirection.
10118 (gomp_task_run_post_remove_parent): If parent is in
10119 gomp_task_maybe_wait_for_dependencies and task to be removed
10120 is parent_depends_on, decrement n_depend and if needed awake
10121 parent. Adjust for addition of taskwait indirection.
10122 (GOMP_taskwait): Adjust for addition of taskwait indirection.
10123 (gomp_task_maybe_wait_for_dependencies): New function.
10124 * testsuite/libgomp.c/depend-5.c: New test.
10125
60ab4b44
TB
101262014-07-13 Tobias Burnus <burnus@net-b.de>
10127
10128 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 10129 with TS 18508/Fortran 2015.
60ab4b44 10130
773ec47f
MP
101312014-07-06 Marek Polacek <polacek@redhat.com>
10132
10133 PR c/6940
10134 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
10135
f707da16
JJ
101362014-07-03 Jakub Jelinek <jakub@redhat.com>
10137
10138 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
10139 matches regex $lang_source_re, add $lang_include_flags to options.
10140 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
10141 * testsuite/libgomp.c++/c++.exp: Likewise.
10142 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
10143 and lang_include_flags instead of adding -fintrinsic-modules-path= to
10144 ALWAYS_CFLAGS.
10145 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
10146
07b6c044
TS
101472014-07-03 Thomas Schwinge <thomas@codesourcery.com>
10148
10149 * testsuite/libgomp.fortran/fortran.exp: Explain
10150 gfortran-dg-runtest usage.
10151
da6f124d
JJ
101522014-06-25 Jakub Jelinek <jakub@redhat.com>
10153
10154 * testsuite/libgomp.fortran/simd5.f90: New test.
10155 * testsuite/libgomp.fortran/simd6.f90: New test.
10156 * testsuite/libgomp.fortran/simd7.f90: New test.
10157
b46ebd6c
JJ
101582014-06-24 Jakub Jelinek <jakub@redhat.com>
10159
56ad0e38
JJ
10160 * testsuite/libgomp.c/for-2.c: Define SC to static for
10161 #pragma omp for simd testing.
10162 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
10163 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
10164 SC macro.
10165 * testsuite/libgomp.c/simd-14.c: New test.
10166 * testsuite/libgomp.c/simd-15.c: New test.
10167 * testsuite/libgomp.c/simd-16.c: New test.
10168 * testsuite/libgomp.c/simd-17.c: New test.
10169 * testsuite/libgomp.c++/for-10.C: Define SC to static for
10170 #pragma omp for simd testing.
10171 * testsuite/libgomp.c++/simd10.C: New test.
10172 * testsuite/libgomp.c++/simd11.C: New test.
10173 * testsuite/libgomp.c++/simd12.C: New test.
10174 * testsuite/libgomp.c++/simd13.C: New test.
10175
b46ebd6c
JJ
10176 * testsuite/libgomp.fortran/aligned1.f03: New test.
10177 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
10178 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
10179 tasks with !$omp parallel !$omp single.
10180 * testsuite/libgomp.fortran/target8.f90: New test.
10181 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
10182 not to use trim in the combiner, instead call elemental function.
10183 (fn): New elemental function.
10184 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
10185 Make elemental.
10186 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
10187 omp_in): Likewise.
10188 * testsuite/libgomp.fortran/udr12.f90: New test.
10189 * testsuite/libgomp.fortran/udr13.f90: New test.
10190 * testsuite/libgomp.fortran/udr14.f90: New test.
10191 * testsuite/libgomp.fortran/udr15.f90: New test.
10192
f014c653
JJ
101932014-06-18 Jakub Jelinek <jakub@redhat.com>
10194
10195 * omp_lib.f90.in (openmp_version): Set to 201307.
10196 * omp_lib.h.in (openmp_version): Likewise.
10197 * testsuite/libgomp.c/target-8.c: New test.
10198 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
10199 and inbranch clauses.
10200 * testsuite/libgomp.fortran/depend-3.f90: New test.
10201 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
10202 openmp_version.
10203 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10204 * testsuite/libgomp.fortran/target1.f90: New test.
10205 * testsuite/libgomp.fortran/target2.f90: New test.
10206 * testsuite/libgomp.fortran/target3.f90: New test.
10207 * testsuite/libgomp.fortran/target4.f90: New test.
10208 * testsuite/libgomp.fortran/target5.f90: New test.
10209 * testsuite/libgomp.fortran/target6.f90: New test.
10210 * testsuite/libgomp.fortran/target7.f90: New test.
10211
92d28cbb
JJ
102122014-06-10 Jakub Jelinek <jakub@redhat.com>
10213
10214 PR fortran/60928
10215 * testsuite/libgomp.fortran/allocatable9.f90: New test.
10216 * testsuite/libgomp.fortran/allocatable10.f90: New test.
10217 * testsuite/libgomp.fortran/allocatable11.f90: New test.
10218 * testsuite/libgomp.fortran/allocatable12.f90: New test.
10219 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
10220 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
10221 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
10222 * testsuite/libgomp.fortran/associate1.f90: New test.
10223 * testsuite/libgomp.fortran/associate2.f90: New test.
10224 * testsuite/libgomp.fortran/procptr1.f90: New test.
10225
5f23671d
JJ
102262014-06-06 Jakub Jelinek <jakub@redhat.com>
10227
10228 * testsuite/libgomp.fortran/simd1.f90: New test.
10229 * testsuite/libgomp.fortran/udr1.f90: New test.
10230 * testsuite/libgomp.fortran/udr2.f90: New test.
10231 * testsuite/libgomp.fortran/udr3.f90: New test.
10232 * testsuite/libgomp.fortran/udr4.f90: New test.
10233 * testsuite/libgomp.fortran/udr5.f90: New test.
10234 * testsuite/libgomp.fortran/udr6.f90: New test.
10235 * testsuite/libgomp.fortran/udr7.f90: New test.
10236 * testsuite/libgomp.fortran/udr8.f90: New test.
10237 * testsuite/libgomp.fortran/udr9.f90: New test.
10238 * testsuite/libgomp.fortran/udr10.f90: New test.
10239 * testsuite/libgomp.fortran/udr11.f90: New test.
10240
0389fbb5
UB
102412014-05-27 Uros Bizjak <ubizjak@gmail.com>
10242
10243 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
10244 vect_simd_clones effective target.
10245 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
10246
decaaec8
JJ
102472014-05-21 Jakub Jelinek <jakub@redhat.com>
10248
10249 PR middle-end/61252
10250 * testsuite/libgomp.c++/simd-9.C: New test.
10251
72832460
UB
102522014-05-18 Uros Bizjak <ubizjak@gmail.com>
10253
10254 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
10255 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
10256 texts according to their @menu entry positions.
10257
dd2fc525
JJ
102582014-05-11 Jakub Jelinek <jakub@redhat.com>
10259
10260 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
10261 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
10262 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
10263 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
10264 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
10265 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
10266 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
10267 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
10268 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
10269 * testsuite/libgomp.fortran/depend-1.f90: New test.
10270 * testsuite/libgomp.fortran/depend-2.f90: New test.
10271 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
10272 * testsuite/libgomp.fortran/simd1.f90: New test.
10273 * testsuite/libgomp.fortran/simd2.f90: New test.
10274 * testsuite/libgomp.fortran/simd3.f90: New test.
10275 * testsuite/libgomp.fortran/simd4.f90: New test.
10276 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
10277
95782571
JJ
102782014-05-02 Jakub Jelinek <jakub@redhat.com>
10279
10280 * testsuite/libgomp.c/simd-10.c: New test.
10281 * testsuite/libgomp.c/simd-11.c: New test.
10282 * testsuite/libgomp.c/simd-12.c: New test.
10283 * testsuite/libgomp.c/simd-13.c: New test.
10284
f7468577
JJ
102852014-04-24 Jakub Jelinek <jakub@redhat.com>
10286
42056eac
JJ
10287 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
10288 atomic type clauses in any order and optional comma in between.
10289 * testsuite/libgomp.c++/atomic-15.C: Likewise.
10290 * testsuite/libgomp.c/atomic-17.c: Likewise.
10291
f7468577
JJ
10292 * testsuite/libgomp.c/simd-7.c: New test.
10293 * testsuite/libgomp.c/simd-8.c: New test.
10294 * testsuite/libgomp.c/simd-9.c: New test.
10295 * testsuite/libgomp.c/loop-16.c: New test.
10296
ab18f2f5
RH
102972014-04-02 Richard Henderson <rth@redhat.com>
10298
10299 * config/linux/futex.h (futex_wait): Get error value from errno.
10300 (futex_wake): Likewise.
10301
8bcc90b0
JJ
103022014-03-25 Jakub Jelinek <jakub@redhat.com>
10303
10304 PR c++/60331
10305 * testsuite/libgomp.c++/udr-11.C: New test.
10306 * testsuite/libgomp.c++/udr-12.C: New test.
10307 * testsuite/libgomp.c++/udr-13.C: New test.
10308 * testsuite/libgomp.c++/udr-14.C: New test.
10309 * testsuite/libgomp.c++/udr-15.C: New test.
10310 * testsuite/libgomp.c++/udr-16.C: New test.
10311 * testsuite/libgomp.c++/udr-17.C: New test.
10312 * testsuite/libgomp.c++/udr-18.C: New test.
10313 * testsuite/libgomp.c++/udr-19.C: New test.
10314
18d73c7f
RS
103152014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10316
10317 Update copyright years
10318
f9030485
RS
103192014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10320
10321 * hashtab.h: Use the standard form for the copyright notice.
10322
98db73df
TB
103232014-01-02 Tobias Burnus <burnus@net-b.de>
10324
10325 * libgomp.texi: Bump @copying's copyright year.
10326
ae246f7f
AT
103272013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
10328
93d90219 10329 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
10330 alloca () with __builtin_alloca ().
10331 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
10332 * testsuite/libgomp.c/lock-3.c: Likewise.
10333 * testsuite/libgomp.c/pr48591.c: Likewise.
10334
fa00a5fe
JJ
103352013-12-17 Jakub Jelinek <jakub@redhat.com>
10336
10337 PR testsuite/59534
10338 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
10339 comparisons.
10340
e9792e1d
JJ
103412013-12-16 Jakub Jelinek <jakub@redhat.com>
10342
10343 PR libgomp/58756
10344 * testsuite/libgomp.c/pr58756.c: New test.
10345
cab37c89
JJ
103462013-12-12 Jakub Jelinek <jakub@redhat.com>
10347
10348 PR libgomp/59467
10349 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
10350 !$omp parallel.
10351
de14871c
TS
103522013-11-07 Thomas Schwinge <thomas@codesourcery.com>
10353
1707a5de
TS
10354 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
10355 ALWAYS_CFLAGS.
10356 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
10357 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
10358 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
10359 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
10360 Likewise.
10361
70f05c43
TS
10362 * libgomp_g.h: Include <stddef.h> for size_t.
10363
de14871c
TS
10364 * libgomp.spec.in: Update comment about libgomp's dependencies.
10365 * configure.ac: Likewise.
10366 * configure: Regenerate.
10367
83fd6c5b
TB
103682013-10-16 Tobias Burnus <burnus@net-b.de>
10369
10370 * libgomp.texi: (Runtime Library Routines): Update references for
10371 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
10372 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
10373 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
10374 (Environment Variables): Update references for OpenMP 4.0. Add
10375 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
10376 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
10377 order.
10378
c8673881
JJ
103792013-10-14 Jakub Jelinek <jakub@redhat.com>
10380
10381 * env.c (parse_bind_var): Initialize value to avoid
10382 (false positive) warning.
10383
f89163fd
JJ
103842013-10-12 Jakub Jelinek <jakub@redhat.com>
10385
10386 PR libgomp/58691
10387 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
10388 to check variable.
10389 (gomp_init_num_threads): Move i variable declaration into
10390 #ifdef CPU_ALLOC_SIZE block.
10391 * config/linux/affinity.c (gomp_affinity_init_level): Test
10392 gomp_places_list_len == 0 rather than gomp_places_list == 0
10393 when checking for topology reading error.
10394 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
10395 * env.c (parse_affinity): Add ignore argument, if true, don't populate
10396 gomp_places_list, only parse env var and always return false.
10397 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
10398 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
10399 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
10400 and either of these variables were parsed correctly into a places
10401 list.
10402
1d340638
TS
104032013-10-11 Thomas Schwinge <thomas@codesourcery.com>
10404 Jakub Jelinek <jakub@redhat.com>
10405
10406 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
10407 of 5 loopfn matches.
10408 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10409 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10410 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10411 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10412 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10413 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10414 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10415 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10416
71a81c21
TS
104172013-10-11 Thomas Schwinge <thomas@codesourcery.com>
10418
bd87f731
TS
10419 * Makefile.am (omp_lib.mod): Streamline rule.
10420 * Makefile.in: Regenerate.
10421
f5745bed
TS
10422 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
10423 exceptions.
10424
b5512c66
TS
10425 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
10426 * testsuite/libgomp.fortran/lib1.f90: Likewise.
10427 * testsuite/libgomp.fortran/lib2.f: Likewise.
10428 * testsuite/libgomp.fortran/lib3.f: Likewise.
10429
451c19c4
TS
10430 * configure.ac: Typo fix.
10431 * configure: Regenerate.
10432
86a6016d
TS
10433 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
10434 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10435
71a81c21
TS
10436 * omp.h.in: Don't touch the user's namespace.
10437
acf0174b
JJ
104382013-10-11 Jakub Jelinek <jakub@redhat.com>
10439 Tobias Burnus <burnus@net-b.de>
10440 Richard Henderson <rth@redhat.com>
10441
10442 * target.c: New file.
10443 * Makefile.am (libgomp_la_SOURCES): Add target.c.
10444 * Makefile.in: Regenerated.
10445 * libgomp_g.h (GOMP_task): Add depend argument.
10446 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10447 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10448 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
10449 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10450 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10451 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
10452 GOMP_taskgroup_start, GOMP_taskgroup_end,
10453 GOMP_parallel_sections): New prototypes.
10454 * fortran.c (omp_is_initial_device): Add ialias_redirect.
10455 (omp_is_initial_device_): New function.
10456 (ULP, STR1, STR2, ialias_redirect): Removed.
10457 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
10458 omp_set_default_device_8_, omp_get_default_device_,
10459 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
10460 functions.
10461 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10462 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10463 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
10464 @@GOMP_4.0.
10465 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
10466 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
10467 omp_set_default_device, omp_set_default_device_,
10468 omp_set_default_device_8_, omp_get_default_device,
10469 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
10470 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
10471 omp_get_team_num_): Export @@OMP_4.0.
10472 * team.c (struct gomp_thread_start_data): Add place field.
10473 (gomp_thread_start): Clear thr->thread_pool and
10474 thr->task before returning. Use gomp_team_barrier_wait_final
10475 instead of gomp_team_barrier_wait. Initialize thr->place.
10476 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
10477 team_cancelled and task_queued_count fields.
10478 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
10479 before calling pthread_exit.
10480 (gomp_free_thread): No longer static. Use
10481 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
10482 (gomp_team_start): Add flags argument. Set
10483 thr->thread_pool->threads_busy to nthreads immediately after creating
10484 new pool. Use gomp_managed_threads_lock instead of
10485 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
10486 (gomp_team_end): Use gomp_managed_threads_lock instead of
10487 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
10488 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 10489 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
10490 rather than thr->ts.work_share.
10491 (initialize_team): Don't call gomp_sem_init here.
10492 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
10493 caller.
10494 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
10495 * env.c (gomp_global_icv): Add default_device_var, target_data and
10496 bind_var initializers.
10497 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10498 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10499 gomp_places_list_len): New variables.
10500 (parse_bind_var, parse_one_place, parse_places_var): New functions.
10501 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10502 sized places.
10503 (gomp_cancel_var): New global variable.
10504 (parse_int): New function.
10505 (handle_omp_display_env): New function.
10506 (initialize_env): Use it. Initialize default_device_var.
10507 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
10508 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
10509 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
10510 been successfully parsed (and call gomp_init_affinity in that case).
10511 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10512 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10513 omp_get_team_num, omp_is_initial_device): New functions.
10514 * libgomp.h: Include stdlib.h.
10515 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10516 Define.
10517 (struct target_mem_desc): Forward declare.
10518 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10519 and thread_limit_var fields.
10520 (gomp_get_num_devices): New prototype.
10521 (gomp_cancel_var): New extern decl.
10522 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10523 team_cancelled and task_queued_count fields. Add comments about
10524 task_{,queued_,running_}count.
10525 (gomp_cancel_kind): New enum.
10526 (gomp_work_share_end_cancel): New prototype.
10527 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10528 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10529 and depend fields.
10530 (struct gomp_taskgroup): New type.
10531 (struct gomp_task_depend_entry,
10532 struct gomp_dependers_vec): New types.
10533 (gomp_finish_task): Free depend_hash if non-NULL.
10534 (struct gomp_team_state): Add place_partition_off
10535 and place_partition_len fields.
10536 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10537 gomp_places_list_len): New extern decls.
10538 (struct gomp_thread): Add place field.
10539 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10540 (gomp_init_thread_affinity): Add place argument.
10541 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10542 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10543 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10544 gomp_affinity_init_level, gomp_affinity_print_place): New
10545 prototypes.
10546 (gomp_team_start): Add flags argument.
10547 (gomp_thread_limit_var, gomp_remaining_threads_count,
10548 gomp_remaining_threads_lock): Remove.
10549 (gomp_managed_threads_lock): New variable.
10550 (struct gomp_thread_pool): Add threads_busy field.
10551 (gomp_free_thread): New prototype.
10552 * task.c: Include hashtab.h.
10553 (hash_entry_type): New typedef.
10554 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10555 (gomp_init_task): Clear dependers, depend_hash, depend_count,
10556 copy_ctors_done and taskgroup fields.
10557 (GOMP_task): Add depend argument, handle depend clauses. If
10558 gomp_team_barrier_cancelled or if it's taskgroup has been
10559 cancelled, don't queue or start new tasks. Set copy_ctors_done
10560 field if needed. Initialize taskgroup field. If copy_ctors_done
10561 and already cancelled, don't discard the task. If taskgroup is
10562 non-NULL, enqueue the task into taskgroup queue. Increment
10563 num_children field in taskgroup. Increment task_queued_count.
10564 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10565 gomp_task_run_post_remove_taskgroup): New inline functions.
10566 (gomp_task_run_post_handle_depend_hash,
10567 gomp_task_run_post_handle_dependers,
10568 gomp_task_run_post_handle_depend): New functions.
10569 (GOMP_taskwait): Use them. If more than one new tasks
10570 have been queued, wake other threads if needed.
10571 (gomp_barrier_handle_tasks): Likewise. If
10572 gomp_team_barrier_cancelled, don't start any new tasks, just free
10573 all tasks.
10574 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10575 * omp_lib.f90.in
10576 (omp_proc_bind_kind, omp_proc_bind_false,
10577 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10578 omp_proc_bind_spread): New params.
10579 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10580 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10581 omp_get_team_num, omp_is_initial_device): New interfaces.
10582 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10583 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10584 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10585 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10586 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10587 useless use omp_lib_kinds.
10588 * omp.h.in (omp_proc_bind_t): New typedef.
10589 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10590 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10591 omp_get_team_num, omp_is_initial_device): New prototypes.
10592 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10593 through to gomp_team_start.
10594 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10595 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10596 Adjust gomp_parallel_loop_start callers.
10597 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10598 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10599 GOMP_loop_end_cancel): New functions.
10600 (GOMP_parallel_end): Add ialias_redirect.
10601 * hashtab.h: New file.
10602 * libgomp.texi (Environment Variables): Minor cleanup,
10603 update section refs to OpenMP 4.0rc2.
10604 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10605 environment variables.
10606 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10607 team->work_shares_to_free to thr->ts.work_share before calling
10608 free_work_share.
10609 (gomp_work_share_end_cancel): New function.
10610 * config/linux/proc.c: Include errno.h.
10611 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10612 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10613 sizeof (cpu_set_t) to determine number of iterations. Fix up check
10614 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
10615 gomp_cpuset_size is sizeof (cpu_set_t).
10616 (gomp_init_num_threads): Initialize gomp_cpuset_size,
10617 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10618 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10619 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
10620 contain any logical CPUs.
10621 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10622 is NULL. Use gomp_cpusetp instead of &cpuset and pass
10623 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10624 pthread_getaffinity_np. Check gomp_places_list instead of
10625 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
10626 * config/linux/bar.c (gomp_barrier_wait_end,
10627 gomp_barrier_wait_last): Use BAR_* defines.
10628 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
10629 from state where needed. Set work_share_cancelled to 0 on last
10630 thread.
10631 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10632 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10633 functions.
10634 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10635 Add cpusetsize argument.
10636 (gomp_cpuset_size, gomp_cpusetp): Declare.
10637 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10638 (affinity_counter): Remove.
10639 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10640 if CPU_ALLOC_SIZE isn't defined.
10641 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10642 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10643 bind current thread to the first place.
10644 (gomp_init_thread_affinity): Rewritten. Add place argument, just
10645 pthread_setaffinity_np to gomp_places_list[place].
10646 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10647 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10648 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10649 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10650 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10651 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10652 (gomp_barrier_t): Add awaited_final field.
10653 (gomp_barrier_init): Initialize awaited_final field.
10654 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10655 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10656 prototypes.
10657 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
10658 defines.
10659 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10660 gomp_team_barrier_cancelled): New inline functions.
10661 (gomp_barrier_last_thread,
10662 gomp_team_barrier_set_task_pending,
10663 gomp_team_barrier_clear_task_pending,
10664 gomp_team_barrier_set_waiting_for_tasks,
10665 gomp_team_barrier_waiting_for_tasks,
10666 gomp_team_barrier_done): Use BAR_* defines.
10667 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10668 (gomp_barrier_wait_end): Use BAR_* defines.
10669 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10670 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10671 Use BAR_* defines.
10672 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10673 gomp_team_barrier_cancel): New functions.
10674 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10675 argument.
10676 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10677 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10678 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10679 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10680 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10681 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10682 (gomp_barrier_t): Add cancellable field.
10683 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10684 gomp_team_barrier_cancel): New prototypes.
10685 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10686 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10687 gomp_team_barrier_cancelled): New inline functions.
10688 (gomp_barrier_wait_start, gomp_barrier_last_thread,
10689 gomp_team_barrier_set_task_pending,
10690 gomp_team_barrier_clear_task_pending,
10691 gomp_team_barrier_set_waiting_for_tasks,
10692 gomp_team_barrier_waiting_for_tasks,
10693 gomp_team_barrier_done): Use BAR_* defines.
10694 * barrier.c (GOMP_barrier_cancel): New function.
10695 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10696 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10697 omp_proc_bind_spread): New params.
10698 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10699 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10700 omp_get_team_num, omp_is_initial_device): New externals.
10701 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10702 New functions.
10703 (gomp_resolve_num_threads): Adjust for thread_limit now being in
10704 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10705 infinity. If not nested, just return minimum of max_num_threads
10706 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10707 to the returned value. Otherwise, don't update atomically
10708 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10709 (GOMP_parallel_end): Adjust for thread_limit now being in
10710 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
10711 infinity. Adjust threads_busy in the pool rather than
10712 gomp_remaining_threads_count. Remember team->nthreads and call
10713 gomp_team_end before adjusting threads_busy, if not nested
10714 afterwards, just set it to 1 non-atomically. Add ialias.
10715 (GOMP_parallel_start): Adjust gomp_team_start caller.
10716 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10717 * testsuite/libgomp.c/affinity-1.c: New test.
10718 * testsuite/libgomp.c/atomic-15.c: New test.
10719 * testsuite/libgomp.c/atomic-16.c: New test.
10720 * testsuite/libgomp.c/atomic-17.c: New test.
10721 * testsuite/libgomp.c/cancel-for-1.c: New test.
10722 * testsuite/libgomp.c/cancel-for-2.c: New test.
10723 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10724 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10725 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10726 * testsuite/libgomp.c/cancel-sections-1.c: New test.
10727 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10728 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10729 * testsuite/libgomp.c/depend-1.c: New test.
10730 * testsuite/libgomp.c/depend-2.c: New test.
10731 * testsuite/libgomp.c/depend-3.c: New test.
10732 * testsuite/libgomp.c/depend-4.c: New test.
10733 * testsuite/libgomp.c/for-1.c: New test.
10734 * testsuite/libgomp.c/for-1.h: New file.
10735 * testsuite/libgomp.c/for-2.c: New test.
10736 * testsuite/libgomp.c/for-2.h: New file.
10737 * testsuite/libgomp.c/for-3.c: New test.
10738 * testsuite/libgomp.c/pr58392.c: New test.
10739 * testsuite/libgomp.c/simd-1.c: New test.
10740 * testsuite/libgomp.c/simd-2.c: New test.
10741 * testsuite/libgomp.c/simd-3.c: New test.
10742 * testsuite/libgomp.c/simd-4.c: New test.
10743 * testsuite/libgomp.c/simd-5.c: New test.
10744 * testsuite/libgomp.c/simd-6.c: New test.
10745 * testsuite/libgomp.c/target-1.c: New test.
10746 * testsuite/libgomp.c/target-2.c: New test.
10747 * testsuite/libgomp.c/target-3.c: New test.
10748 * testsuite/libgomp.c/target-4.c: New test.
10749 * testsuite/libgomp.c/target-5.c: New test.
10750 * testsuite/libgomp.c/target-6.c: New test.
10751 * testsuite/libgomp.c/target-7.c: New test.
10752 * testsuite/libgomp.c/taskgroup-1.c: New test.
10753 * testsuite/libgomp.c/thread-limit-1.c: New test.
10754 * testsuite/libgomp.c/thread-limit-2.c: New test.
10755 * testsuite/libgomp.c/thread-limit-3.c: New test.
10756 * testsuite/libgomp.c/udr-1.c: New test.
10757 * testsuite/libgomp.c/udr-2.c: New test.
10758 * testsuite/libgomp.c/udr-3.c: New test.
10759 * testsuite/libgomp.c++/affinity-1.C: New test.
10760 * testsuite/libgomp.c++/atomic-10.C: New test.
10761 * testsuite/libgomp.c++/atomic-11.C: New test.
10762 * testsuite/libgomp.c++/atomic-12.C: New test.
10763 * testsuite/libgomp.c++/atomic-13.C: New test.
10764 * testsuite/libgomp.c++/atomic-14.C: New test.
10765 * testsuite/libgomp.c++/atomic-15.C: New test.
10766 * testsuite/libgomp.c++/cancel-for-1.C: New test.
10767 * testsuite/libgomp.c++/cancel-for-2.C: New test.
10768 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10769 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10770 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10771 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10772 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10773 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10774 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10775 * testsuite/libgomp.c++/cancel-test.h: New file.
10776 * testsuite/libgomp.c++/for-9.C: New test.
10777 * testsuite/libgomp.c++/for-10.C: New test.
10778 * testsuite/libgomp.c++/for-11.C: New test.
10779 * testsuite/libgomp.c++/simd-1.C: New test.
10780 * testsuite/libgomp.c++/simd-2.C: New test.
10781 * testsuite/libgomp.c++/simd-3.C: New test.
10782 * testsuite/libgomp.c++/simd-4.C: New test.
10783 * testsuite/libgomp.c++/simd-5.C: New test.
10784 * testsuite/libgomp.c++/simd-6.C: New test.
10785 * testsuite/libgomp.c++/simd-7.C: New test.
10786 * testsuite/libgomp.c++/simd-8.C: New test.
10787 * testsuite/libgomp.c++/target-1.C: New test.
10788 * testsuite/libgomp.c++/target-2.C: New test.
10789 * testsuite/libgomp.c++/target-2-aux.cc: New file.
10790 * testsuite/libgomp.c++/target-3.C: New test.
10791 * testsuite/libgomp.c++/taskgroup-1.C: New test.
10792 * testsuite/libgomp.c++/udr-1.C: New test.
10793 * testsuite/libgomp.c++/udr-2.C: New test.
10794 * testsuite/libgomp.c++/udr-3.C: New test.
10795 * testsuite/libgomp.c++/udr-4.C: New test.
10796 * testsuite/libgomp.c++/udr-5.C: New test.
10797 * testsuite/libgomp.c++/udr-6.C: New test.
10798 * testsuite/libgomp.c++/udr-7.C: New test.
10799 * testsuite/libgomp.c++/udr-8.C: New test.
10800 * testsuite/libgomp.c++/udr-9.C: New test.
10801
bd599dea
JJ
108022013-09-20 Jakub Jelinek <jakub@redhat.com>
10803
10804 PR testsuite/57605
10805 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10806 ALWAYS_CFLAGS.
10807
3cbe17f7
AM
108082013-09-20 Alan Modra <amodra@gmail.com>
10809
10810 * configure: Regenerate.
10811
4befd127
JJ
108122013-09-19 Jakub Jelinek <jakub@redhat.com>
10813
10814 * testsuite/libgomp.c/sections-2.c: New test.
10815
946c8f7b
MS
108162013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
10817
10818 * testsuite/libgomp.fortran/strassen.f90:
10819 Add dg-skip-if aarch64_tiny.
10820
1ef3b58e
IS
108212013-06-20 Iain Sandoe <iain@codesourcery.com>
10822 Cesar Philippidis <cesar@codesourcery.com>
10823
10824 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10825 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10826 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10827 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10828 * testsuite/libgomp.graphite/graphite.exp: Likewise.
10829 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10830 Use dg-runtest rather than gfortran-dg-runtest.
10831
9275f73a
TS
108322013-06-10 Thomas Schwinge <thomas@codesourcery.com>
10833
10834 * testsuite/libgomp.c/icv-2.c: Extend current handling of
10835 Linux-based x86 systems to cover all GNU systems.
10836 * testsuite/libgomp.c/lock-3.c: Likewise.
10837 * testsuite/libgomp.c/pr48591.c: Likewise.
10838
492992e2
TS
108392013-06-06 Thomas Schwinge <thomas@codesourcery.com>
10840
48df3acb
TS
10841 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10842 GNU/Hurd, as done for Linux-based systems.
10843
492992e2
TS
10844 * config/posix/ptrlock.h: Fix comment.
10845
4fed6b25
TB
108462013-05-27 Tobias Burnus <burnus@net-b.de>
10847
10848 PR fortran/57423
10849 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10850 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10851 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10852 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10853 omp_destroy_nest_lock): Correct arguments to match the one in
10854 the OpenMP spec.
10855 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10856 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10857 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10858 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10859
5a0f4dd3
JJ
108602013-05-16 Jakub Jelinek <jakub@redhat.com>
10861
10862 * testsuite/libgomp.c/loop-13.c: New test.
10863 * testsuite/libgomp.c/loop-14.c: New test.
10864 * testsuite/libgomp.c/loop-15.c: New test.
10865 * testsuite/libgomp.c++/loop-13.C: New test.
10866 * testsuite/libgomp.c++/loop-14.C: New test.
10867 * testsuite/libgomp.c++/loop-15.C: New test.
10868
6d840d99
JJ
108692013-02-06 Jakub Jelinek <jakub@redhat.com>
10870
10871 PR middle-end/56217
10872 * testsuite/libgomp.c++/pr56217.C: New test.
10873
bed8d8a6
AM
108742013-02-01 Alan Modra <amodra@gmail.com>
10875
10876 * task.c (GOMP_task, GOMP_taskwait): Comment.
10877
3b35cd04
DV
108782013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
10879 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
10880
10881 PR libgomp/55561
10882 * config/linux/wait.h (do_spin): Use atomic load for addr.
10883 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
10884 for intptr and ptrlock.
10885 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
10886 for ptrlock.
10887
9a647288
AM
108882013-01-22 Alan Modra <amodra@gmail.com>
10889
10890 PR libgomp/51376
10891 PR libgomp/56073
10892 * task.c (GOMP_task): Revert 2011-12-09 change.
10893 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
10894 barrier to read task->children..
10895 (gomp_barrier_handle_tasks): ..and matching atomic store with
10896 release barrier here when setting parent->children to NULL.
10897
f34dea03
JJ
108982013-01-16 Jakub Jelinek <jakub@redhat.com>
10899 Tobias Burnus <burnus@net-b.de>
10900
10901 PR driver/55884
10902 * testsuite/libgomp.fortran/fortran.exp: Use
10903 -fintrinsic-modules-path= instead of
10904 -fintrinsic-modules-path.
10905
8129609c
RS
109062013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
10907
10908 Update copyright years.
10909
aa86bf1e
TB
109102012-12-19 Tobias Burnus <burnus@net-b.de>
10911
10912 * testsuite/libgomp.fortran/fortran.exp: Set
10913 -fintrinsic-modules-path.
10914
2865ea66
TB
109152012-12-19 Tobias Burnus <burnus@net-b.de>
10916
10917 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
10918 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
10919
4c5ba8d0
JJ
109202012-11-21 Jakub Jelinek <jakub@redhat.com>
10921
10922 PR libgomp/55411
10923 * team.c (gomp_free_thread): Decrease gomp_managed_threads
10924 if pool had any threads_used.
10925
e9f958c2
JH
109262012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
10927
10928 * testsuite/libgomp.c++/pr24455.C: Use
10929 -Wl,-undefined,dynamic_lookup on darwin.
10930
a57d75dc
DE
109312012-11-07 David Edelsohn <dje.gcc@gmail.com>
10932
10933 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
10934
c6c08485
DH
109352012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
10936
10937 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
10938
c1f37c00
IB
109392012-10-23 Ian Bolton <ian.bolton@arm.com>
10940 Jim MacArthur <jim.macarthur@arm.com>
10941 Marcus Shawcroft <marcus.shawcroft@arm.com>
10942 Nigel Stephens <nigel.stephens@arm.com>
10943 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10944 Richard Earnshaw <rearnsha@arm.com>
10945 Sofiane Naci <sofiane.naci@arm.com>
10946 Stephen Thomas <stephen.thomas@arm.com>
10947 Tejas Belagod <tejas.belagod@arm.com>
10948 Yufeng Zhang <yufeng.zhang@arm.com>
10949
10950 * configure.tgt: Add AArch64.
10951
7c424acd
JM
109522012-10-04 Jason Merrill <jason@redhat.com>
10953
10954 * testsuite/libgomp.c++/tls-init1.C: New.
10955
6608378b
DE
109562012-09-14 David Edelsohn <dje.gcc@gmail.com>
10957
10958 * configure: Regenerated.
10959
c24dbebb
CLT
109602012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
10961
10962 * config/linux/mips/futex.h (sys_futex0): Change to static
10963 function with noinline, nomips16 attributes under MIPS16. Adjust
10964 asm statement to place 'li v0,SYS_futex' immediately before
10965 syscall insn.
10966
3d3949df
SL
109672012-07-04 Sandra Loosemore <sandra@codesourcery.com>
10968
10969 * libgomp.texi (Library Index): Renamed from "Index" to prevent
10970 conflict with index.html on case-insensitive file systems.
10971
68a12ef3
UB
109722012-07-03 Uros Bizjak <ubizjak@gmail.com>
10973
10974 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
10975 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
10976
33ad93b9 109772012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
10978 Michael Matz <matz@suse.de>
10979 Tobias Grosser <tobias@grosser.es>
10980 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
10981
10982 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
10983 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10984 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10985 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10986
e6fdc918
AS
109872012-06-28 Andreas Schwab <schwab@linux-m68k.org>
10988
10989 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
10990
62e0a1ed
RG
109912012-06-22 Richard Guenther <rguenther@suse.de>
10992
10993 Merge from graphite branch
10994 2012-01-13 Tobias Grosser <tobias@grosser.es>
10995
10996 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
10997 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10998
26127932
JJ
109992012-06-07 Jakub Jelinek <jakub@redhat.com>
11000
11001 PR middle-end/53580
11002 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
11003 use GOMP_barrier () call instead.
11004 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11005 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11006 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
11007 call GOMP_barrier instead.
11008 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11009
43fa5db5
JJ
110102012-06-06 Jakub Jelinek <jakub@redhat.com>
11011
11012 PR libgomp/52993
11013 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
11014 argument to memset call.
11015
e6d5f8c9
L
110162012-05-16 H.J. Lu <hongjiu.lu@intel.com>
11017
11018 * configure: Regenerated.
11019
559d990c
MLI
110202012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11021
11022 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
11023
b9c23a61
L
110242012-03-31 H.J. Lu <hongjiu.lu@intel.com>
11025
11026 PR bootstrap/52812
11027 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
11028
c140ddf3
JJ
110292012-03-22 Jakub Jelinek <jakub@redhat.com>
11030
11031 PR middle-end/52547
11032 * testsuite/libgomp.c/pr52547.c: New test.
11033
6a26a74d
BRF
110342012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11035
11036 * testsuite/lib/libgomp.exp: load fortran-modules.exp
11037
b24513a1
RO
110382012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11039
11040 * configure.tgt (mips-sgi-irix6*): Remove.
11041
5c30094f
RO
110422012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11043
11044 * configure.tgt (alpha*-dec-osf*): Remove.
11045
11046 * config/osf/sem.h: Remove.
11047 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
11048
a339c9d6
EB
110492012-02-29 Eric Botcazou <ebotcazou@adacore.com>
11050
11051 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
11052
cc2de92d
RO
110532012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11054
11055 PR libstdc++/52188
11056 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
11057 Remove ENABLE_SYMVERS_SOL2.
11058 * configure: Regenerate.
11059 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
11060 (PREPROCESS): New variable.
11061 (libgomp.ver): New target.
11062 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
11063 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
11064 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
11065 Use libgomp.ver.
11066 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
11067 * Makefile.in: Regenerate.
11068
dd552284
WL
110692012-02-14 Walter Lee <walt@tilera.com>
11070
11071 * configure.tgt: Handle tilegx and tilepro.
11072 * config/linux/tile/futex.h: New file.
11073
31432e21
RG
110742012-02-08 Richard Guenther <rguenther@suse.de>
11075
11076 PR tree-optimization/46886
11077 * testsuite/libgomp.c/pr46886.c: New testcase.
11078
b9264b5f
MK
110792012-01-25 Matthias Klose <doko@ubuntu.com>
11080
11081 * config/linux/arm: Remove empty directory.
11082 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
11083
fbf7be80
AM
110842011-12-09 Alan Modra <amodra@gmail.com>
11085
11086 PR libgomp/51376
11087 * task.c (GOMP_taskwait): Don't access task->children outside of
11088 task_lock mutex region.
11089 (GOMP_task): Likewise.
11090
5de62d00
JJ
110912011-12-06 Jakub Jelinek <jakub@redhat.com>
11092
11093 PR libgomp/51132
11094 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
11095 to file scope.
11096 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11097 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11098 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11099 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11100 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11101
45608a43
AM
111022011-12-02 Alan Modra <amodra@gmail.com>
11103
11104 * config/linux/affinity.c: Use atomic rather than sync builtin.
11105 * config/linux/lock.c: Likewise.
11106 * config/linux/ptrlock.h: Likewise.
11107 * config/linux/ptrlock.c: Likewise.
11108 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
11109 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
11110 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
11111 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
11112 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
11113 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
11114 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
11115 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
11116 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
11117 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
11118
ab6dd406
AM
111192011-11-30 Alan Modra <amodra@gmail.com>
11120
11121 PR libgomp/51298
11122 * config/linux/bar.h: Use atomic rather than sync builtins.
11123 * config/linux/bar.c: Likewise. Add missing acquire
11124 synchronisation on generation field.
11125 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
11126 double unlock.
11127
b40c885f
AM
111282011-11-30 Alan Modra <amodra@gmail.com>
11129
11130 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
11131 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
11132 * config/linux/mutex.h: Use atomic rather than sync builtins.
11133 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
11134 * config/linux/omp-lock.h: Comment fix.
11135 * config/linux/arm/mutex.h: Delete.
11136 * config/linux/powerpc/mutex.h: Delete.
11137 * config/linux/ia64/mutex.h: Delete.
11138 * config/linux/mips/mutex.h: Delete.
11139
3e348fcc
AM
111402011-11-30 Alan Modra <amodra@gmail.com>
11141
11142 PR libgomp/51249
11143 * config/linux/sem.h: Rewrite.
11144 * config/linux/sem.c: Rewrite.
11145
cef86eb2
RH
111462011-11-28 Richard Henderson <rth@redhat.com>
11147
11148 * libgomp.h (enum memmodel): New.
11149
c6084f68
AT
111502011-11-21 Andreas Tobler <andreast@fgznet.ch>
11151
11152 * configure: Regenerate.
11153
06fe026c
MK
111542011-10-10 Matthias Klose <doko@ubuntu.com>
11155
11156 * config/posix95: Remove empty directory.
11157
a6c975bd
JJ
111582011-08-26 Jakub Jelinek <jakub@redhat.com>
11159
11160 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
11161
c26dffff
JJ
111622011-08-19 Jakub Jelinek <jakub@redhat.com>
11163
11164 PR fortran/49792
11165 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
11166 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
11167
ddaad3c8
RO
111682011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11169
11170 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
11171
98d03683
RO
111722011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11173
11174 PR libgomp/49965
11175 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
11176
e0b23d9f
UB
111772011-08-03 Uros Bizjak <ubizjak@gmail.com>
11178
11179 * config/linux/proc.h: New.
11180 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
11181 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
11182 (gomp_init_num_threads): Update call to cpuset_popcount.
11183 (get_num_procs): Ditto.
11184 * config/linux/affinity.c (gomp_init_affinity): Call
11185 gomp_cpuset_popcount.
11186
20906c66
JJ
111872011-08-02 Jakub Jelinek <jakub@redhat.com>
11188
11189 PR fortran/42041
11190 PR fortran/46752
11191 * omp.h.in (omp_in_final): New prototype.
11192 * omp_lib.f90.in (omp_in_final): New interface.
11193 (omp_integer_kind, omp_logical_kind): Remove
11194 and replace all its uses in the module with 4.
11195 (openmp_version): Change to 201107.
11196 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
11197 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
11198 kind for the parameters.
11199 (omp_in_final): New external.
11200 (openmp_version): Change to 201107.
11201 * task.c (omp_in_final): New function.
11202 (gomp_init_task): Initialize final_task.
11203 (GOMP_task): Remove unused attribute from flags. Handle final
11204 tasks.
11205 (GOMP_taskyield): New function.
11206 (omp_in_final): Return true if if (false) or final (true) task
11207 or descendant of final (true).
11208 * fortran.c (omp_in_final_): New function.
11209 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
11210 (GOMP_3.0): Export GOMP_taskyield.
11211 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
11212 variables.
11213 (parse_unsigned_long_list): New function.
11214 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
11215 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
11216 even if parse_affinity returned false.
11217 * config/linux/affinity.c (gomp_init_affinity): Handle
11218 gomp_cpu_affinity_len == 0.
11219 * libgomp_g.h (GOMP_taskyield): New prototype.
11220 * libgomp.h (struct gomp_task): Add final_task field.
11221 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
11222 * team.c (gomp_team_start): Override new task's nthreads_var icv
11223 if list form OMP_NUM_THREADS has been used and it has value for
11224 the new nesting level.
11225
11226 * testsuite/libgomp.c/atomic-11.c: New test.
11227 * testsuite/libgomp.c/atomic-12.c: New test.
11228 * testsuite/libgomp.c/atomic-13.c: New test.
11229 * testsuite/libgomp.c/atomic-14.c: New test.
11230 * testsuite/libgomp.c/reduction-6.c: New test.
11231 * testsuite/libgomp.c/task-5.c: New test.
11232 * testsuite/libgomp.c++/atomic-2.C: New test.
11233 * testsuite/libgomp.c++/atomic-3.C: New test.
11234 * testsuite/libgomp.c++/atomic-4.C: New test.
11235 * testsuite/libgomp.c++/atomic-5.C: New test.
11236 * testsuite/libgomp.c++/atomic-6.C: New test.
11237 * testsuite/libgomp.c++/atomic-7.C: New test.
11238 * testsuite/libgomp.c++/atomic-8.C: New test.
11239 * testsuite/libgomp.c++/atomic-9.C: New test.
11240 * testsuite/libgomp.c++/task-8.C: New test.
11241 * testsuite/libgomp.c++/reduction-4.C: New test.
11242 * testsuite/libgomp.fortran/allocatable7.f90: New test.
11243 * testsuite/libgomp.fortran/allocatable8.f90: New test.
11244 * testsuite/libgomp.fortran/crayptr3.f90: New test.
11245 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
11246 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
11247 * testsuite/libgomp.fortran/pointer1.f90: New test.
11248 * testsuite/libgomp.fortran/pointer2.f90: New test.
11249 * testsuite/libgomp.fortran/task4.f90: New test.
11250
112512011-08-02 Tobias Burnus <burnus@net-b.de>
11252
11253 * libgomp.texi: Update OpenMP spec references to 3.1.
11254 (omp_in_final,OMP_PROC_BIND): New sections.
11255 (OMP_NUM_THREADS): Document that the value can be now a list.
11256 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
11257
c01ecafc
L
112582011-08-02 H.J. Lu <hongjiu.lu@intel.com>
11259
11260 * config/linux/x86/futex.h: Check __x86_64__ instead of
11261 __LP64__.
11262
25142650
JJ
112632011-07-29 Jakub Jelinek <jakub@redhat.com>
11264
11265 PR middle-end/49897
11266 PR middle-end/49898
11267 * testsuite/libgomp.c/pr49897-1.c: New test.
11268 * testsuite/libgomp.c/pr49897-2.c: New test.
11269 * testsuite/libgomp.c/pr49898-1.c: New test.
11270 * testsuite/libgomp.c/pr49898-2.c: New test.
11271
f53d712f
L
112722011-07-28 H.J. Lu <hongjiu.lu@intel.com>
11273
11274 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
11275 for ia32 instead of ilp32.
11276
11277 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
11278 * testsuite/libgomp.c/atomic-6.c: Likewise.
11279
3689198d
SP
112802011-07-23 Sebastian Pop <sebastian.pop@amd.com>
11281
11282 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
11283 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
11284
1a79cb73
RO
112852011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11286
11287 PR libgomp/45351
11288 * config/osf/sem.h: New file.
11289 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
11290
c1f51484
RO
112912011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11292
11293 PR target/49541
11294 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
11295 ldflags.
11296
bfee0724
JJ
112972011-07-15 Jakub Jelinek <jakub@redhat.com>
11298
11299 * config/linux/wait.h (do_spin): New inline, largely copied
11300 from do_wait, just don't do futex_wait here, instead return true if
11301 it should be done.
11302 (do_wait): Implement using do_spin.
11303 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
11304 to prototype.
11305 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11306 __sync_bool_compare_and_swap, pass the oldval to
11307 gomp_mutex_lock_slow.
11308 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
11309 If all mutex contenders are just spinning and not sleeping, don't
11310 change state to 2 unnecessarily. Optimize the loop when state has
11311 already become 2 to use just one atomic operation per loop instead
11312 of two.
11313 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
11314 to prototype.
11315 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11316 __sync_bool_compare_and_swap, pass the oldval to
11317 gomp_mutex_lock_slow.
11318
fb79f500
JJ
113192011-06-22 Jakub Jelinek <jakub@redhat.com>
11320
11321 PR libgomp/49490
11322 * iter.c (gomp_iter_static_next): For chunk size 0
11323 only use n ceil/ nthreads size for the first
11324 n % nthreads threads in the team instead of
11325 all threads except for the last few ones which
11326 get less work or none at all.
11327 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
11328 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
11329 chunk argument, set run_sched_modifier to 0 for static
11330 resp. 1 for other kinds. If chunk argument is 0
11331 and not static, set value to 1.
11332
4577f730
JJ
113332011-05-19 Jakub Jelinek <jakub@redhat.com>
11334
ea93a47b
JJ
11335 PR c++/49043
11336 * testsuite/libgomp.c++/pr49043.C: New test.
11337
4577f730
JJ
11338 PR c++/48869
11339 * testsuite/libgomp.c++/pr48869.C: New test.
11340
e7385332
JJ
113412011-05-06 Jakub Jelinek <jakub@redhat.com>
11342
11343 PR fortran/48894
11344 * fortran.c: Include limits.h.
11345 (TO_INT): Define.
11346 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
11347 *set.
11348 (omp_set_num_threads_8_, omp_set_schedule_8_,
11349 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11350 omp_get_team_size_8_): Use TO_INT macro.
11351 * testsuite/libgomp.fortran/pr48894.f90: New test.
11352
20790697
JJ
113532011-04-13 Jakub Jelinek <jakub@redhat.com>
11354
11355 PR middle-end/48591
11356 * testsuite/libgomp.c/pr48591.c: New test.
11357
bf382f5f
RO
113582011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11359
11360 PR bootstrap/48135
11361 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
11362 * configure: Regenerate.
11363
113a53c1
JJ
113642011-02-27 Jakub Jelinek <jakub@redhat.com>
11365
11366 PR fortran/47886
11367 * testsuite/libgomp.fortran/task3.f90: New test.
11368
0024f1af
TB
113692011-02-24 Tobias Burnus <burnus@net-b.de>
11370
11371 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
11372
21e1e594
JJ
113732011-02-23 Jakub Jelinek <jakub@redhat.com>
11374
11375 PR libgomp/47854
11376 * libgomp.texi (omp_get_wtime): Don't say time in the past
11377 must be Unix Epoch.
11378
67962076
JJ
113792011-02-18 Jakub Jelinek <jakub@redhat.com>
11380
11381 PR libgomp/47804
11382 * testsuite/libgomp.fortran/fortran.exp: Check for both
11383 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
11384 but $blddir != "", still append ${blddir}/${lang_library_path}
11385 to ld_library_path.
11386
3808007c
TB
113872011-02-16 Tobias Burnus <burnus@net-b.de>
11388
11389 PR libgomp/47758
11390 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
11391 of libquadmath.a before adding its libpath to ldflags.
11392
53b4d41d
JJ
113932011-02-14 Jakub Jelinek <jakub@redhat.com>
11394
11395 PR libgomp/47731
11396 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
11397 to FUTEX_WAIT futex syscall.
11398 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
11399
029c8f3e
RW
114002011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11401
11402 * configure: Regenerate.
11403
bddd6626
BK
114042011-01-20 Benjamin Kosnik <bkoz@redhat.com>
11405
11406 PR libstdc++/36104
11407 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
11408
f1d4ab26
GP
114092011-01-16 Gerald Pfeifer
11410
11411 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
11412
2b503136
JJ
114132010-12-14 Jakub Jelinek <jakub@redhat.com>
11414
11415 PR fortran/46874
11416 * libgomp.fortran/allocatable6.f90: New test.
11417
c0f9d583
RO
114182010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11419
11420 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
11421 * configure: Regenerate.
11422
7de6ba7a
DK
114232010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
11424
11425 PR target/40125
11426 PR lto/46695
11427 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
11428 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
11429 * aclocal.m4: Regenerate.
11430 * configure: Regenerate.
11431 * Makefile.in: Regenerate.
11432 * testsuite/Makefile.in: Regenerate.
11433
b7516041
JJ
114342010-12-02 Jakub Jelinek <jakub@redhat.com>
11435
edaadf74
JJ
11436 PR fortran/46753
11437 * libgomp.fortran/pr46753.f90: New test.
11438
4c698cf8
JJ
11439 PR libgomp/43706
11440 * env.c (initialize_env): Default to spin count 300000
11441 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
11442 is specified.
11443
b7516041
JJ
11444 PR libgomp/45240
11445 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
11446 at the end if sync builtins aren't supported.
11447
6b43a34c
RO
114482010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11449
11450 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
11451
950691fa
RO
114522010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11453
11454 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
11455
fb9041ea
IS
114562010-11-24 Iain Sandoe <iains@gcc.gnu.org>
11457
11458 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
11459
1ec601bf
FXC
114602010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11461 Tobias Burnus <burnus@net-b.de>
11462
11463 PR fortran/32049
3e348fcc 11464 * configure.ac:
1ec601bf
FXC
11465 * configure: Regenerate.
11466
d213e92e
MS
114672010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
11468
11469 * config/linux/futex.h: New.
11470 * config/linux/arm/mutex.h: New.
11471 * configure.tgt (arm*-*-linux*): Add config path.
11472
89d5c66f
SP
114732010-09-30 Sebastian Pop <sebastian.pop@amd.com>
11474
11475 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11476
87350d4a
TB
114772010-09-23 Tobias Burnus <burnus@net-b.de>
11478
11479 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
11480 Change Fortran datatype to LOGICAL.
11481 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
11482 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
11483
75bc9e5e
RW
114842010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11485
11486 * configure: Regenerate.
11487
acb5c916
JJ
114882010-07-26 Jakub Jelinek <jakub@redhat.com>
11489
11490 * libgomp.texi: Add function keyword to a couple of Fortran
11491 interfaces, use integer instead of int for Fortran.
11492
6a2ba183
AH
114932010-07-26 Aldy Hernandez <aldyh@redhat.com>
11494
11495 * libgomp.texi: Fix spelling and pasto problems throughout.
11496 Adjust prototypes to match code.
11497
df161b69
TB
114982010-07-24 Tobias Burnus <burnus@net-b.de>
11499
11500 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11501 silence -fwhole-file warning.
11502
16c9d3b1
RO
115032010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11504
11505 * configure.tgt (*-*-solaris2.[56]*): Removed.
11506
6d28b933
RO
115072010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11508
11509 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11510 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11511 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11512 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11513 targetting solaris2*.
11514 * configure: Regenerate.
11515 * config.h.in: Regenerate.
11516
11517 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11518 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11519 Add libgomp_version_dep.
11520 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11521 versioning.
11522 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11523 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11524 * Makefile.in: Regenerate.
11525
11526 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11527 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11528 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11529 to common block, protected by
11530 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11531
07a67d6a
GP
115322010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
11533
11534 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
11535
dbd34b89
IS
115362010-06-09 Iain Sandoe <iains@gcc.gnu.org>
11537
11538 PR bootstrap/43170
11539 * configure: Regenerate.
11540
13917ae3
RW
115412010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11542
11543 PR other/43620
11544 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11545 * configure: Regenerate.
11546 * Makefile.in: Regenerate.
11547 * testsuite/Makefile.in: Regenerate.
11548
b83a701b
JJ
115492010-04-26 Jakub Jelinek <jakub@redhat.com>
11550
11551 PR c/43893
11552 * testsuite/libgomp.c/pr43893.c: New test.
11553 * testsuite/libgomp.c++/pr43893.C: New test.
11554
78db7d92
JJ
115552010-04-21 Jakub Jelinek <jakub@redhat.com>
11556
11557 PR middle-end/43570
11558 * testsuite/libgomp.fortran/vla8.f90: New test.
11559
5221d7a9
JJ
115602010-04-20 Jakub Jelinek <jakub@redhat.com>
11561
e4ba7a60
JJ
11562 PR libgomp/43706
11563 * config/linux/affinity.c (gomp_init_affinity): Decrease
11564 gomp_available_cpus if affinity mask confines the process to fewer
11565 CPUs.
11566 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11567 non-NULL, just return gomp_available_cpus.
11568
5221d7a9
JJ
11569 PR libgomp/43569
11570 * sections.c (gomp_sections_init): Initialize ws->mode.
11571
289a9f86
UB
115722010-04-14 Uros Bizjak <ubizjak@gmail.com>
11573
11574 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11575 not unused bar variable.
11576 * configure: Regenerate.
11577
4d9e8446
RW
115782010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11579
11580 * Makefile.in: Regenerate.
11581 * aclocal.m4: Regenerate.
11582 * testsuite/Makefile.in: Regenerate.
11583
80f046cc
JJ
115842010-03-22 Jakub Jelinek <jakub@redhat.com>
11585
11586 PR libgomp/42942
11587 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11588 (initialize_env): Adjust callers.
11589 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11590 when the argument is 0.
11591
11592 * testsuite/libgomp.c/pr42942.c: New test.
11593
b58543c3
SP
115942010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
11595
11596 PR middle-end/42644
11597 PR middle-end/42130
11598 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11599 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11600
41d1138f
RO
116012010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11602
11603 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11604 * testsuite/libgomp.c++/task-6.C: Likewise.
11605
6684eb28
SE
116062010-01-28 Steve Ellcey <sje@cup.hp.com>
11607
11608 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11609
2122aa97
PB
116102010-01-26 Paolo Bonzini <bonzini@gnu.org>
11611
11612 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11613 * configure: Regenerate.
11614
057dd91d
JJ
116152010-01-26 Jakub Jelinek <jakub@redhat.com>
11616
11617 PR fortran/42866
11618 * testsuite/libgomp.fortran/allocatable5.f90: New test.
11619
d0709b6a
PB
116202010-01-20 Paolo Bonzini <bonzini@gnu.org>
11621
11622 * configure.ac: Test for executability of GFORTRAN.
11623 * configure: Regenerate.
11624
b9497ab5
RO
116252010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11626
11627 * configure: Regenerate.
11628
45de5648
L
116292010-01-04 H.J. Lu <hongjiu.lu@intel.com>
11630
11631 PR libgomp/42602
11632 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11633
e74003a1
RG
116342010-01-03 Richard Guenther <rguenther@suse.de>
11635
11636 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11637
1b3abda8
SP
116382009-12-23 Sebastian Pop <sebpop@gmail.com>
11639
11640 * testsuite/libgomp.graphite/pr4118.c: New.
11641
e19977d3
IS
116422009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11643
11644 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11645 for darwin, protect the test with require-effective-target tls_runtime.
11646 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11647
1d32a772
IS
116482009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11649
11650 PR target/41605
11651 * testsuite/lib/libgomp.exp: Provide -B options to allow for
11652 link spec %s substitutions for static libraries.
11653
deb109b2
JH
116542009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
11655
11656 PR testsuite/42135
11657 * libgomp.graphite/force-parallel-2.c: Reduce array size.
11658
43e02a8a
RW
116592009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11660
11661 * Makefile.in: Regenerate.
11662 * configure: Regenerate.
11663 * testsuite/Makefile.in: Regenerate.
11664
17f35e23
DK
116652009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
11666
11667 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11668 settings for LC_ALL and LANG.
11669
281e33e1
JJ
116702009-11-25 Jakub Jelinek <jakub@redhat.com>
11671
11672 PR fortran/42162
11673 * testsuite/libgomp.fortran/pr42162.f90: New test.
11674
2b32c27d
JJ
116752009-11-13 Jakub Jelinek <jakub@redhat.com>
11676
11677 PR middle-end/42029
281e33e1 11678 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 11679
89c74f4a
JJ
116802009-10-26 Jakub Jelinek <jakub@redhat.com>
11681
11682 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11683 *s. Accept ld version without text in ()s.
11684 * configure: Regenerated.
11685
7e06c3d6
EB
116862009-10-22 Razya Ladelsky <razya@il.ibm.com>
11687
11688 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11689
0046b1a7
RW
116902009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11691
11692 PR libgomp/41418
11693 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11694 or a hyphen (happens with fortran language disabled).
11695 * configure: Regenerate.
11696
c82852f7
RW
116972009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11698
11699 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11700 use sed script portable to Solaris /bin/sed for extracting ld
11701 version.
11702 * configure: Regenerate.
11703
98f3eb1f
AM
117042009-09-17 Alexander Monakov <amonakov@ispras.ru>
11705
11706 * testsuite/libgomp.graphite/bounds.c: New test.
11707
878f62e5
RW
117082009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11709
11710 * Makefile.am (libgomp_la_LINK): New.
11711 * Makefile.in: Regenerate.
11712
df58e648
RW
117132009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11714
11715 * configure.ac (AC_PREREQ): Bump to 2.64.
11716
5213506e
RW
117172009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11718
70fa0efa
RW
11719 * Makefile.am (install-html, install-pdf): Remove.
11720 * Makefile.in: Regenerate.
11721
5213506e
RW
11722 * Makefile.in: Regenerate.
11723 * aclocal.m4: Regenerate.
11724 * config.h.in: Regenerate.
11725 * configure: Regenerate.
11726 * testsuite/Makefile.in: Regenerate.
11727
84fec8a5
RW
117282009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11729
11730 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11731 * Makefile.in: Regenerate.
11732
197c68cc
DK
117332009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
11734
11735 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11736 * Makefile.in: Regenerate.
11737
693d54f2
TB
117382009-08-19 Tobias Burnus <burnus@net-b.de>
11739
11740 PR fortran/41102
11741 omp_lib.h.in: Fix -std=f95 errors.
11742
8cac884c
DE
117432009-08-14 David Edelsohn <edelsohn@gnu.org>
11744
11745 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11746 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11747 * testsuite/libgomp.graphite/graphite.exp: New.
11748
78729ee2
AT
117492009-08-05 Andreas Tobler <a.tobler@schweiz.org>
11750
11751 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11752 only build.
11753
b13b7f39
DD
117542009-08-04 David Daney <ddaney@caviumnetworks.com>
11755
11756 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11757 needed memory barrier semantics.
11758 * config/linux/mips/mutex.h: New file.
11759
1b3b24c2
RW
117602009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11761
11762 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11763
396b7fa4
JM
117642009-07-16 Joseph Myers <joseph@codesourcery.com>
11765
11766 * configure: Regenerate.
11767
33cde516
RS
117682009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
11769
11770 PR testsuite/40699
11771 PR testsuite/40707
11772 PR testsuite/40709
11773 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11774 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11775 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11776
bc21bfa5
RS
117772009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
11778
11779 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11780 options when choosing a multilib.
11781
b30bfd40
RS
117822009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
11783
11784 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11785 ld_library_path. Use add_path. Add just find_libgcc_s to
11786 ld_library_path, not every libgcc multilib directory.
11787 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11788 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11789 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11790 Use add_path.
11791 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11792
479c15c2
NF
117932009-06-09 Nathan Froyd <froydnj@codesourcery.com>
11794
11795 * Makefile.am (LTLDFLAGS): Define.
11796 (LINK): Define.
11797 * Makefile.in: Regenerate.
11798
667e6f89
JB
117992009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
11800
11801 PR fortran/39718
11802 * testsuite/libgomp.fortran/fortran.exp: Don't link with
11803 libgfortranbegin, check existence of libgfortran.a instead of
11804 libgfortranbegin.a.
11805
6dea8e99
JJ
118062009-05-20 Jakub Jelinek <jakub@redhat.com>
11807
11808 PR libgomp/40174
11809 * team.c (gomp_thread_start): Destroy thr->release semaphore.
11810 (gomp_free_pool_helper): Likewise.
11811
34d01e1d
VL
118122009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
11813 Jakub Jelinek <jakub@redhat.com>
11814
11815 PR fortran/35423
11816 * testsuite/libgomp.fortran/workshare2.f90: New test.
11817
748086b7
JJ
118182009-04-09 Nick Clifton <nickc@redhat.com>
11819
11820 * iter.c: Change copyright header to refer to version 3 of the
11821 GNU General Public License with version 3.1 of the GCC Runtime
11822 Library Exception and to point readers at the COPYING3 and
11823 COPYING3.RUNTIME files and the FSF's license web page.
11824 * alloc.c: Likewise.
11825 * barrier.c: Likewise.
11826 * config/bsd/proc.c: Likewise.
11827 * config/linux/affinity.c: Likewise.
11828 * config/linux/alpha/futex.h: Likewise.
11829 * config/linux/bar.c: Likewise.
11830 * config/linux/bar.h: Likewise.
11831 * config/linux/ia64/futex.h: Likewise.
11832 * config/linux/ia64/mutex.h: Likewise.
11833 * config/linux/lock.c: Likewise.
11834 * config/linux/mips/futex.h: Likewise.
11835 * config/linux/mutex.c: Likewise.
11836 * config/linux/mutex.h: Likewise.
11837 * config/linux/powerpc/futex.h: Likewise.
11838 * config/linux/proc.c: Likewise.
11839 * config/linux/ptrlock.c: Likewise.
11840 * config/linux/ptrlock.h: Likewise.
11841 * config/linux/s390/futex.h: Likewise.
11842 * config/linux/sem.c: Likewise.
11843 * config/linux/sem.h: Likewise.
11844 * config/linux/sparc/futex.h: Likewise.
11845 * config/linux/wait.h: Likewise.
11846 * config/linux/x86/futex.h: Likewise.
11847 * config/mingw32/proc.c: Likewise.
11848 * config/mingw32/time.c: Likewise.
11849 * config/posix/affinity.c: Likewise.
11850 * config/posix/bar.c: Likewise.
11851 * config/posix/bar.h: Likewise.
11852 * config/posix/lock.c: Likewise.
11853 * config/posix/mutex.h: Likewise.
11854 * config/posix/proc.c: Likewise.
11855 * config/posix/ptrlock.h: Likewise.
11856 * config/posix/sem.c: Likewise.
11857 * config/posix/sem.h: Likewise.
11858 * config/posix/time.c: Likewise.
11859 * config/posix95/lock.c: Likewise.
11860 * critical.c: Likewise.
11861 * env.c: Likewise.
11862 * error.c: Likewise.
11863 * fortran.c: Likewise.
11864 * iter_ull.c: Likewise.
11865 * libgomp.h: Likewise.
11866 * libgomp_f.h.in: Likewise.
11867 * libgomp_g.h: Likewise.
11868 * loop.c: Likewise.
11869 * loop_ull.c: Likewise.
11870 * omp.h.in: Likewise.
11871 * omp_lib.f90.in: Likewise.
11872 * omp_lib.h.in: Likewise.
11873 * ordered.c: Likewise.
11874 * parallel.c: Likewise.
11875 * sections.c: Likewise.
11876 * single.c: Likewise.
11877 * task.c: Likewise.
11878 * team.c: Likewise.
11879 * work.c: Likewise.
11880
118812009-04-09 Jakub Jelinek <jakub@redhat.com>
11882
11883 * testsuite/config/default.exp: Change copyright header to refer to
11884 version 3 of the GNU General Public License and to point readers
11885 at the COPYING3 file and the FSF's license web page.
11886
4f0ae266
JJ
118872009-04-08 Jakub Jelinek <jakub@redhat.com>
11888
11889 PR middle-end/39573
11890 * libgomp.c++/pr39573.C: New test.
11891
03742a9b
JJ
118922009-04-01 Jakub Jelinek <jakub@redhat.com>
11893
11894 PR other/39591
11895 * testsuite/libgomp.c/pr39591-1.c: New test.
11896 * testsuite/libgomp.c/pr39591-2.c: New test.
11897 * testsuite/libgomp.c/pr39591-3.c: New test.
11898
e50ea10b
UB
118992009-03-25 Uros Bizjak <ubizjak@gmail.com>
11900
11901 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
11902 * testsuite/libgomp.c/atomic-6.c: Ditto.
11903
c5cdb03f
JJ
119042009-03-23 Jakub Jelinek <jakub@redhat.com>
11905
11906 PR c/39495
11907 * testsuite/libgomp.c/loop-12.c: New test.
11908 * testsuite/libgomp.c/loop-11.c: New test.
11909 * testsuite/libgomp.c++/loop-11.C: New test.
11910 * testsuite/libgomp.c++/loop-12.C: New test.
11911 * testsuite/libgomp.c++/for-8.C: New test.
11912
7a9d3fe8
RW
119132009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11914
11915 * configure: Regenerate.
11916
3ad6b266
JJ
119172009-02-11 Jakub Jelinek <jakub@redhat.com>
11918
11919 PR middle-end/39154
11920 * testsuite/libgomp.c/pr39154.c: New test.
11921
b39dea08
ILT
119222009-01-30 Ian Lance Taylor <iant@google.com>
11923
11924 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
11925 libgomp_ld_is_gold. Get gold version number.
11926 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
11927 * configure: Rebuild.
11928
72c66596
IS
119292009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
11930
e50ea10b 11931 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
11932 use libgfortran.a%s in their specs.
11933
876080ff
JJ
119342009-01-07 Jakub Jelinek <jakub@redhat.com>
11935
11936 PR libgomp/38086
11937 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
11938 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
11939 HAVE_AS_SYMVER_DIRECTIVE is not defined.
11940 * configure: Regenerated.
11941 * config.h.in: Likewise.
11942
e4ebaef3
JJ
119432008-12-28 Jakub Jelinek <jakub@redhat.com>
11944
11945 PR c++/38650
11946 * testsuite/libgomp.c/pr38650.c: New test.
11947 * testsuite/libgomp.c++/pr38650.C: New test.
11948
382017a6
JJ
119492008-12-27 Jakub Jelinek <jakub@redhat.com>
11950
11951 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
11952
79644b27
UB
119532008-12-26 Uros Bizjak <ubizjak@gmail.com>
11954
11955 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
11956
baafc534
RW
119572008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11958
11959 * configure: Regenerate.
11960
d9c194cb
JJ
119612008-12-08 Jakub Jelinek <jakub@redhat.com>
11962
11963 PR middle-end/36802
11964 * testsuite/libgomp.c/pr36802-1.c: New test.
11965 * testsuite/libgomp.c/pr36802-2.c: New test.
11966 * testsuite/libgomp.c/pr36802-3.c: New test.
11967
86a182bf
JJ
119682008-12-01 Janis Johnson <janis187@us.ibm.com>
11969
11970 PR libgomp/38270
11971 * config/linux/powerpc/mutex.h: New.
11972
956adfaf
JJ
119732008-12-01 Jakub Jelinek <jakub@redhat.com>
11974
a2d4cdc9
JJ
11975 PR c++/38257
11976 * testsuite/libgomp.c++/for-7.C: New test.
11977
956adfaf
JJ
11978 PR c++/38348
11979 * testsuite/libgomp.c++/for-6.C: New test.
11980
d4038ca2
JJ
119812008-11-26 Janis Johnson <janis187@us.ibm.com>
11982
11983 PR testsuite/28870
11984 * testsuite/lib/libgomp.exp: Include new timeout library files.
11985 (libgomp_target_compile): Set timeout value from new proc.
11986
8b159eea
SE
119872008-11-13 Steve Ellcey <sje@cup.hp.com>
11988
11989 PR libgomp/37938
11990 * config/linux/ia64/mutex.h: New.
11991
5c6ed53a
TB
119922008-11-04 Tobias Burnus <burnus@net-b.de>
11993
11994 PR libgomp/37935
11995 * libgomp.texi (Runtime library routines, environment variables):
11996 Update for OpenMP version 3.0.
11997
6b4a97ed
PG
119982008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
11999 Steve Ellcey <sje@cup.hp.com>
12000
12001 * configure: Regenerate for new libtool.
12002 * Makefile.in: Ditto.
12003 * testsuite/Makefile.in: Ditto.
12004
e2b34106
JJ
120052008-09-19 Jakub Jelinek <jakub@redhat.com>
12006 Andreas Tobler <a.tobler@schweiz.org>
12007
12008 * config/bsd/proc.c: New file.
8c3b3600 12009 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
12010 * configure.ac: Check for header <sys/sysctl.h>
12011 * configure: Regenerate.
12012 * config.h.in: Likewise.
12013
3606b8bf
JJ
120142008-09-05 Janis Johnson <janis187@us.ibm.com>
12015
12016 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
12017
6528b88d
AL
120182008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
12019
12020 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
12021 * Makefile.in: Regenerated.
12022 * testsuite/Makefile.in: Regenerated.
12023
d9b14b12 120242008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 12025
a16b68bb 12026 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
12027 depend on blddir if blddir exists.
12028 (libgomp_target_compile): Likewise.
12029 * testsuite/libgomp.c++/c++.exp: Likewise.
12030 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12031
70b1e376
RW
120322008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12033
12034 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
12035 Do not list GPL as Invariant Section.
12036
318e8c3f
IG
120372008-07-28 Ilie Garbacea <ilie@mips.com>
12038 Chao-ying Fu <fu@mips.com>
12039
12040 * configure.tgt: Enable futex for MIPS.
12041 * config/linux/mips/futex.h: New file.
12042
4db72361
JJ
120432008-07-16 Jakub Jelinek <jakub@redhat.com>
12044
12045 * team.c (gomp_team_end): Free team immediately if it has
12046 just one thread.
12047
87bd23b8
DE
120482008-07-08 David Edelsohn <edelsohn@gnu.org>
12049
12050 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
12051 * testsuite/libgomp.fortran/fortran.exp: Same.
12052 * testsuite/libgomp.c/c.exp: Same.
12053 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
12054 directory to library path first.
12055
323ff903
KW
120562008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
12057
12058 * env.c (parse_stacksize): Add cast to avoid warning.
12059 (parse_spincount): Likewise.
12060
b357f682
JJ
120612008-06-27 Jakub Jelinek <jakub@redhat.com>
12062
ca2b1311
JJ
12063 * testsuite/libgomp.c/loop-10.c: New test.
12064 * libgomp.c/loop-3.c (main): Add lastprivate clause.
12065 * libgomp.c++/loop-6.C (main): Likewise.
12066
b357f682
JJ
12067 PR debug/36617
12068 * testsuite/libgomp.c/debug-1.c: New test.
12069
09a46078
JJ
120702008-06-19 Jakub Jelinek <jakub@redhat.com>
12071
12072 * testsuite/libgomp.c/nqueens-1.c: New test.
12073
2368a460
JJ
12074 PR c++/36523
12075 * testsuite/libgomp.c++/task-7.C: New function.
12076
18c04407
RW
120772008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12078
12079 * configure: Regenerate.
12080
9c4e59e0
JDA
120812008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12082
12083 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
12084 mutex when HAVE_SYNC_BUILTINS isn't defined.
12085
6ccde948
RW
120862008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12087
12088 * libgomp.texi (omp_test_lock): Fix typo.
12089
b896f9fd
TB
120902008-06-12 Tobias Burnus <burnus@net-b.de>
12091
12092 * omp_lib.f90.in: Add "implicit none".
12093
c34938a8
JJ
120942008-06-12 Jakub Jelinek <jakub@redhat.com>
12095
12096 PR middle-end/36506
12097 * testsuite/libgomp.c/reduction-5.c: New test.
12098
976e44e3
JJ
120992008-06-11 Jakub Jelinek <jakub@redhat.com>
12100
5f836cbb
JJ
12101 * libgomp.h (struct gomp_task): Add in_tied_task field.
12102 * task.c (gomp_init_task): Initialize it.
12103 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
12104 unconditionally. Don't call gomp_team_barrier_wake if
12105 current task is implicit or if(0) from implicit and number of
12106 running tasks is equal to nthreads - 1.
12107
01501fc8
JJ
12108 PR libgomp/36471
12109 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
12110 omp_get_team_size_8): Fix pastos.
12111
976e44e3
JJ
12112 PR libgomp/36469
12113 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
12114 * configure: Regenerated.
12115 * config.h.in: Regenerated.
12116 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
12117 defined.
12118
e919209b
AT
121192008-06-06 Andreas Tobler <a.tobler@schweiz.org>
12120
12121 PR bootstrap/36452
12122 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
12123 (GOMP_loop_ull_dynamic_start): Likewise.
12124 (GOMP_loop_ull_guided_start): Likewise.
12125 (GOMP_loop_ull_ordered_static_start): Likewise.
12126 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
12127 (GOMP_loop_ull_ordered_guided_start): Likewise.
12128
a68ab351
JJ
121292008-06-06 Jakub Jelinek <jakub@redhat.com>
12130 Richard Henderson <rth@redhat.com>
12131 Ulrich Drepper <drepper@redhat.com>
12132 Jakob Blomer <jakob.blomer@ira.uka.de>
12133
12134 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
12135 Substitute also OMP_*LOCK_25*.
12136 * configure: Regenerated.
12137 * config.h.in: Regenerated.
12138 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
12139 ptrlock.c and task.c.
12140 * Makefile.in: Regenerated.
12141 * testsuite/Makefile.in: Regenerated.
12142 * task.c: New file.
12143 * loop_ull.c: New file.
12144 * iter_ull.c: New file.
12145 * libgomp.h: Include ptrlock.h.
12146 (enum gomp_task_kind): New type.
12147 (struct gomp_team): Add task_lock, task_queue, task_count,
12148 task_running_count, single_count fields. Add
12149 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
12150 Remove work_share_lock, generation_mask,
12151 oldest_live_gen, num_live_gen and init_work_shares fields, add
12152 work work_share_list_alloc, work_share_list_free and work_share_chunk
12153 fields. Change work_shares from pointer to pointers into an array.
12154 Change ordered_release field into gomp_sem_t ** from flexible array
12155 member. Add implicit_task and initial_work_shares fields.
12156 Move close to the end of the struct.
12157 (struct gomp_team_state): Add single_count, last_work_share,
12158 active_level and level fields, remove work_share_generation.
12159 (gomp_barrier_handle_tasks): New prototype.
12160 (gomp_finish_task): New inline function.
12161 (struct gomp_work_share): Move chunk_size, end, incr into
12162 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
12163 next_ll fields. Reshuffle fields. Add next_alloc,
12164 next_ws, next_free and inline_ordered_team_ids fields, change
12165 ordered_team_ids into pointer from flexible array member.
12166 Add mode field. Put lock and next into a different cache line
12167 from most of the write-once fields.
12168 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
12169 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
12170 gomp_iter_ull_guided_next): New prototypes.
12171 (gomp_new_icv): New prototype.
12172 (struct gomp_thread): Add thread_pool and task fields.
12173 (struct gomp_thread_pool): New type.
12174 (gomp_new_team): New prototype.
12175 (gomp_team_start): Change type of last argument.
12176 (gomp_new_work_share): Removed.
12177 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
12178 (gomp_work_share_init_done): New static inline.
12179 (gomp_throttled_spin_count_var, gomp_available_cpus,
12180 gomp_managed_threads): New extern decls.
12181 (gomp_init_task): New prototype.
12182 (gomp_spin_count_var): New extern var decl.
12183 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
12184 or no alias support, or if not PIC.
12185 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
12186 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
12187 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
12188 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
12189 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
12190 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
12191 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
12192 gomp_test_nest_lock_25): New prototypes.
12193 (omp_lock_symver, strong_alias): Define.
12194 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
12195 decls.
12196 (gomp_end_task): New.
12197 (struct gomp_task_icv, gomp_global_icv): New.
12198 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
12199 (struct gomp_task): New.
12200 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12201 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12202 (gomp_icv): New.
12203 (gomp_schedule_type): Reorder enum to match
12204 omp_sched_t.
12205 * team.c (struct gomp_thread_start_data): Add thread_pool and task
12206 fields.
12207 (gomp_thread_start): Add gomp_team_barrier_wait call.
12208 For non-nested case remove clearing of docked thread thr fields.
12209 Use pool fields instead of global gomp_* variables. Use
12210 gomp_barrier_wait_last when needed. Initialize ts.active_level.
12211 Create tasks for each member thread.
12212 (free_team): Only destroy team barrier, task_lock here and free it.
12213 (gomp_free_thread): Free last_team if non-NULL.
12214 (gomp_team_end): Call gomp_team_barrier_wait instead of
12215 gomp_barrier_wait. For nested case call one extra
12216 gomp_barrier_wait. Move here some destruction from free_team.
12217 Call free_team on pool->last_team if any, rather than freeing
12218 current team. Destroy work_share_list_free_lock ifndef
12219 HAVE_SYNC_BUILTINS.
12220 (gomp_new_icv): New function.
12221 (gomp_threads, gomp_threads_size, gomp_threads_used,
12222 gomp_threads_dock): Removed.
12223 (gomp_thread_destructor): New variable.
12224 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
12225 functions.
12226 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 12227 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
12228 Initialize thread_pool field for new threads. Clear single_count.
12229 Change last argument from ws to team, don't create
12230 new team, set ts.work_share to &team->work_shares[0] and clear
12231 ts.last_work_share. Don't clear ts.work_share_generation.
12232 If number of threads changed, adjust atomically gomp_managed_threads.
12233 Use gomp_init_task instead of gomp_new_task,
12234 set thr->task to the corresponding implicit_task array entry.
12235 Create tasks for each member thread. Initialize ts.level.
12236 (initialize_team): Call pthread_key_create on
12237 gomp_thread_destructor.
12238 (team_destructor): New function.
12239 (new_team): Removed.
12240 (gomp_new_team): New function.
12241 (free_team): Free gomp_work_share blocks chained through next_alloc,
12242 instead of freeing work_shares and destroying work_share_lock.
12243 (gomp_team_end): Call gomp_fini_work_share. If number of threads
12244 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
12245 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
12246 of gomp_barrier_wait.
12247 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
12248 instead of gomp_barrier_wait. Call gomp_work_share_init_done
12249 if gomp_work_share_start returned true. Don't unlock ws->lock.
12250 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
12251 of gomp_barrier_wait.
12252 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
12253 gomp_work_share_init_done if gomp_work_share_start returned true.
12254 Don't unlock ws->lock.
12255 * work.c: Include stddef.h.
12256 (free_work_share): Use work_share_list_free_lock instead
12257 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
12258 Call gomp_fini_work_share and then either free ws if orphaned, or
12259 put it into work_share_list_free list of the current team.
12260 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
12261 functions.
12262 (gomp_work_share_start, gomp_work_share_end,
12263 gomp_work_share_end_nowait): Rewritten.
12264 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
12265 (openmp_version): Set to 200805.
12266 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12267 omp_sched_guided, omp_sched_auto): New parameters.
12268 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12269 omp_set_max_active_levels, omp_get_max_active_levels,
12270 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12271 omp_get_active_level): New interfaces.
12272 * omp_lib.h.in (openmp_version): Set to 200805.
12273 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12274 omp_sched_guided, omp_sched_auto): New parameters.
12275 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12276 omp_set_max_active_levels, omp_get_max_active_levels,
12277 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12278 omp_get_active_level): New externals.
12279 * loop.c: Include limits.h.
12280 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
12281 GFS_AUTO.
12282 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
12283 Likewise. Use gomp_icv.
12284 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
12285 ts.static_trip here.
12286 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
12287 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
12288 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
12289 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
12290 don't unlock ws->lock, otherwise lock it.
12291 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
12292 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
12293 (gomp_parallel_loop_start): Call gomp_new_team instead of
12294 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
12295 Adjust gomp_team_start caller. Pass 0 as second argument to
12296 gomp_resolve_num_threads.
12297 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
12298 If adding ws->chunk_size nthreads + 1 times after end won't
12299 overflow, set ws->mode to 1.
12300 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
12301 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
12302 GOMP_loop_ull_ordered_static_start,
12303 GOMP_loop_ull_ordered_dynamic_start,
12304 GOMP_loop_ull_ordered_guided_start,
12305 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
12306 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
12307 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
12308 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
12309 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
12310 prototypes.
12311 * libgomp.map: Export lock routines also @@OMP_2.0.
12312 (GOMP_loop_ordered_dynamic_first,
12313 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
12314 GOMP_loop_ordered_static_first): Remove.
12315 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
12316 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
12317 GOMP_loop_ull_ordered_dynamic_next,
12318 GOMP_loop_ull_ordered_dynamic_start,
12319 GOMP_loop_ull_ordered_guided_next,
12320 GOMP_loop_ull_ordered_guided_start,
12321 GOMP_loop_ull_ordered_runtime_next,
12322 GOMP_loop_ull_ordered_runtime_start,
12323 GOMP_loop_ull_ordered_static_next,
12324 GOMP_loop_ull_ordered_static_start,
12325 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
12326 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
12327 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
12328 (omp_set_schedule, omp_get_schedule,
12329 omp_get_thread_limit, omp_set_max_active_levels,
12330 omp_get_max_active_levels, omp_get_level,
12331 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
12332 omp_set_schedule_, omp_set_schedule_8_,
12333 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12334 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12335 omp_get_max_active_levels_, omp_get_level_,
12336 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12337 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12338 New exports @@OMP_3.0.
12339 * omp.h.in (omp_sched_t): New type.
12340 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12341 omp_set_max_active_levels, omp_get_max_active_levels,
12342 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12343 omp_get_active_level): New prototypes.
12344 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
12345 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
12346 gomp_thread_limit_var, gomp_remaining_threads_count,
12347 gomp_remaining_threads_lock): New variables.
12348 (parse_spincount): New function.
12349 (initialize_env): Call gomp_init_num_threads unconditionally.
12350 Initialize gomp_available_cpus. Call parse_spincount,
12351 initialize gomp_{,throttled_}spin_count_var
12352 depending on presence and value of OMP_WAIT_POLICY and
12353 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
12354 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
12355 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
12356 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
12357 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
12358 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12359 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12360 (gomp_global_icv): New.
12361 (parse_schedule): Use it. Parse "auto".
12362 (omp_set_num_threads): Use gomp_icv.
12363 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
12364 Likewise.
12365 (omp_get_max_threads): Move from parallel.c.
12366 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12367 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
12368 add ialias.
12369 (parse_stacksize, parse_wait_policy): New functions.
12370 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
12371 both wrappers for compatibility and new locks.
12372 (omp_set_schedule, omp_get_schedule,
12373 omp_get_thread_limit, omp_set_max_active_levels,
12374 omp_get_max_active_levels, omp_get_level,
12375 omp_get_ancestor_thread_num, omp_get_team_size,
12376 omp_get_active_level): New ialias_redirect.
12377 (omp_set_schedule_, omp_set_schedule_8_,
12378 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12379 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12380 omp_get_max_active_levels_, omp_get_level_,
12381 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12382 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12383 New functions.
12384 * parallel.c: Include limits.h.
12385 (gomp_resolve_num_threads): Add count argument. Rewritten.
12386 (GOMP_parallel_start): Call gomp_new_team and pass that as last
12387 argument to gomp_team_start. Pass 0 as second argument to
12388 gomp_resolve_num_threads.
12389 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
12390 if gomp_thread_limit_var != ULONG_MAX.
12391 (omp_in_parallel): Implement using ts.active_level.
12392 (omp_get_max_threads): Move to env.c.
12393 (omp_get_level, omp_get_ancestor_thread_num,
12394 omp_get_team_size, omp_get_active_level): New functions,
12395 add ialias.
12396 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
12397 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
12398 gomp_iter_dynamic_next instead of the _locked variant and don't take
12399 lock around it, otherwise acquire it before calling
12400 gomp_iter_dynamic_next_locked.
12401 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
12402 gomp_iter_dynamic_next instead of the _locked variant and don't take
12403 lock around it.
12404 (GOMP_parallel_sections_start): Call gomp_new_team instead of
12405 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
12406 Adjust gomp_team_start caller. Pass count as second argument to
12407 gomp_resolve_num_threads, don't adjust num_threads after the call.
12408 Use gomp_icv.
12409 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
12410 ws->chunk_size by incr.
12411 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
12412 code.
12413 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
12414 types.
12415 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
12416 (omp_check_defines): Check even the compat defines.
12417 * config/linux/ptrlock.c: New file.
12418 * config/linux/ptrlock.h: New file.
12419 * config/linux/wait.h: New file.
12420 * config/posix/ptrlock.c: New file.
12421 * config/posix/ptrlock.h: New file.
12422 * config/linux/bar.h (gomp_team_barrier_wait,
12423 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12424 (gomp_team_barrier_set_task_pending,
12425 gomp_team_barrier_clear_task_pending,
12426 gomp_team_barrier_set_waiting_for_tasks,
12427 gomp_team_barrier_waiting_for_tasks,
12428 gomp_team_barrier_done): New inlines.
12429 (gomp_barrier_t): Rewritten.
12430 (gomp_barrier_state_t): New typedef.
12431 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
12432 gomp_barrier_wait_start): Rewritten.
12433 (gomp_barrier_wait_end): Change second argument to
12434 gomp_barrier_state_t.
12435 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12436 inlines.
12437 * config/linux/bar.c: Include wait.h instead of libgomp.h and
12438 futex.h.
12439 (gomp_barrier_wait_end): Rewritten.
12440 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12441 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
12442 * config/posix/bar.h (gomp_barrier_t): Add generation field.
12443 (gomp_barrier_state_t): New typedef.
12444 (gomp_team_barrier_wait,
12445 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12446 (gomp_barrier_wait_start): Or all but low 2 bits from generation
12447 into the return value. Return gomp_barrier_state_t.
12448 (gomp_team_barrier_set_task_pending,
12449 gomp_team_barrier_clear_task_pending,
12450 gomp_team_barrier_set_waiting_for_tasks,
12451 gomp_team_barrier_waiting_for_tasks,
12452 gomp_team_barrier_done): New inlines.
12453 (gomp_barrier_wait_end): Change second argument to
12454 gomp_barrier_state_t.
12455 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12456 inlines.
12457 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
12458 (gomp_barrier_wait_end): Change second argument to
3e348fcc 12459 gomp_barrier_state_t.
a68ab351
JJ
12460 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12461 gomp_team_barrier_wake): New functions.
12462 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
12463 futex.h.
12464 (gomp_futex_wake, gomp_futex_wait): New variables.
12465 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
12466 * config/linux/lock.c: Rewrite to make locks task owned,
12467 for backwards compatibility provide the old entrypoints
12468 if symbol versioning. Include wait.h instead of libgomp.h and
12469 futex.h.
12470 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
12471 * config/posix95/lock.c: Rewrite to make locks task owned,
12472 for backwards compatibility provide the old entrypoints
12473 if symbol versioning.
12474 * config/posix/lock.c: Rewrite to make locks task owned,
12475 for backwards compatibility provide the old entrypoints
12476 if symbol versioning.
12477 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
12478 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
12479 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
12480 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12481 (sys_futex0): Return error code.
12482 (futex_wake, futex_wait): If ENOSYS was returned, clear
12483 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12484 (cpu_relax, atomic_write_barrier): New static inlines.
12485 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12486 (futex_wake, futex_wait): If ENOSYS was returned, clear
12487 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12488 (cpu_relax, atomic_write_barrier): New static inlines.
12489 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12490 (sys_futex0): Return error code.
12491 (futex_wake, futex_wait): If ENOSYS was returned, clear
12492 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12493 (cpu_relax, atomic_write_barrier): New static inlines.
12494 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12495 (sys_futex0): Return error code.
12496 (futex_wake, futex_wait): If ENOSYS was returned, clear
12497 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12498 (cpu_relax, atomic_write_barrier): New static inlines.
12499 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12500 (sys_futex0): Return error code.
12501 (futex_wake, futex_wait): If ENOSYS was returned, clear
12502 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12503 (cpu_relax, atomic_write_barrier): New static inlines.
12504 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12505 (sys_futex0): Return error code.
12506 (futex_wake, futex_wait): If ENOSYS was returned, clear
12507 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12508 (cpu_relax, atomic_write_barrier): New static inlines.
12509 * config/linux/sem.c: Include wait.h instead of libgomp.h and
12510 futex.h.
12511 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12512 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12513 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12514 types.
12515 (omp_nest_lock_t): Change owner into void *, add lock field.
12516 * config/posix95/omp-lock.h: Include semaphore.h.
12517 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12518 (omp_lock_t): Use sem_t instead of mutex if semaphores
12519 aren't broken.
12520 (omp_nest_lock_t): Likewise. Change owner to void *.
12521 * config/posix/omp-lock.h: Include semaphore.h.
12522 (omp_lock_25_t, omp_nest_lock_25_t): New types.
12523 (omp_lock_t): Use sem_t instead of mutex if semaphores
12524 aren't broken.
12525 (omp_nest_lock_t): Likewise. Add owner field.
12526
125272008-06-06 Jakub Jelinek <jakub@redhat.com>
12528
12529 * testsuite/libgomp.c/collapse-1.c: New test.
12530 * testsuite/libgomp.c/collapse-2.c: New test.
12531 * testsuite/libgomp.c/collapse-3.c: New test.
12532 * testsuite/libgomp.c/icv-1.c: New test.
12533 * testsuite/libgomp.c/icv-2.c: New test.
12534 * testsuite/libgomp.c/lib-2.c: New test.
12535 * testsuite/libgomp.c/lock-1.c: New test.
12536 * testsuite/libgomp.c/lock-2.c: New test.
12537 * testsuite/libgomp.c/lock-3.c: New test.
12538 * testsuite/libgomp.c/loop-4.c: New test.
12539 * testsuite/libgomp.c/loop-5.c: New test.
12540 * testsuite/libgomp.c/loop-6.c: New test.
12541 * testsuite/libgomp.c/loop-7.c: New test.
12542 * testsuite/libgomp.c/loop-8.c: New test.
12543 * testsuite/libgomp.c/loop-9.c: New test.
12544 * testsuite/libgomp.c/nested-3.c: New test.
12545 * testsuite/libgomp.c/nestedfn-6.c: New test.
12546 * testsuite/libgomp.c/sort-1.c: New test.
12547 * testsuite/libgomp.c/task-1.c: New test.
12548 * testsuite/libgomp.c/task-2.c: New test.
12549 * testsuite/libgomp.c/task-3.c: New test.
12550 * testsuite/libgomp.c/task-4.c: New test.
12551 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12552 to C++ testsuite default compiler options.
12553 * testsuite/libgomp.c++/collapse-1.C: New test.
12554 * testsuite/libgomp.c++/collapse-2.C: New test.
12555 * testsuite/libgomp.c++/ctor-10.C: New test.
12556 * testsuite/libgomp.c++/for-1.C: New test.
12557 * testsuite/libgomp.c++/for-2.C: New test.
12558 * testsuite/libgomp.c++/for-3.C: New test.
12559 * testsuite/libgomp.c++/for-4.C: New test.
12560 * testsuite/libgomp.c++/for-5.C: New test.
12561 * testsuite/libgomp.c++/loop-8.C: New test.
12562 * testsuite/libgomp.c++/loop-9.C: New test.
12563 * testsuite/libgomp.c++/loop-10.C: New test.
12564 * testsuite/libgomp.c++/task-1.C: New test.
12565 * testsuite/libgomp.c++/task-2.C: New test.
12566 * testsuite/libgomp.c++/task-3.C: New test.
12567 * testsuite/libgomp.c++/task-4.C: New test.
12568 * testsuite/libgomp.c++/task-5.C: New test.
12569 * testsuite/libgomp.c++/task-6.C: New test.
12570 * testsuite/libgomp.fortran/allocatable1.f90: New test.
12571 * testsuite/libgomp.fortran/allocatable2.f90: New test.
12572 * testsuite/libgomp.fortran/allocatable3.f90: New test.
12573 * testsuite/libgomp.fortran/allocatable4.f90: New test.
12574 * testsuite/libgomp.fortran/collapse1.f90: New test.
12575 * testsuite/libgomp.fortran/collapse2.f90: New test.
12576 * testsuite/libgomp.fortran/collapse3.f90: New test.
12577 * testsuite/libgomp.fortran/collapse4.f90: New test.
12578 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12579 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12580 * testsuite/libgomp.fortran/lib4.f90: New test.
12581 * testsuite/libgomp.fortran/lock-1.f90: New test.
12582 * testsuite/libgomp.fortran/lock-2.f90: New test.
12583 * testsuite/libgomp.fortran/nested1.f90: New test.
12584 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12585 * testsuite/libgomp.fortran/strassen.f90: New test.
12586 * testsuite/libgomp.fortran/tabs1.f90: New test.
12587 * testsuite/libgomp.fortran/tabs2.f: New test.
12588 * testsuite/libgomp.fortran/task1.f90: New test.
12589 * testsuite/libgomp.fortran/task2.f90: New test.
12590 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12591 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12592 * testsuite/libgomp.c/pr26943-2.c: Likewise.
12593 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12594 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12595
7a0112e7
JJ
125962008-05-23 Jakub Jelinek <jakub@redhat.com>
12597
12598 PR c++/36308
12599 * testsuite/libgomp.c++/ctor-11.C: New test.
12600 * testsuite/libgomp.c++/ctor-12.C: New test.
12601
91a5b394
JJ
126022008-05-15 Janis Johnson <janis187@us.ibm.com>
12603
12604 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12605
c18c98c0
JJ
126062008-05-07 Jakub Jelinek <jakub@redhat.com>
12607
12608 PR middle-end/36106
12609 * testsuite/libgomp.c/atomic-5.c: New test.
12610 * testsuite/libgomp.c/atomic-6.c: New test.
12611 * testsuite/libgomp.c/autopar-1.c: New test.
12612
6d26724a
RW
126132008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12614
12615 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12616 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12617 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12618 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12619 * configure: Regenerate.
12620 * Makefile.in, testsuite/Makefile.in: Likewise.
12621
deb984e6
PB
126222008-04-18 Paolo Bonzini <bonzini@gnu.org>
12623
12624 PR bootstrap/35457
12625 * aclocal.m4: Regenerate.
12626 * configure: Regenerate.
12627
9e775963
JJ
126282008-03-18 Jakub Jelinek <jakub@redhat.com>
12629
8119fc93
JJ
12630 PR middle-end/35611
12631 * testsuite/libgomp.c/atomic-4.c: New test.
12632
9e775963
JJ
12633 PR libgomp/35625
12634 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12635 (gomp_iter_guided_next): Likewise.
12636 * testsuite/libgomp.c/pr35625.c: New test.
12637
38d24731
RW
126382008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12639
12640 * aclocal.m4: Regenerate.
12641 * configure: Likewise.
12642 * Makefile.in: Likewise.
12643 * testsuite/Makefile.in: Likewise.
12644
d0fb20be
JJ
126452008-03-13 Jakub Jelinek <jakub@redhat.com>
12646
12647 PR middle-end/35185
12648 * testsuite/libgomp.c++/pr35185.C: New test.
12649
7c8f7639
JJ
126502008-03-12 Jakub Jelinek <jakub@redhat.com>
12651
12652 PR middle-end/35549
12653 * testsuite/libgomp.c/pr35549.c: New test.
12654
251923f5
JJ
126552008-03-06 Jakub Jelinek <jakub@redhat.com>
12656
12657 * testsuite/libgomp.c/atomic-3.c: New test.
12658
f489fba1
FXC
126592008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12660
12661 PR fortran/33197
251923f5 12662 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
12663 .F08 file suffixes.
12664
a1b25e49
PG
126652008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
12666
12667 PR libgomp/33131
12668 * configure.ac: Add ACX_HEADER_STRING.
12669 * env.c: Include strings.h.
12670 * aclocal.m4: Regenerate.
12671 * config.h.in: Regenerate.
12672 * configure: Regenerate.
12673 * Makefile.in: Regenerate.
12674 * testsuite/Makefile.in: Regenerate.
12675
6837b3b8
JJ
126762008-02-15 Jakub Jelinek <jakub@redhat.com>
12677
ac84c062
JJ
12678 PR middle-end/35196
12679 * testsuite/libgomp.c/pr35196.c: New test.
12680
6837b3b8
JJ
12681 PR middle-end/35130
12682 * testsuite/libgomp.fortran/pr35130.f90: New test.
12683 * testsuite/libgomp.c/pr35130.c: New test.
12684
c256730c
JJ
126852008-01-25 Jakub Jelinek <jakub@redhat.com>
12686
12687 PR middle-end/33880
12688 * testsuite/libgomp.c/pr33880.c: New test.
12689 * testsuite/libgomp.fortran/pr33880.f90: New test.
12690
c8e95542 126912008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
12692
12693 * configure: Regenerate.
12694
0f3e711e
JJ
126952008-01-08 Jakub Jelinek <jakub@redhat.com>
12696
12697 * configure.ac: Move futex checking into ../config/futex.m4.
12698 * configure: Rebuilt.
12699 * aclocal.m4: Rebuilt.
12700 * Makefile.in: Rebuilt.
12701
12702 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12703 2007-10-15 ../config/tls.m4 change.
12704
5259c813
JJ
127052007-12-19 Jakub Jelinek <jakub@redhat.com>
12706
12707 PR c++/34513
12708 * testsuite/libgomp.c/pr34513.c: New test.
12709 * testsuite/libgomp.c++/pr34513.C: New test.
12710
ae8d8879
JH
127112007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
12712
12713 PR target/32765
12714 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12715
2b4cf991
JJ
127162007-12-04 Jakub Jelinek <jakub@redhat.com>
12717
12718 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
12719
d2dda7fe
JJ
127202007-12-03 Jakub Jelinek <jakub@redhat.com>
12721
12722 * testsuite/libgomp.c/private-1.c: New test.
12723
d683ec81
PB
127242007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
12725 Paolo Bonzini <bonzini@gnu.org>
12726
12727 * Makefile.am: Use space as vpath separator. Use 'vpath %'
12728 instead of 'VPATH ='.
12729 * Makefile.in: Regenerate.
12730
a7415017
MK
127312007-11-23 Matthias Klose <doko@ubuntu.com>
12732
12733 * configure.ac: Adjust makeinfo version check.
12734 * configure: Regenerate.
12735
78e47463
JJ
127362007-11-10 Jakub Jelinek <jakub@redhat.com>
12737
12738 PR fortran/34020
12739 * testsuite/libgomp.fortran/pr34020.f90: New test.
12740
239371f9
JJ
127412007-11-06 Jakub Jelinek <jakub@redhat.com>
12742
12743 PR c++/33894
12744 * testsuite/libgomp.c++/atomic-1.C: New test.
12745
98a5fa94
JJ
127462007-10-25 Jakub Jelinek <jakub@redhat.com>
12747
12748 PR libgomp/33275
12749 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12750 Make x and y integers rather than (implicit) reals. Add private (j)
12751 clause to the last omp parallel.
12752
3afcaaf4
MR
127532007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
12754
12755 * configure: Regenerate following changes to ../config/tls.m4.
12756
bd69daef
JJ
127572007-09-28 Jakub Jelinek <jakub@redhat.com>
12758
12759 * testsuite/libgomp.fortran/stack.f90: New test.
12760
1d0bd356
DS
127612007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
12762
12763 * config/mingw32/proc.c: New file.
12764
b3172cab
UB
127652007-09-05 Uros Bizjak <ubizjak@gmail.com>
12766
12767 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12768 (main): Use __get_cpuid to get i386 target fetaures.
12769 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12770 (main): Use __get_cpuid to get x86_64 target fetaures.
12771
6da17392
JH
127722007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
12773
12774 PR target/32765
12775 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12776 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12777
e1c82219
JJ
127782007-07-12 Jakub Jelinek <jakub@redhat.com>
12779
12780 PR fortran/32550
12781 * testsuite/libgomp.fortran/pr32550.f90: New test.
12782 * testsuite/libgomp.fortran/crayptr2.f90: New test.
12783
12a27363
L
127842007-07-05 H.J. Lu <hongjiu.lu@intel.com>
12785
12786 * aclocal.m4: Regenerated.
12787
5349080d
TB
127882007-07-05 Tobias Burnus <burnus@net-b.de>
12789
12790 PR fortran/32359
12791 * testsuite/libgomp.fortran/pr32359.f90: New.
12792
4f9c450c
JJ
127932007-07-02 Jakub Jelinek <jakub@redhat.com>
12794
12795 PR libgomp/32468
12796 * sections.c (GOMP_parallel_sections_start): Only decrease
12797 number of threads to COUNT if dyn_var is true.
12798 * testsuite/libgomp.c/pr32468.c: New test.
12799
28c67ed7
RO
128002007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12801
12802 PR libgomp/26308
12803 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12804
64964499
JJ
128052007-06-21 Jakub Jelinek <jakub@redhat.com>
12806
12807 PR middle-end/32362
12808 * testsuite/libgomp.c/pr32362-1.c: New test.
12809 * testsuite/libgomp.c/pr32362-2.c: New test.
12810 * testsuite/libgomp.c/pr32362-3.c: New test.
12811
46d8fbd1
JJ
128122007-06-07 Jakub Jelinek <jakub@redhat.com>
12813
12814 * team.c (gomp_team_start): Fix setting up thread_attr
12815 stack size.
12816
82a6cadf
PB
128172007-06-02 Paolo Bonzini <bonzini@gnu.org>
12818
12819 * configure: Regenerate.
12820
1cf3d07d
SE
128212007-05-23 Steve Ellcey <sje@cup.hp.com>
12822
12823 * Makefile.in: Regenerate.
12824 * configure: Regenerate.
12825 * aclocal.m4: Regenerate.
12826 * testsuite/Makefile.in: Regenerate.
12827
12aac30b
JJ
128282007-05-04 Jakub Jelinek <jakub@redhat.com>
12829
12830 * config/linux/proc.c: New file.
12831
f1028b02
JJ
12832 PR libgomp/28482
12833 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12834
06785a48
DF
128352007-04-19 Daniel Franke <franke.daniel@gmail.com>
12836
12837 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12838
b3b08ba0
MK
128392007-04-16 Matthias Klose <doko@debian.org>
12840
12841 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12842 flags if not building with -m64.
12843 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12844 flag for i?86-*-* targets, if current target matches -m64.
12845
6b2c5ce0
SE
128462007-04-14 Steve Ellcey <sje@cup.hp.com>
12847
12848 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12849 * Makefile.in: Regenerate.
12850
dd56fe7c
JDA
128512007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12852
12853 PR testsuite/31369
12854 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12855 ld_library_path.
12856 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12857
a0884cf0
JJ
128582007-04-04 Jakub Jelinek <jakub@redhat.com>
12859
12860 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12861 decls.
12862 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12863 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12864 (parse_affinity): New function.
12865 (initialize_env): Call it and gomp_init_affinity.
12866 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12867 create new pthread_attr_t and call gomp_init_thread_affinity
12868 on it for each thread before passing the attribute to pthread_create.
12869 * config/linux/affinity.c: New file.
12870 * config/posix/affinity.c: New file.
12871 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12872 * configure: Rebuilt.
12873 * config.h.in: Rebuilt.
12874 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12875 * Makefile.in: Rebuilt.
12876
1850744b
AT
128772007-03-23 Andreas Tobler <a.tobler@schweiz.org>
12878
12879 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
12880 *-*-darwin*.
12881 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
12882 and use it if found.
12883
516f1ed8
UB
128842007-03-18 Uros Bizjak <ubizjak@gmail.com>
12885
12886 * testsuite/config/default.exp: New file.
12887 * testsuite/lib/libgomp.exp: New file.
12888 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
12889 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
12890 load_lib *, load_gcc_lib *): Move to libgomp.exp.
12891 (libgomp_load): Remove.
12892 * testsuite/lib/libgomp.exp (libgomp_init): Compute
12893 always_ld_library_path, not ld_library_path. Set additional_flags
12894 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
12895 (target_compile): Do not call libgomp_init. Append lang_library_path
12896 and lang_link_flags to options.
12897 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
12898 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
12899 here.
12900 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
12901 always_ld_library_path. Set LD_LIBRARY_PATH here.
12902 * testsuite/libgomp.fortran/fortran.exp: Ditto.
12903 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
12904 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
12905 CX8 flag.
12906 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
12907 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
12908 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
12909 * testsuite/libgomp.c/pr29947-1.c: Ditto.
12910 * testsuite/libgomp.c/atomic-10.c: Ditto.
12911
2ada56f5
JJ
129122007-03-21 Jakub Jelinek <jakub@redhat.com>
12913
12914 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
12915 dg-final cleanup-modules line.
12916 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
12917 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
12918 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
12919 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12920 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12921 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12922 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12923
f210f1cd
AS
129242007-03-18 Andreas Schwab <schwab@suse.de>
12925
12926 * acinclude.m4: Adjust regular expression for ld version
12927 extraction.
12928 * configure: Regenerate.
12929
c4dc950d
BM
129302007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
12931
12932 * Makefile.am: Add install-pdf target as copied from
12933 automake v1.10 rules.
12934 * Makefile.in: Regenerate
12935
e02a048f
JJ
129362007-02-07 Jakub Jelinek <jakub@redhat.com>
12937
78e075d4
JJ
12938 PR libgomp/28486
12939 * configure: Regenerate.
12940
e02a048f
JJ
12941 PR c++/30703
12942 * testsuite/libgomp.c++/pr30703.C: New test.
12943
60def7ed
JJ
129442007-02-02 Jakub Jelinek <jakub@redhat.com>
12945
12946 Revert:
12947 2006-07-05 Eric Christopher <echristo@apple.com>
12948 * configure.ac: Depend addition of -pthread on host OS.
12949 * configure: Regenerate.
12950
f1b0882e
RW
129512007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12952
12953 * libgomp.texi: Fix spacing after abbreviations.
12954
748b9d7c
DF
129552007-01-31 Daniel Franke <franke.daniel@gmail.com>
12956
12957 PR libgomp/30546
12958 * configure.ac: Add check for makeinfo
12959 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 12960 if an appropriate version of makeinfo is found.
748b9d7c
DF
12961 * aclocal.m4: Regenerated.
12962 * configure: Regenerated.
12963 * Makefile.in: Regenerated.
12964 * testsuite/Makefile.in: Regenerated.
12965
14734fc7
DF
129662007-01-29 Daniel Franke <franke.daniel@gmail.com>
12967
12968 PR libgomp/30540
12969 * libgomp.texi: More about implementation-dependent settings.
12970
7befd5d2
TB
129712007-01-26 Tobias Burnus <burnus@net-b.de>
12972
12973 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
12974
4288fea2
JJ
129752007-01-24 Jakub Jelinek <jakub@redhat.com>
12976
12977 PR middle-end/30494
12978 * testsuite/libgomp.c/pr30494.c: New test.
12979
627ab4b8
TT
129802007-01-15 Tom Tromey <tromey@redhat.com>
12981
12982 * configure: Rebuilt.
12983 * configure.ac: Fixed comment.
12984
7c2b7f45
DF
129852007-01-14 Daniel Franke <franke.daniel@gmail.com>
12986
12987 * libgomp.texi: Document implementation specific default values of
12988 environment variables.
12989
3721b9e1
DF
129902006-12-21 Daniel Franke <franke.daniel@gmail.com>
12991
12992 PR libgomp/28209
12993 * libgomp.texi: New file.
12994 * configure.ac: Add --enable-generated-files-in-srcdir option.
12995 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
12996 files to srcdir.
12997 * Makefile.in: Regenerated.
12998 * config.h.in: Regenerated.
12999 * testsuite/Makefile.in: Regenerated.
13000 * NOTES: Removed.
13001
62bd6216
DF
130022006-12-04 Daniel Franke <franke.daniel@gmail.com>
13003
13004 PR libgomp/29949
13005 * env.c (omp_set_num_threads): Set illegal thread count to 1.
13006
aad741f4
EB
130072006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
13008
13009 * configure: Regenerate.
13010
22568cc6
JJ
130112006-12-04 Jakub Jelinek <jakub@redhat.com>
13012
13013 PR libgomp/29947
13014 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
13015 start if there shouldn't be any loop iterations.
13016 (gomp_loop_ordered_static_start): Remove start == end test.
13017 * testsuite/libgomp.c/pr29947-1.c: New test.
13018 * testsuite/libgomp.c/pr29947-2.c: New test.
13019
a9690009
EB
130202006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
13021
13022 * configure.tgt: Force initial-exec TLS model on Linux only.
13023
597c25e6
DJ
130242006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
13025
13026 * configure: Regenerated.
13027
6acf0b38
UB
130282006-11-09 Uros Bizjak <ubizjak@gmail.com>
13029
13030 * env.c (parse_schedule): Reject out of range values.
13031 (parse_unsigned_long): Reject out of range, negative or zero values.
13032
a7a53ca5
JJ
130332006-10-29 Jakub Jelinek <jakub@redhat.com>
13034
13035 PR fortran/29629
13036 * testsuite/libgomp.fortran/pr29629.f90: New test.
13037
6d4d216a
EB
130382006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
13039
13040 PR libgomp/29494
13041 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
13042 * config/posix95: New directory.
13043 * config/posix95/omp-lock.h: New file.
13044 * config/posix95/lock.c: Likewise.
13045
5b043f08
GK
130462006-10-14 Geoffrey Keating <geoffk@apple.com>
13047
13048 * aclocal.m4: Regenerate.
13049 * configure: Regenerate.
13050
b50019f0
DS
130512006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
13052
13053 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
13054 '<' to '<='.
13055
8887708e
DS
130562006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
13057
13058 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
13059 test.
13060 * configure: Regenerate.
13061 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
13062
9b9e4cd6
JJ
130632006-09-26 Jakub Jelinek <jakub@redhat.com>
13064
a70ad3bb
JJ
13065 PR middle-end/25261
13066 PR middle-end/28790
13067 * testsuite/libgomp.c/nestedfn-4.c: New test.
13068 * testsuite/libgomp.c/nestedfn-5.c: New test.
13069 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
13070
9b9e4cd6
JJ
13071 PR fortran/29097
13072 * testsuite/libgomp.fortran/condinc1.f: New test.
13073 * testsuite/libgomp.fortran/condinc2.f: New test.
13074 * testsuite/libgomp.fortran/condinc3.f90: New test.
13075 * testsuite/libgomp.fortran/condinc4.f90: New test.
13076 * testsuite/libgomp.fortran/condinc1.inc: New file.
13077
2fb31455
TT
130782006-09-18 Tom Tromey <tromey@redhat.com>
13079
13080 * configure: Rebuilt.
13081
c663e301
JM
130822006-09-13 Joseph S. Myers <joseph@codesourcery.com>
13083
13084 PR c/28768
13085 PR preprocessor/14634
13086 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
13087 to AC_DEFINE.
13088 * configure: Regenerate.
13089
38371be9
SK
130902006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
13091
13092 * testsuite/libgomp.fortran/reduction3.f90: Change
13093 -2147483648 to -huge(i)-1 to avoid overflow.
13094 * testsuite/libgomp.fortran/reduction4.f90: Change
13095 Z'ffffffff' to not(0) to avoid overflow.
13096
571d5ac5
JM
130972006-08-26 Joseph S. Myers <joseph@codesourcery.com>
13098
13099 PR libgomp/25938
13100 * Makefile.am (libsubincludedir): New.
13101 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
13102 * Makefile.in: Regenerate.
13103
89b3e3cd
JJ
131042006-08-17 Jakub Jelinek <jakub@redhat.com>
13105
13106 PR libgomp/28725
13107 * env.c: Include ctype.h.
13108 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
13109 leading and/or trailing whitespace and compare strings case
13110 insensitively.
13111
742fae05
JJ
131122006-07-16 Jakub Jelinek <jakub@redhat.com>
13113
13114 PR fortran/28390
13115 * testsuite/libgomp.fortran/pr28390.f: New test.
13116
a1daed2d
EC
131172006-07-05 Eric Christopher <echristo@apple.com>
13118
13119 * configure.ac: Depend addition of -pthread on host OS.
13120 * configure: Regenerate.
13121
5d7b5199
JJ
131222006-06-21 Jakub Jelinek <jakub@redhat.com>
13123
13124 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
13125 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
13126 defined.
13127
fe5568e9
JJ
131282006-06-20 Jakub Jelinek <jakub@redhat.com>
13129
13130 PR libgomp/26175
13131 PR libgomp/26477
13132 * configure.ac: If neither --enable-linux-futex nor
13133 --disable-linux-futex is passed, determine the default by checking
13134 for compiling and/or running against NPTL. With --enable-linux-futex,
13135 check if SYS_gettid and SYS_futex are defined.
13136 * configure: Rebuilt.
13137
c3b11a40
RH
131382006-06-14 Richard Henderson <rth@redhat.com>
13139
13140 PR libgomp/28008
13141 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
13142 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
13143
d0d1b24d
RH
131442006-06-09 Richard Henderson <rth@redhat.com>
13145
13146 * env.c (gomp_nthreads_var): Change to unsigned long.
13147 (gomp_run_sched_chunk): Likewise.
13148 (parse_unsigned_long): Rename from parse_num_threads and generalize.
13149 (initialize_env): Initialize gomp_thread_attr.
13150 * libgomp.h (gomp_nthreads_var): Update decl.
13151 (gomp_run_sched_chunk): Likewise.
13152 (gomp_thread_attr): Declare.
13153 * team.c (gomp_thread_attr): Export.
13154 (initialize_team): Don't initialize it.
13155
cd75853e
JJ
131562006-06-09 Jakub Jelinek <jakub@redhat.com>
13157
13158 PR fortran/27916
13159 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
13160 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
13161
33815e0c
FXC
131622006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
13163
13164 * config/mingw32/time.c: New file.
13165 * configure.tgt: Use it.
13166
6667de0d
CD
131672006-05-23 Carlos O'Donell <carlos@codesourcery.com>
13168
13169 * Makefile.am: Add install-html target. Add install-html to .PHONY
13170 * Makefile.in: Regenerate.
13171
e962c46b
JDA
131722006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13173
13174 PR libgomp/27612
13175 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
13176 * testsuite/libgomp.c/critical-1.c: Likewise.
13177 * testsuite/libgomp.c/loop-1.c: Likewise.
13178 * testsuite/libgomp.c/loop-2.c: Likewise.
13179 * testsuite/libgomp.c/single-1.c: Likewise.
13180 * testsuite/libgomp.c/ordered-1.c: Likewise.
13181 * testsuite/libgomp.c/ordered-2.c: Likewise.
13182
eeb1d9e0
JJ
131832006-05-15 Jakub Jelinek <jakub@redhat.com>
13184
13185 PR middle-end/27416
13186 * libgomp.fortran/pr27416-1.f90: New test.
13187
693d710f
JJ
131882006-05-03 Jakub Jelinek <jakub@redhat.com>
13189
13190 PR fortran/27395
13191 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
13192 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
13193
8ca5b2a2
JJ
131942006-05-02 Jakub Jelinek <jakub@redhat.com>
13195
13196 PR c++/26943
13197 * testsuite/libgomp.c/pr26943-1.c: New test.
13198 * testsuite/libgomp.c/pr26943-2.c: New test.
13199 * testsuite/libgomp.c/pr26943-3.c: New test.
13200 * testsuite/libgomp.c/pr26943-4.c: New test.
13201 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
13202 * testsuite/libgomp.c++/pr26943.C: New test.
13203
077b0dfb
JJ
132042006-05-02 Jakub Jelinek <jakub@redhat.com>
13205
13206 PR middle-end/27337
13207 * testsuite/libgomp.c++/pr27337.C: New test.
13208
91b6c26d
JJ
132092006-04-26 Jakub Jelinek <jakub@redhat.com>
13210
13211 PR c/26171
13212 * testsuite/libgomp.c/pr26171.c: New test.
13213
60e1758f
RH
132142006-04-25 Richard Henderson <rth@redhat.com>
13215
13216 PR libgomp/25865
13217 * configure.ac: Use GCC_CHECK_TLS.
13218 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
13219 * Makefile.in, aclocal.m4, configure: Regenerate.
13220
615baed7
MK
132212006-04-10 Matthias Klose <doko@debian.org>
13222
13223 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
13224 directory names containing underscores.
13225
fae2b46b
JJ
132262006-03-21 Jakub Jelinek <jakub@redhat.com>
13227
13228 PR c++/26691
13229 * testsuite/libgomp.c++/pr26691.C: New test.
13230
11a5f608
JJ
132312006-03-13 Jakub Jelinek <jakub@redhat.com>
13232
13233 * testsuite/libgomp.fortran/retval2.f90: New test.
13234
1799e5d5
RH
132352006-03-09 Diego Novillo <dnovillo@redhat.com>
13236
13237 * testsuite/libgomp.c++: New directory.
13238
d349482e
AT
132392006-02-25 Shantonu Sen <ssen@opendarwin.org>
13240
13241 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
13242 * config/posix/sem.c: Implement the above.
13243
132442006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
13245
13246 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
13247 define HAVE_BROKEN_POSIX_SEMAPHORES.
13248 * configure: Rebuilt.
13249 * config.h.in: Rebuilt.
13250
124452c9
FXC
132512006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
13252
13253 PR bootstrap/26161
13254 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
13255 for the other pthread check.
13256 * configure: Regenerate.
13257 * config.h.in: Regenerate.
13258
dd8d6dfe
JJ
132592006-02-15 Jakub Jelinek <jakub@redhat.com>
13260
13261 PR libgomp/25938
13262 PR libgomp/25984
13263 * Makefile.am (fincludedir): New variable.
13264 (nodist_include_HEADERS): Remove Fortran files.
13265 (nodist_finclude_HEADERS): New variable.
13266 * Makefile.in: Regenerated.
13267
6c7a4dfd
JJ
132682006-02-13 Jakub Jelinek <jakub@redhat.com>
13269
13270 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
13271 Remove tests for returning assumed character length arrays.
13272
5142e08b
RS
132732006-02-12 Roger Sayle <roger@eyesopen.com>
13274 John David Anglin <dave@hiauly1.hia.nrc.ca>
13275
13276 PR libgomp/25936
13277 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 13278
5821fba8
UW
132792006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
13280
13281 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
13282
cb2bbc67
EB
132832006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
13284
13285 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
13286 part of LD_LIBRARY_PATH manually.
13287
f05ee80c
L
132882006-02-03 H.J. Lu <hongjiu.lu@intel.com>
13289
13290 PR libgomp/25852
13291 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
13292 libgomp_init.
13293
03b8fe49
PB
132942005-01-25 Paolo Bonzini <bonzini@gnu.org>
13295
13296 PR libgomp/25884
f05ee80c
L
13297 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
13298 * configure.ac (PERL): Don't set.
13299 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
13300 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
13301 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
13302 * omp.h.in: Wrap the new configure substitutions with @ characters.
13303 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
13304 * aclocal.m4, configure, Makefile.in: Regenerate.
13305 * mkomp_h.pl: Delete.
03b8fe49 13306
18cbfd85
PB
133072005-01-24 Paolo Bonzini <bonzini@gnu.org>
13308
13309 PR libgomp/25259
13310 * configure.ac: Use GCC_HEADER_STDINT.
13311 * libgomp.h: Include gstdint.h.
13312 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
13313 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
13314
c41303c6
RH
133152006-01-24 Richard Henderson <rth@redhat.com>
13316
13317 PR libgomp/25942
13318 * configure.ac: Add AM_MAINTAINER_MODE.
13319 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
13320
149b9553
DN
133212006-01-24 Diego Novillo <dnovillo@redhat.com>
13322
13323 * Makefile.in: Regenerate.
13324 * testsuite/Makefile.in: Regenerate.
13325 * aclocal.m4: Regenerate.
13326
192a50ad
AT
133272006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
13328
13329 * config/posix/proc.c: Conditional include of sys/loadavg.h for
13330 Solaris.
13331 * configure.ac: Add check for loadavg.h.
13332 (link_gomp): Adjust comment.
13333 * configure: Regenerate.
13334 * config.h.in: Regenerate.
13335
a55b8e18
SE
133362006-01-21 Steve Ellcey <sje@cup.hp.com>
13337
13338 PR libgomp/25877
13339 * configure.ac: Remove check for alloca.h.
13340 * configure: Regenerate.
13341 * config.h.in: Regenerate.
13342 * libgomp.h: define gomp_alloca to be __builtin_alloca.
13343 * team.c: Remove use of alloca.h.
13344 Call gomp_alloca instead of alloca.
13345
692eeb34
SE
133462006-01-20 Steve Ellcey <sje@cup.hp.com>
13347
13348 PR libgomp/25877
13349 * team.c: Add include of alloca.h.
13350 * configure.ac: Add check for alloca.h.
13351 * configure: Regenerate.
13352 * config.h.in: Regenerate.
13353
953ff289
DN
133542006-01-17 Jakub Jelinek <jakub@redhat.com>
13355
13356 PR fortran/25219
13357 * testsuite/libgomp.fortran/pr25219.f90: New test.
13358
133592005-12-05 Uros Bizjak <uros@kss-loka.si>
13360
13361 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
13362 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
13363 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13364 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13365 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
13366 testsuite/libgomp.fortran/threadprivate1.f90,
13367 testsuite/libgomp.fortran/threadprivate2.f90,
13368 testsuite/libgomp.fortran/threadprivate3.f90,
13369 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13370 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13371 testsuite/libgomp.fortran/omp_parse3.f90: Change required
13372 effective-target to TLS runtime.
13373
13374 * testsuite/libgomp.fortran/pr25162.f: Require
13375 effective-target TLS runtime.
13376
133772005-12-01 Jakub Jelinek <jakub@redhat.com>
13378
13379 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
13380 * testsuite/libgomp.c/nestedfn-3.c: New test.
13381
133822005-11-30 Jakub Jelinek <jakub@redhat.com>
13383
13384 PR fortran/25162
13385 * testsuite/libgomp.fortran/pr25162.f: New test.
13386
133872005-11-28 Jakub Jelinek <jakub@redhat.com>
13388
13389 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
13390 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
13391
133922005-11-25 Jakub Jelinek <jakub@redhat.com>
13393
13394 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
13395 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
13396 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
13397 single.c, team.c, work.c, config/linux/alpha/futex.h,
13398 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
13399 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
13400 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
13401 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
13402 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
13403 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
13404 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
13405 FSF address.
13406
134072005-11-18 Jakub Jelinek <jakub@redhat.com>
13408
13409 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
13410 to nodist_noinst_HEADERS.
13411 * Makefile.in: Rebuilt.
13412
13413 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
13414 add integer count field.
13415 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
13416 omp_nest_lock_t type change.
13417 (omp_init_nest_lock): Likewise. Initialize count to 0.
13418 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
13419 Increment count.
13420 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
13421 Decrement count.
13422 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
13423 Increment count if successful and return the new nesting level.
13424 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
13425 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
13426 * testsuite/libgomp.c/lib-1.c: New test.
13427 * testsuite/libgomp.fortran/lib1.f90: New test.
13428 * testsuite/libgomp.fortran/lib2.f: New test.
13429 * testsuite/libgomp.fortran/lib3.f: New test.
13430
134312005-11-17 Richard Henderson <rth@redhat.com>
13432
13433 PR 24845
13434 * Makefile.am (nodist_toolexeclib_HEADERS): New.
13435 * configure.ac (link_gomp): New. Substitute it.
13436 (AC_CONFIG_FILES): Add libgomp.spec.
13437 * libgomp.spec.in: New file.
13438 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
13439 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
13440
134412005-11-18 Jakub Jelinek <jakub@redhat.com>
13442
13443 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
13444 reduction(-:var) behaving the same as reduction(+:var).
13445 * testsuite/libgomp.c/reduction-4.c: New test.
13446
134472005-11-15 Uros Bizjak <uros@kss-loka.si>
13448
13449 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
13450 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
13451 testsuite/libgomp.c/copyin-3.c,
13452 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13453 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13454 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
13455 testsuite/libgomp.c++/pr24455.C,
13456 testsuite/libgomp.fortran/threadprivate1.f90,
13457 testsuite/libgomp.fortran/threadprivate2.f90,
13458 testsuite/libgomp.fortran/threadprivate3.f90,
13459 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13460 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13461 testsuite/libgomp.fortran/omp_parse3.f90: Require
13462 effective-target TLS.
13463
134642005-11-14 Diego Novillo <dnovillo@redhat.com>
13465
13466 * HEADER: Remove.
13467
134682005-11-13 Jakub Jelinek <jakub@redhat.com>
13469
13470 PR libgomp/24797
13471 * team.c (initialize_team): Pass NULL rather than free as
13472 pthread_key_create destructor. Initialize thread specific data
13473 pointer in initial thread to a static local variable rather than
13474 malloced memory.
13475
134762005-11-11 Uros Bizjak <uros@kss-loka.si>
13477
13478 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
13479 its location to ld_library_path.
13480
134812005-11-10 Diego Novillo <dnovillo@redhat.com>
13482
13483 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
13484
134852005-11-10 Diego Novillo <dnovillo@redhat.com>
13486
13487 * testsuite/libgomp.c: Rename from libgomp.dg.
13488
134892005-11-09 Diego Novillo <dnovillo@redhat.com>
13490
13491 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
13492 threadprivate variable 'i'.
13493
134942005-11-09 Jakub Jelinek <jakub@redhat.com>
13495
13496 * config/linux/s390/futex.h: New file.
13497 * configure.tgt: Use it.
13498
13499 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13500 before the parallel.
13501
135022005-11-08 Jakub Jelinek <jakub@redhat.com>
13503
13504 PR c++/24734
13505 * testsuite/libgomp.c++/master-1.C: New test.
13506
135072005-11-07 Jakub Jelinek <jakub@redhat.com>
13508
13509 * testsuite/libgomp.dg/copyin-3.c: New test.
13510
135112005-11-07 Jakub Jelinek <jakub@redhat.com>
13512
13513 * testsuite/libgomp.fortran/retval1.f90: New test.
13514 * testsuite/libgomp.fortran/vla7.f90: New test.
13515
135162005-11-06 Jakub Jelinek <jakub@redhat.com>
13517
13518 * testsuite/libgomp.fortran/vla2.f90: New test.
13519 * testsuite/libgomp.fortran/vla3.f90: New test.
13520 * testsuite/libgomp.fortran/vla4.f90: New test.
13521 * testsuite/libgomp.fortran/vla5.f90: New test.
13522 * testsuite/libgomp.fortran/vla6.f90: New test.
13523
135242005-11-01 Jakub Jelinek <jakub@redhat.com>
13525
13526 * config/linux/sparc/futex.h: New file.
13527 * configure.tgt: Use it.
13528 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13529
13530 * critical.c: Include stdlib.h.
13531 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13532 ignoring return value.
13533 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13534 LIBGOMP_CHECK_SYNC_BUILTINS check.
13535 * configure: Rebuilt.
13536
135372005-10-31 Jakub Jelinek <jakub@redhat.com>
13538
13539 * testsuite/libgomp.fortran/vla1.f90: New test.
13540
135412005-10-31 Richard Henderson <rth@redhat.com>
13542
13543 * testsuite/libgomp.fortran/character2.f90: Fix race condition
13544 setting 's' in different threads.
13545
135462005-10-31 Jakub Jelinek <jakub@redhat.com>
13547
13548 * libgomp.h (attribute_hidden, ialias): Define.
13549 * config/posix/proc.c (omp_get_num_procs): Add ialias.
13550 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13551 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13552 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13553 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13554 omp_test_lock, omp_test_nest_lock): Likewise.
13555 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13556 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13557 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13558 omp_test_lock, omp_test_nest_lock): Likewise.
13559 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13560 omp_get_dynamic, omp_get_nested): Likewise.
13561 * parallel.c (omp_get_num_threads, omp_get_max_threads,
13562 omp_get_thread_num, omp_in_parallel): Likewise.
13563 * fortran.c (ialias_redirect): Define.
13564 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13565 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13566 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13567 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13568 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13569 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13570 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13571 omp_get_wtime): Add ialias_redirect.
13572
135732005-10-30 Jakub Jelinek <jakub@redhat.com>
13574
13575 * fortran.c: Include stdlib.h.
13576
135772005-10-29 Jakub Jelinek <jakub@redhat.com>
13578
13579 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13580 * Makefile.in: Regenerated.
13581
135822005-10-28 Jakub Jelinek <jakub@redhat.com>
13583
13584 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13585 * libgomp_f.h.in (omp_check_defines): New function.
13586 * env.c: Include libgomp_f.h.
13587 (initialize_env): Call omp_check_defines.
13588
13589 * testsuite/libgomp.dg/copyin-2.c: New test.
13590 * testsuite/libgomp.c++/copyin-2.C: New test.
13591 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13592
13593 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13594 * testsuite/libgomp.fortran/sharing2.f90: New test.
13595
13596 * testsuite/libgomp.dg/copyin-1.c: New test.
13597 * testsuite/libgomp.c++/copyin-1.C: New test.
13598
135992005-10-26 Jakub Jelinek <jakub@redhat.com>
13600
13601 * testsuite/libgomp.fortran/crayptr1.f90: New test.
13602
13603 * testsuite/libgomp.fortran/workshare1.f90: New test.
13604
13605 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13606 only test.
13607 * libgomp.fortran/sharing1.f90: New test.
13608
136092005-10-24 Jakub Jelinek <jakub@redhat.com>
13610
13611 PR c++/24502
13612 * testsuite/libgomp.c++/loop-7.C: New test.
13613
13614 * testsuite/libgomp.dg/nestedfn-2.c: New test.
13615
13616 * testsuite/libgomp.dg/nestedfn-1.c: New test.
13617 * testsuite/libgomp.fortran/reduction6.f90: New test.
13618 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13619
136202005-10-23 Richard Henderson <rth@redhat.com>
13621
13622 * testsuite/libgomp.c++/ctor-1.C: New.
13623 * testsuite/libgomp.c++/ctor-2.C: New.
13624 * testsuite/libgomp.c++/ctor-3.C: New.
13625 * testsuite/libgomp.c++/ctor-4.C: New.
13626 * testsuite/libgomp.c++/ctor-5.C: New.
13627 * testsuite/libgomp.c++/ctor-6.C: New.
13628 * testsuite/libgomp.c++/ctor-7.C: New.
13629 * testsuite/libgomp.c++/ctor-8.C: New.
13630 * testsuite/libgomp.c++/ctor-9.C: New.
13631
136322005-10-21 Diego Novillo <dnovillo@redhat.com>
13633
13634 PR 24455
13635 * testsuite/libgomp.c++/pr24455-1.C: New test.
13636 * testsuite/libgomp.c++/pr24455.C: New test.
13637 * testsuite/libgomp.dg/pr24455-1.c: New test.
13638 * testsuite/libgomp.dg/pr24455.c: New test.
13639
136402005-10-20 Richard Henderson <rth@redhat.com>
13641
13642 * testsuite/libgomp.c++/loop-6.C: New.
13643 * testsuite/libgomp.dg/loop-3.c: New.
13644
136452005-10-20 Jakub Jelinek <jakub@redhat.com>
13646
13647 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13648 explicitly private.
13649 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13650 explicitly shared.
13651
136522005-10-19 Diego Novillo <dnovillo@redhat.com>
13653
13654 * testsuite/libgomp.fortran/jacobi.f: New test.
13655
136562005-10-19 Richard Henderson <rth@redhat.com>
13657
13658 * configure.tgt (i?86-linux): Default to with_arch instead of
13659 CFLAGS. Add -mtune to match target_cpu.
13660 (x86_64-linux): Tune to i686.
13661
13662 * fortran.c (omp_test_nest_lock_): Fix typo.
13663
136642005-10-19 Jakub Jelinek <jakub@redhat.com>
13665
13666 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13667 gomp_ordered_sync): Do nothing if team->nthreads == 1.
13668 * testsuite/libgomp.dg/ordered-3.c: New test.
13669
13670 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13671 Remove volatile keyword.
13672
13673 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13674 in COMMON block to avoid warnings on 64-bit targets.
13675
136762005-10-18 Diego Novillo <dnovillo@redhat.com>
13677
13678 * testsuite/libgomp.dg/shared-3.c: New test.
13679
136802005-10-18 Jakub Jelinek <jakub@redhat.com>
13681
13682 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13683 * testsuite/libgomp.fortran/reduction5.f90: New test.
13684
136852005-10-18 Jakub Jelinek <jakub@redhat.com>
13686
13687 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13688 dg-options.
13689 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
13690 flush loop now that __sync_synchronize has proper memory barrier.
13691 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13692 Add -ffixed-form to dg-options.
13693
136942005-10-17 Diego Novillo <dnovillo@redhat.com>
13695
13696 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13697 from subdirectories.
13698 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13699 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13700 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13701 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13702 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13703 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13704 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13705 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13706 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13707 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13708 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13709 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13710 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13711 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13712 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13713 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13714 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13715 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13716 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13717 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13718 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13719 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13720 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13721 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13722 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13723
137242005-10-17 Jakub Jelinek <jakub@redhat.com>
13725
13726 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13727 lang_library_path exists. Use find instead of glob to gather tests.
13728 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13729
137302005-10-17 Diego Novillo <dnovillo@redhat.com>
13731
13732 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13733 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13734 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13735 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13736 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13737 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13738 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13739 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13740 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13741 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13742 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13743 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13744 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13745
137462005-10-15 Jakub Jelinek <jakub@redhat.com>
13747
13748 * testsuite/libgomp.dg/vla-1.c: New test.
13749
13750 * testsuite/libgomp.fortran/reference2.f90: New test.
13751
13752 * testsuite/libgomp.fortran/character2.f90: Remove explicit
13753 declaration of omp_get_thread_num.
13754 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
13755 use omp_lib.
13756
13757 * testsuite/libgomp.fortran/reduction1.f90: New test.
13758 * testsuite/libgomp.fortran/reduction2.f90: New test.
13759 * testsuite/libgomp.fortran/reduction3.f90: New test.
13760 * testsuite/libgomp.fortran/reduction4.f90: New test.
13761
137622005-10-13 Richard Henderson <rth@redhat.com>
13763
13764 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13765 * Makefile.in: Regenerate.
13766 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13767 * libgomp.h: Include bar.h.
13768 (struct gomp_barrier): Remove.
13769 (struct gomp_team): Add barrier. Replace master_barrier with
13770 master_release. Replace threads with ordered_release.
13771 (struct gomp_thread): Replace barrier with release.
13772 * ordered.c (gomp_ordered_first): Update for ordered_release change.
13773 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13774 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13775 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13776 (GOMP_single_copy_end): Likewise.
13777 * team.c (gomp_threads_dock): New.
13778 (gomp_barrier_init, gomp_barrier_destroy): Remove.
13779 (gomp_thread_start): Use gomp_barrier_wait.
13780 (new_team, free_team): Update for gomp_team changes.
13781 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13782 (gomp_team_end): Use gomp_barrier_wait.
13783 (initialize_team): Update for gomp_thread changes.
13784 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13785 (gomp_work_share_end_nowait): Use atomic ops when available.
13786 * config/linux/bar.c, config/linux/bar.h: New files.
13787 * config/posix/bar.c, config/posix/bar.h: New files.
13788
137892005-10-13 Jakub Jelinek <jakub@redhat.com>
13790
13791 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13792 * testsuite/libgomp.dg/single-2.c: New test.
13793
13794 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13795 lang_link_flags): Unset, so that they aren't inherited from previously
13796 sourced *.exp.
13797
13798 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13799
138002005-10-12 Richard Henderson <rth@redhat.com>
13801
13802 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13803 (libgomp_init): Use lang_test_file, lang_library_path, and
13804 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
13805
13806 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13807 (lang_test_file, lang_link_flags): New.
13808 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13809
13810 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13811 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13812 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13813 testsuite/libgomp.c++/parallel-1.C,
13814 testsuite/libgomp.c++/reduction-1.C,
13815 testsuite/libgomp.c++/reduction-2.C,
13816 testsuite/libgomp.c++/reduction-3.C,
13817 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13818 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13819 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13820 New files, largely cribbed from the C testsuite.
13821
138222005-10-12 Jakub Jelinek <jakub@redhat.com>
13823
13824 * testsuite/libgomp.fortran/character1.f90: New test.
13825 * testsuite/libgomp.fortran/character2.f90: New test.
13826
13827 * testsuite/libgomp.dg/nested-1.c: New test.
13828 * testsuite/libgomp.dg/nested-2.c: New test.
13829 * testsuite/libgomp.fortran/do1.f90: New test.
13830 * testsuite/libgomp.fortran/do2.f90: New test.
13831
13832 * testsuite/libgomp.fortran/reference1.f90: New test.
13833
138342005-10-11 Jakub Jelinek <jakub@redhat.com>
13835
13836 * testsuite/libgomp.dg/reduction-1.c: New test.
13837 * testsuite/libgomp.dg/reduction-2.c: New test.
13838 * testsuite/libgomp.dg/reduction-3.c: New test.
13839
138402005-10-10 Jakub Jelinek <jakub@redhat.com>
13841
13842 * testsuite/libgomp.dg/atomic-1.c: New test.
13843 * testsuite/libgomp.dg/atomic-2.c: New test.
13844
138452005-10-09 Richard Henderson <rth@redhat.com>
13846
13847 * critical.c (atomic_lock): New.
13848 (initialize_critical): Initialize it.
13849 (GOMP_atomic_start, GOMP_atomic_end): New.
13850 * libgomp.map: Export them.
13851 * libgomp_g.h: Declare them.
13852
13853 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13854
138552005-10-02 Richard Henderson <rth@redhat.com>
13856
13857 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
13858 to XCFLAGS instead of CFLAGS.
13859
138602005-09-30 Richard Henderson <rth@redhat.com>
13861
13862 * configure.ac: Determine whether -pthread or -lpthread is needed.
13863 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 13864 * Makefile.in, configure: Rebuild.
953ff289
DN
13865
138662005-09-28 Richard Henderson <rth@redhat.com>
13867
13868 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13869 * testsuite/libgomp.dg/omp-single-3.c: New test.
13870
138712005-09-28 Diego Novillo <dnovillo@redhat.com>
13872
13873 * testsuite/libgomp.dg/omp-single-2.c: New test.
13874 * testsuite/libgomp.dg/shared-2.c: Fix return code.
13875
138762005-09-27 Richard Henderson <rth@redhat.com>
13877
13878 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
13879 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
13880
138812005-09-27 Jakub Jelinek <jakub@redhat.com>
13882
13883 * testsuite/libgomp.dg/omp-loop03.c: New test.
13884
138852005-09-27 Diego Novillo <dnovillo@redhat.com>
13886
13887 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
13888
138892005-09-27 Diego Novillo <dnovillo@redhat.com>
13890
13891 * testsuite/libgomp.dg/omp-single-1.c: New test.
13892 * testsuite/libgomp.dg/shared-1.c: Return 0.
13893 Add prototype for abort.
13894 * testsuite/libgomp.dg/shared-2.c: Likewise.
13895
138962005-09-26 Jakub Jelinek <jakub@redhat.com>
13897
13898 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
13899 constructs.
13900
139012005-09-26 Diego Novillo <dnovillo@redhat.com>
13902
13903 * testsuite/libgomp.dg/shared-1.c: New test.
13904 * testsuite/libgomp.dg/shared-2.c: New test.
13905
139062005-09-24 Richard Henderson <rth@redhat.com>
13907
13908 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
13909
139102005-09-24 Richard Henderson <rth@redhat.com>
13911
13912 * iter.c (gomp_iter_static_next): Round up when computing number
13913 of iterations. Don't bother distributing a remainder equally.
13914
13915 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
13916 Don't call srand. Zero b before testing.
13917 (main): New.
13918
139192005-09-24 Jakub Jelinek <jakub@redhat.com>
13920
13921 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
13922 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
13923
139242005-09-23 Jakub Jelinek <jakub@redhat.com>
13925
13926 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
13927 without !$omp end do, followed immediately by subroutine end.
13928
139292005-09-23 Diego Novillo <dnovillo@redhat.com>
13930
13931 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
13932
139332005-09-22 Richard Henderson <rth@redhat.com>
13934
13935 * critical.c (GOMP_critical_name_start): Change argument to void**.
13936 Reuse the pointer space if the mutex fits.
13937 (GOMP_critical_name_end): Likewise.
13938 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
13939 * libgomp_g.h (GOMP_critical_name_start): Update decl.
13940 (GOMP_critical_name_end): Likewise.
13941 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
13942 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
13943
139442005-09-20 Richard Henderson <rth@redhat.com>
13945
13946 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
13947 (create_lock_lock): New.
13948 (initialize_critical): Initialize it.
13949 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
13950 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
13951
139522005-09-20 Diego Novillo <dnovillo@redhat.com>
13953
13954 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
13955
139562005-09-20 Diego Novillo <dnovillo@redhat.com>
13957
13958 * testsuite/libgomp.dg/omp-loop01.c: New test.
13959 * testsuite/libgomp.dg/omp-loop02.c: New test.
13960
139612005-09-20 Jakub Jelinek <jakub@redhat.com>
13962
13963 * configure.ac (AC_PROG_FC): Add.
13964 (USE_FORTRAN): New automake conditional.
13965 * configure: Rebuilt.
13966 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
13967 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
13968 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
13969 Add rules to build them.
13970 * Makefile.in: Rebuilt.
13971 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
13972 OMP_NEST_LOCK_KIND.
13973 * libgomp.map: Add Fortran wrappers.
13974 * libgomp_f.h.in: New file.
13975 * omp_lib.h.in: New file.
13976 * omp_lib.f90.in: New file.
13977 * fortran.c: New file.
13978 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
13979 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
13980 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
13981 libgfortran has been built.
13982 * testsuite/libgomp.fortran/fortran.exp: New file.
13983 * testsuite/libgomp.fortran/omp_cond1.f: New test.
13984 * testsuite/libgomp.fortran/omp_cond2.f: New test.
13985 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
13986 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
13987 * testsuite/libgomp.fortran/omp_hello.f: New test.
13988 * testsuite/libgomp.fortran/omp_orphan.f: New test.
13989 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
13990 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
13991 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
13992 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
13993 * testsuite/libgomp.fortran/omp_reduction.f: New test.
13994 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
13995 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
13996
139972005-08-30 Richard Henderson <rth@redhat.com>
13998
13999 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
14000 function for when aliases are not usable.
14001 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
14002 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14003 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
14004 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
14005 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
14006 GOMP_loop_ordered_guided_next): Likewise.
14007 * ordered.c (GOMP_ordered_start): Likewise.
14008
140092005-08-01 Diego Novillo <dnovillo@redhat.com>
14010
14011 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
14012 * testsuite/libgomp.dg/omp_hello.c: Fix return code
14013 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
14014 * testsuite/libgomp.dg/omp_orphan.c: Likewise
14015 * testsuite/libgomp.dg/omp_reduction.c: Likewise
14016 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
14017 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
14018 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
14019 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
14020
140212005-07-07 Eric Christopher <echristo@redhat.com>
14022 Diego Novillo <dnovillo@redhat.com>
14023
14024 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
14025 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
14026 up code.
14027 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
14028 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
14029 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
14030 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
14031 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
14032 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
14033 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
14034
140352005-06-13 Diego Novillo <dnovillo@redhat.com>
14036
14037 * TOPLEVEL.patch: Remove.
14038
140392005-05-16 Richard Henderson <rth@redhat.com>
14040
14041 * configure.ac: Test for clock_gettime.
14042 * config.h.in, configure: Rebuild.
14043 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
14044 (omp_get_wtime): Use clock_gettime if available.
14045 (omp_get_wtick): Use clock_getres if available.
14046
140472005-05-11 Richard Henderson <rth@redhat.com>
14048
14049 * config/linux/ia64/futex.h: New file.
14050 * configure.tgt: Use it.
14051
14052 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
14053
140542005-05-07 Richard Henderson <rth@redhat.com>
14055
14056 * config/linux/powerpc/futex.h: New file.
14057 * configure.tgt: Use it.
14058
14059 * config/linux/i486/futex.h: Merge ...
14060 * config/linux/x86_64/futex.h: ... into ...
14061 * config/linux/x86/futex.h: ... here.
14062 * configure.tgt: Update to match.
14063
140642005-05-06 Richard Henderson <rth@redhat.com>
14065
14066 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
14067 * config/linux/i486/futex.h: Likewise.
14068 * config/linux/x86_64/futex.h: Likewise.
14069
14070 * config/linux/lock.c: New file.
14071 * config/linux/omp-lock.h: New file.
14072
14073 * critical.c, env.h: Don't include omp.h
14074 * config/posix/lock.c: Include libgomp.h instead of omp.h.
14075 * config/posix/time.c: Likewise.
14076 * config/posix/omp-lock.h: New file.
14077 * libgomp.h: Include omp-lock.h and omp.h.
14078 * Makefile.am (nodist_include_HEADERS): New.
14079 (omp.h): New rule.
14080 * configure.ac (PERL): New.
14081 * mkomp_h.pl: New file.
14082 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
14083 with templates.
14084 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
14085
14086 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
14087 build directory. Re-add -march=i486 hack.
14088
14089 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
14090 (libgomp_link_flags): Remove.
14091 (libgomp_initialized): Remove.
14092 (libgomp_init): Don't protect from reinitialization. Copy code
14093 from libstdc++ for getting the multilib set correctly.
14094
140952005-05-05 Richard Henderson <rth@redhat.com>
14096
14097 * config/linux/alpha/futex.h: New file.
14098 * configure.tgt (alpha*-*-linux*): Use it.
14099
14100 * config/posix/mutex.c: New file.
14101 * config/posix/sem.c: Use libgomp.h.
14102
14103 * configure.tgt (x86_64-linux): Also test CC for -m32.
14104 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
14105
a1daed2d 14106 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
14107 after $gccpath.
14108
14109 * Makefile.am (SUBDIRS): New.
14110 (libgomp_la_LDFLAGS): Add -lpthread.
14111 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
14112 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
14113
14114 * libgomp_g.h: New file.
14115 * libgomp.h: Split out all public declarations to libgomp_g.h.
14116 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
14117 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
14118 * config/linux/sem.h: Likewise.
14119 * config/posix/sem.h: Likewise.
14120
14121 * Makefile.am (AM_LDFLAGS): New.
14122 (libgomp_version_script): Split out from ...
14123 (libgomp_la_LDFLAGS): ... here.
14124 (libgomp_version_info): New.
14125 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
14126 (LIBGOMP_ENABLE): New.
14127 (LIBGOMP_CHECK_LINKER_FEATURES): New.
14128 (LIBGOMP_ENABLE_SYMVERS): New.
14129 * configure.ac (AC_INIT): Version 1.0.
14130 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
14131 (enable-linux-futex): Likewise. Rename from enable-futex.
14132 (libtool_VERSION): New.
14133 (LIBGOMP_ENABLE_SYMVERS): Use it.
14134 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
14135 * Makefile.in, aclocal.m4, configure: Rebuild.
14136
14137 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
14138 (gomp_mutex_unlock_slow): Fix typo.
14139 * config/linux/sem.c: Similarly.
14140 (gomp_sem_post_slow): Fix typo.
14141 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
14142 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
14143 [__PIC__] (sys_futex0): Don't use tmp output in asm.
14144
14145 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
14146 (libgomp_la_LDFLAGS): Add top_srcdir to path.
14147 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
14148 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
14149 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
14150 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
14151 LDFLAGS. Pull enable_futex check to top-level.
14152 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
14153 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
14154
14155 First attempt at real configury.
14156 * Makefile, config.h: Remove file.
14157 * Makefile.am, Makefile.in: New file.
14158 * acinclude.m4 aclocal.m4: New file.
14159 * configure.ac, configure.tgt, configure: New file.
14160
14161 * config/posix/lock.c: Rename from sys-lock.c.
14162 * config/posix/mutex.h: Rename from sys-mutex.h.
14163 * config/posix/sem.c: Rename from sys-sem.c.
14164 * config/posix/sem.h: Rename from sys-sem.h.
14165 * config/posix/proc.c: Rename from sys-proc.c.
14166 * config/posix/time.c: Rename from sys-proc.c.
14167
14168 * config/linux/mutex.c: New file.
14169 * config/linux/mutex.h: New file.
14170 * config/linux/sem.c: New file.
14171 * config/linux/sem.h: New file.
14172 * config/linux/i486/futex.h: New file.
14173 * config/linux/x86_64/futex.h: New file.
14174
141752005-05-04 Richard Henderson <rth@redhat.com>
14176
14177 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
14178 * libgomp.h: Declare them.
14179 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
14180 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
14181
141822005-05-04 Richard Henderson <rth@redhat.com>
14183
14184 * libgomp-1 code drop
14185
141862005-05-04 Richard Henderson <rth@redhat.com>
14187
14188 * iter.c (gomp_iter_static_next): Return tri-state on 0.
14189 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
14190 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
14191 (gomp_iter_static_next): Update.
14192 (gomp_ordered_static_next): Update.
14193 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
14194 (gomp_loop_ordered_static_start): Likewise. Exit early for a
14195 totally empty range.
14196 (gomp_loop_ordered_static_next): Refine test for calling
14197 gomp_ordered_static_next.
14198 * testsuite/ordered-1.c: Add case for more threads than iterations.
14199
14200 * iter.c (gomp_iter_runtime_next_locked): Remove.
14201 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 14202 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
14203 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
14204 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
14205 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
14206 gomp_loop_ordered_guided_next): Downcase name, make static, add
14207 an external alias with the old name.
14208 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
14209 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
14210 switch and call one of the above static functions.
14211 * libgomp.h: Update.
14212
14213 * work.c (gomp_work_share_start): Lock the mutex for !first too.
14214 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
14215 GOMP_loop_guided_start, GOMP_loop_runtime_start,
14216 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14217 GOMP_loop_ordered_guided_start): Update to match.
14218 * sections.c (GOMP_sections_start): Likewise.
14219 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
14220
14221 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
14222 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
14223 Use bounds check instead of modulus.
14224 (gomp_ordered_sync): Split out of GOMP_ordered_start.
14225 (gomp_ordered_last): Don't sync with ordered_owner here.
14226 (gomp_ordered_next): Likewise.
14227 (gomp_ordered_static_loop_next): Likewise.
14228 * loop.c, libgomp.h: Update to match.
14229
14230 * libgomp.h (GOMP_barrier): Declare.
14231
14232 * testsuite/barrier-1.c: New file.
14233 * testsuite/critical-1.c: New file.
14234 * testsuite/ordered-2.c: New file.
14235 * testsuite/ordered-1.c: New file.
14236 * testsuite/sections-1.c: New file.
14237 * testsuite/single-1.c: New file.
14238 * testsuite/Makefile (TESTS): Add them.
14239
142402005-05-04 Richard Henderson <rth@redhat.com>
14241
14242 * libgomp.h (struct gomp_work_share): Add ordered_owner.
14243 * loop.c (GOMP_loop_static_start): If not the startup thread,
14244 acquire the mutex to wait for initialization complete.
14245 (GOMP_loop_ordered_static_start): Likewise.
14246 (GOMP_loop_ordered_runtime_start): Likewise.
14247 (GOMP_loop_ordered_static_first): Remove.
14248 (GOMP_loop_ordered_dynamic_first): Remove.
14249 (GOMP_loop_ordered_guided_first): Remove.
14250 (GOMP_loop_ordered_runtime_first): Remove.
14251 * ordered.c (gomp_ordered_loop_first): Post to own release when
14252 we're the first thread.
14253 (gomp_ordered_loop_last): Wait on release if not owner.
14254 (gomp_ordered_loop_next): Likewise.
14255 (gomp_ordered_static_loop_init): New.
14256 (gomp_ordered_static_loop_next): Use ordered_owner.
14257 (GOMP_ordered_start): Likewise.
14258 * work.c (gomp_new_work_share): Initialize ordered_owner.
14259
142602005-05-03 Richard Henderson <rth@redhat.com>
14261
14262 * Makefile (OPT): New.
14263 (CFLAGS): Use it.
14264
14265 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
14266 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
14267 * libgomp.h, libgomp.map, NOTES: Update to match.
14268
14269 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
14270 Add initialized and thr members.
14271 (gomp_thread_start): Pause when initially spawned to wait for
14272 the whole team to be created.
14273 (gomp_team_start): Release team members at the end.
14274
14275 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
14276 (f_foo_1): Use GOMP_loop_end.
14277 (f_foo_2): Use GOMP_loop_end_nowait.
14278
14279 * testsuite/loop-2.c: New file.
14280 * testsuite/Makefile (TESTS): Add it.
14281
142822005-05-03 Richard Henderson <rth@redhat.com>
14283
14284 * iter.c (gomp_iter_static_next): Fix overflow check typo.
14285 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
14286 * team.c (new_team): Initialize oldest_live_gen to 1 if no
14287 initial work_share.
14288
14289 * testsuite/Makefile: New file.
14290 * testsuite/loop-1.c: New file.
14291
142922005-05-03 Richard Henderson <rth@redhat.com>
14293
14294 Initial implementation and checkin.
21fa2a29 14295\f
8d9254fc 14296Copyright (C) 2005-2020 Free Software Foundation, Inc.
21fa2a29
JJ
14297
14298Copying and distribution of this file, with or without modification,
14299are permitted in any medium without royalty provided the copyright
14300notice and this notice are preserved.